Перейти к основному содержимому

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

Shop API поддерживает Telegram Stars, Telegram Premium, пополнения игр/аккаунтов и цифровые коды. Запросы отправляются с вашего сервера в JSON; все суммы — в USD.

:::info Публикация перед запуском

Документация описывает реализованный API. Публичный деплой и сквозное тестирование на рабочем окружении — следующий этап. ID, названия и цены в примерах условные; актуальные значения получайте из каталога.

:::

1. Подготовьте интеграцию​

Создайте интеграцию Shop API в дашборде и откройте настройки. Понадобятся:

  • api_key_id — числовой ID интеграции.
  • X-Api-Key — секретный API-ключ.

Перед покупкой пополните баланс интеграции. Храните ключ на бекенде, не размещайте в браузере, открытом репозитории или приложении, распространяемом среди клиентов. При сбросе ключа в дашборде для следующих запросов нужен новый ключ.

2. Проверьте баланс​

Базовый адрес: https://shop-api.adaptgroup.pro.

Все десять публичных маршрутов используют POST, Content-Type: application/json, заголовок X-Api-Key и api_key_id в теле JSON.

curl --request POST 'https://shop-api.adaptgroup.pro/balance/check' \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: YOUR_API_KEY' \
--data '{"api_key_id":1}'

Пример ответа:

{
"success": true,
"api_key_id": 1,
"balance": "25.0000",
"currency": "USD",
"balance_updated_at": "2026-09-26T12:00:00"
}

Денежные значения передаются десятичными строками. Для расчётов используйте десятичную арифметику, а не двоичный float. Время — UTC; у дат заказа и баланса может отсутствовать суффикс часового пояса.

3. Выберите модуль​

МодульЧто покупаемОткуда брать параметры
starsОт 50 до 100000 Telegram StarsЦена одной звезды из /modules/list; username получателя
tg_premiumTelegram Premium на 3, 6 или 12 месяцевЦены из /modules/list; username получателя
topupsНоминал пополнения игры/аккаунта/catalog/list → /catalog/details → /catalog/nominal
codesНоминал цифрового кодаТе же маршруты каталога; получатель не нужен

Каталог содержит товары, настроенные на платформе, а не весь каталог поставщика. item_id обозначает товар, nominal_id — конкретный номинал внутри него. Используйте ID, которые возвращает этот API.

4. Проверьте, рассчитайте и купите​

  1. Для Stars, Premium и пополнений соберите данные получателя и вызовите Проверку получателя. Для кодов этот шаг не нужен.
  2. Через Расчёт цены получите текущую итоговую сумму.
  3. Один раз вызовите Создание заказа для нужной покупки. Актуальная цена спишется автоматически; цену передавать не нужно.
  4. Сохраните order_id. Получите результат через Статус заказа или Вебхуки.

Примеры по модулям, работа с полями и неопределённым результатом — на странице Процесс покупки.

Ограничения и ошибки​

Общий лимит интеграции — 100 запросов за 60 секунд по всем публичным маршрутам. У разных интеграций отдельные счётчики. При превышении возвращается HTTP 429; отдельных лимитов на каждый маршрут нет.

Лишние поля запроса запрещены. Целые числа передавайте JSON-числами, а ID клиента и данные получателя — строками там, где это указано. Вариант запроса определяется полем module.

HTTP-статусЗначение
200Получен результат операции. Учитывайте success, status, valid и supported в зависимости от маршрута
400Отказ по условиям покупки: недостаточный баланс, недоступный номинал, неверный получатель или количество
401Нет ключа, ключ или ID неверны, интеграция отключена
404Товар, номинал или заказ не найден
422Ошибка валидации запроса
429Превышен лимит запросов
500Непредвиденная ошибка сервера
502, 503, 504Некорректный ответ внешнего сервиса, временная недоступность или таймаут

У большинства ошибок detail — строка:

{"detail":"Insufficient balance"}

У ошибок валидации detail — массив:

{
"detail": [
{
"type": "greater_than_equal",
"loc": ["body", "api_key_id"],
"msg": "Input should be greater than or equal to 1",
"input": 0,
"ctx": {"ge": 1}
}
]
}

При ошибке создания detail может содержать order_id. Сохраните его и проверьте заказ. Не повторяйте покупку автоматически после таймаута, обрыва соединения или неопределённого ответа. Подробнее — в Процессе покупки.

Спецификация API​

Скачать OpenAPI на русском · Скачать OpenAPI на английском

Оба файла описывают одинаковые маршруты, поля и ограничения. Отличается только язык документации; параметра языка в публичных запросах API нет.

© 2026 AdaptGroup LLC. All rights reserved.
30 N Gould St Ste R, Sheridan, WY 82801, USA
Back to top