Поиск получателя и кэш
Проверка username перед заказом.
GET /v1/recipients/lookup?username=durov&product=PREMIUM&months=3{ "username": "durov", "found": true, "name": "Pavel Durov", "photoUrl": "https://…", "eligible": true }usernameпринимается в формахdurov,@Durov,https://t.me/durov: мы приводим его к нижнему регистру и отрезаем@и ссылку.product:STARS(по умолчанию) илиPREMIUM; для Premium обязателенmonths(3,6или12), так проверяется, можно ли подарить (на активный Premium подарить нельзя, будетeligible: false). Для Starseligibleсовпадает сfound.found: falseэто обычный ответ200, а не ошибка. На некорректный username ответ400(-9202), на Premium безmonthsтоже400(-9203).- Если поставщик сейчас недоступен (нет рабочего аккаунта или все упёрлись в лимит), ответ будет
502(-9006): повторите через несколько секунд. - Показывайте покупателю имя и аватар до оплаты: это снимает большинство ошибок «не тот username».
Кэш
Результаты кэшируются: найденные на 15 минут, ненайденные на 2 минуты. Одновременные одинаковые запросы склеиваются в один запрос к поставщику. Поэтому повторный lookup дешёвый, а POST /v1/orders сразу после lookup не ходит к поставщику ещё раз.
Если пользователь только что создал или сменил username, подождите пару минут: отрицательный результат ещё может быть в кэше.
Лимит
120 поисков в минуту на Project (вместо общего лимита ключа: поиски в 600 запросов ключа не считаются). Не проверяйте username на каждое нажатие клавиши, делайте debounce от 300 до 500 мс.
Finds a Telegram user at the supplier (cached: 15 minutes when found, 2 minutes when not found).
found: false is not an error. For Premium, eligible: false means it cannot be gifted (for example, Premium is already active).
Limit: 120 requests per minute per project.
Authorization
apiKey ifk_<clientId>_<secret>, for example ifk_48aa52d67c0fef6decb05b36_lVlZSWKN43sgb2vfEpFbqtzQ0ePNZya6yZr-RmJ4wxo
In: header
Query Parameters
durov, @durov or https://t.me/durov
1 <= length <= 100"STARS"Value in
- "STARS"
- "PREMIUM"
For PREMIUM: 3, 6 or 12
Value in
- 3
- 6
- 12
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/recipients/lookup?username=string"{ "success": true, "data": { "username": "durov", "found": true, "name": "Pavel Durov", "photoUrl": "https://cdn4.telesco.pe/file/durov.jpg", "eligible": true }, "meta": { "requestId": "9f1c2b7e-3a4d-4e5f-8a6b-7c8d9e0f1a2b", "timestamp": "2026-10-06T09:15:22.481Z", "processingTimeMs": 38 }}