API приёма аккаунтов
Через этот API вы отправляете аккаунты — куки или auth_token —
с привязкой к Telegram-ID продавца. Мы автоматически проверяем их и оформляем заявку,
как при ручной загрузке боту.
Обзор
Один запрос — один или несколько аккаунтов одного продавца. Мы извлекаем
auth_token из присланных данных, проверяем живость и подписчиков,
отсекаем дубли и создаём заявку на указанный tg_id. Проверка идёт в фоне —
запрос возвращается сразу.
Базовый адрес
Авторизация
Каждый запрос должен содержать API-ключ в заголовке. Ключ выдаётся отдельно.
X-Api-Key: ВАШ_КЛЮЧ
Альтернатива: Authorization: Bearer ВАШ_КЛЮЧ или параметр
?key=ВАШ_КЛЮЧ в URL. Без ключа или с неверным —
401 unauthorized.
Проверка доступности
Проверка, что сервис жив. Ключ не требуется.
# ответ
{ "ok": true, "service": "buyer-intake" }
Приём аккаунтов
Тело — JSON. Заголовки: Content-Type: application/json и
X-Api-Key.
Поля запроса
| Поле | Тип | Описание | |
|---|---|---|---|
tg_id | число | обязательно | Telegram-ID продавца, которому засчитать аккаунты |
cookies | строка / список | одно из | Куки аккаунта(ов). auth_token (40 hex-символов) вытаскивается из строки любого формата |
tokens | строка / список | одно из | Альтернатива cookies: сразу auth_token — один или списком |
name | строка | опционально | Метка продавца (например @nickname), если его ещё нет в базе |
Нужно передать хотя бы одно поле с токенами. Также принимаются
cookie, token, text, data —
auth_token находится автоматически, лишние куки (ct0 и прочие) игнорируются.
Пример: один аккаунт
curl -X POST https://twitswag.sbs/api/intake \
-H "X-Api-Key: ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"tg_id": 123456789,
"name": "@seller",
"cookies": "auth_token=abcdef0123456789abcdef0123456789abcdef01; ct0=..."
}'
Пример: несколько аккаунтов одного продавца
curl -X POST https://twitswag.sbs/api/intake \
-H "X-Api-Key: ВАШ_КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{
"tg_id": 123456789,
"tokens": [
"abcdef0123456789abcdef0123456789abcdef01",
"1234567890abcdef1234567890abcdef12345678"
]
}'
Пример на Python
import requests
requests.post(
"https://twitswag.sbs/api/intake",
headers={"X-Api-Key": "ВАШ_КЛЮЧ"},
json={
"tg_id": 123456789,
"name": "@seller",
"cookies": "auth_token=abcdef0123456789abcdef0123456789abcdef01; ct0=...",
},
timeout=15,
)
Ответы
Успех — 202 Accepted. Запрос принят, проверка идёт в фоне.
{ "ok": true, "accepted": 2, "tg_id": 123456789 }
accepted — сколько уникальных auth_token извлечено из запроса.
Коды ошибок
| Код | error | Причина |
|---|---|---|
| 400 | missing_tg_id | нет или некорректный tg_id |
| 400 | no_tokens | в запросе не найдено ни одного auth_token |
| 400 | bad_json | тело не разобралось как JSON |
| 401 | unauthorized | нет или неверный API-ключ |
| 413 | bad_length | тело больше 8 МБ |
Как это работает
- Один продавец — один
tg_id. Аккаунты засчитываются на баланс именно этого Telegram-ID. - Пачки склеиваются. Много запросов подряд по одному
tg_idобъединяются в одну заявку и проверяются разом — можно слать по одному аккаунту. - Антидубль. Ранее присланный
auth_tokenили тот же аккаунт по @handle повторно не оплачивается — дубли просто отсекаются. - 202 не значит «оплачено». Это «принято в проверку». Живость и подписчиков проверяем мы, цену выставляет админ. Итог продавец видит в боте.
auth_token — это 40 hex-символов.
Присылайте в любом виде: строкой куков, чистым токеном или списком — парсер найдёт сам.