iFragment

Быстрый старт

Первый заказ Telegram Stars через iFragment API за 5 минут.

iFragment: платформа выдачи Telegram Stars и Premium. Вы создаёте заказ через REST API, платформа выполняет его через изолированные Supplier Accounts и присылает итог вебхуком.

1. Получите ключ

Ключ выдаётся на Project, то есть интеграцию внутри вашего аккаунта (например, отдельно «бот» и «сайт»). Ключ выпускается в портале разработчика: войдите через Google или Telegram, заполните анкету подключения (проект, где он работает, регион, почта) - компания и первый Project создадутся сразу, - и выпустите в нём ключ. Ключ показывается один раз:

ifk_48aa52d67c0fef6d_lVlZSWKN43sgb2vfEpFbqtzQ0ePNZya6yZr

Подробнее: Аутентификация.

2. Проверьте получателя

curl "https://api.ifragment.com/v1/recipients/lookup?username=durov&product=STARS" \
  -H "X-API-Key: $IFRAGMENT_KEY"
{
  "success": true,
  "data": { "username": "durov", "found": true, "name": "Pavel Durov", "photoUrl": "https://…", "eligible": true },
  "meta": { "requestId": "…", "timestamp": "…", "processingTimeMs": 12 }
}

3. Создайте заказ

curl -X POST https://api.ifragment.com/v1/orders \
  -H "X-API-Key: $IFRAGMENT_KEY" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{ "product": "STARS", "quantity": 500, "username": "durov", "externalId": "1042" }'
{
  "success": true,
  "data": {
    "id": "0199a1b2-6f00-7abc-9def-112233445566",
    "externalId": "1042",
    "product": "STARS",
    "quantity": 500,
    "months": null,
    "username": "durov",
    "recipientName": "Pavel Durov",
    "status": "QUEUED",
    "price": "8.25",
    "currency": "USD",
    "failure": null,
    "createdAt": "2026-09-26T10:15:30.000Z",
    "sentAt": null,
    "completedAt": null
  },
  "meta": { "requestId": "…", "timestamp": "…", "processingTimeMs": 48 }
}

Ответ 201: заказ в статусе QUEUED, его цена уже заблокирована на балансе. externalId это id заказа в вашей системе: по нему заказ можно найти, и второй заказ с тем же externalId не создастся.

4. Дождитесь результата

Лучше всего подходит вебхук order.succeeded / order.failed. Для простых интеграций подойдёт опрос GET /v1/orders/{id} раз в несколько секунд до конечного статуса (SUCCEEDED или FAILED).

Основы

  • База: https://api.ifragment.com, версия в пути: /v1.
  • Все ответы приходят в JSON-конверте { success, data, meta }, ошибки в конверте { success: false, error, meta }, см. Ошибки.
  • Язык сообщений об ошибках задаёт заголовок Accept-Language: uz | ru | en.
  • Суммы передаются строками в долларах США ("1.65", "0.0165"), чтобы не терять точность; не переводите их во float для расчётов.
  • Время в формате ISO 8601, в UTC.

На этой странице