API для реселерів

Один ендпоінт, форма з полями key та action. Сумісний зі стандартним API v2 SMM-панелей — готові модулі магазинів і білінгів підключаються без правок.
Швидкий старт
Адреса
https://telegos.app/api/v2
Метод
POST
Формат тіла
application/x-www-form-urlencoded
Відповідь
JSON, завжди зі статусом 200
Ключ передається полем key у тілі запиту — заголовок Authorization тут не використовується. Кабінет працює на окремому токені, тому скидання ключа не завершує вашу сесію в браузері.
Список послуг
Віддає весь прайс: id послуги для action=add, ціну за 1000 і межі обсягу.
ПолеЗначення
keyВаш ключ
actionservices
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=services
Відповідь
[
  {
    "service": 101,
    "name": "Telegram Members · CIS",
    "type": "Default",
    "category": "Telegram Members",
    "rate": "0.90",
    "min": "50",
    "max": "10000",
    "refill": true,
    "cancel": true
  }
]
Створити замовлення
Списує вартість з балансу одразу й повертає номер замовлення.
ПолеЗначення
keyВаш ключ
actionadd
serviceid послуги з action=services
linkПосилання на канал, пост або профіль
quantityОбсяг замовлення в межах min…max
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=add \
  -d service=101 \
  -d link=https://t.me/example \
  -d quantity=500
Відповідь
{
  "order": 23501
}
Інтервальне замовлення (drip-feed)
Ті самі поля плюс два: скільки запусків зробити і з якою паузою між ними. quantity тут — обсяг одного запуску, списується сума за всі запуски.
ПолеЗначення
runsКількість запусків
intervalПауза між запусками у хвилинах
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=add \
  -d service=101 \
  -d link=https://t.me/example \
  -d quantity=100 \
  -d runs=5 \
  -d interval=60
Відповідь
{
  "order": 23502
}
Статус замовлення
start_count — лічильник на момент старту, remains — скільки ще не долито.
ПолеЗначення
keyВаш ключ
actionstatus
orderНомер замовлення
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=status \
  -d order=23501
Відповідь
{
  "charge": "0.4500",
  "start_count": "3572",
  "status": "In progress",
  "remains": "157",
  "currency": "USD"
}
Статус кількох замовлень
До 100 номерів за запит. Відповідь — об’єкт за номером замовлення: неіснуючий приходить з error і не ламає решту.
ПолеЗначення
keyВаш ключ
actionstatus
ordersНомери через кому
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=status \
  -d orders=23501,23502,999999
Відповідь
{
  "23501": {
    "charge": "0.4500",
    "start_count": "3572",
    "status": "Completed",
    "remains": "0",
    "currency": "USD"
  },
  "23502": {
    "charge": "0.9000",
    "start_count": "1204",
    "status": "In progress",
    "remains": "300",
    "currency": "USD"
  },
  "999999": {
    "error": "Incorrect order ID"
  }
}
Долив
Доступний там, де послуга віддає refill: true. Хід доливу перевіряється окремою дією refill_status за її номером.
ПолеЗначення
keyВаш ключ
actionrefill / refill_status
orderНомер замовлення — для refill
refillНомер доливу — для refill_status
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=refill \
  -d order=23501
Відповідь
{
  "refill": 412
}
Скасування
Доступне там, де послуга віддає cancel: true. Гроші за скасоване повертаються на баланс.
ПолеЗначення
keyВаш ключ
actioncancel
ordersНомери через кому
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=cancel \
  -d orders=23501,23502
Відповідь
[
  { "order": 23501, "cancel": 1 },
  { "order": 23502, "cancel": { "error": "Incorrect order ID" } }
]
Баланс
ПолеЗначення
keyВаш ключ
actionbalance
Запит
curl -X POST https://telegos.app/api/v2 \
  -d key=ВАШ_КЛЮЧ \
  -d action=balance
Відповідь
{
  "balance": "19.61",
  "currency": "USD"
}
Статуси замовлень
СтатусЩо означає
PendingЗамовлення прийнято й чекає на відправлення виконавцю
In progressВиконання триває
ProcessingЗамовлення обробляється на боці виконавця
CompletedОбсяг долито повністю
PartialДолито частину обсягу, залишок повернуто на баланс
CanceledЗамовлення скасовано, списання повернуто
Помилки
Помилка приходить тим самим кодом 200 і відрізняється наявністю поля error: перевіряти треба тіло, а не статус відповіді. У пакетних діях помилка лежить усередині свого елемента й не скасовує решту.
Відповідь
{
  "error": "Incorrect request"
}