Получить очередь задач для пользователя
Единственный endpoint, нужный боту-партнёру. Возвращает следующую партию задач для конкретного пользователя — действие определяется полем action: «subscribe» (стандартный OP-гейт), «task» (OP перед каждой задачей с автосбросом кеша после подтверждения), «view» (пост-экшн рекламный пост) или «boost» (Telegram-буст). Платформа сама верифицирует Telegram и фиксирует+оплачивает выполненные подписки на каждом вызове — отдельных verify-запросов не требуется.
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
chat_id | int | yes | ID чата с пользователем (обычно равен user_id для личных). |
user_id | int | yes | Telegram user ID, для которого подбираем задачи. |
language_code | string | no | Код языка пользователя — uz / ru / en. |
action | string | no | Какую задачу подбираем. «subscribe» (по-умолчанию) — список спонсоров закрепляется за пользователем на cache_minutes; верификация — повторными вызовами с тем же user_id. «newtask» — без кеша: каждый вызов пересобирает список с нуля; проверять статус следует через /get-user-subscriptions. «task» — гибрид: тот же набор, но кеш сбрасывается, как только все подписки подтверждены, так что следующий вызов сразу подберёт новых спонсоров. «view» — пост-экшн с серверной доставкой: Swiptor САМ отправит рекламный пост в chat_id через токен вашего бота, ответ — числовой SendPostResult (0..11). Запросы Telegram-буста автоматически подмешиваются в sponsors[] для Premium-пользователей при subscribe/newtask/task — отдельного action для этого нет. |
get_links | bool | no | Только для action=subscribe|task. Если true — в ответе вернётся sponsors[] с готовыми ссылками; иначе бот сам шлёт OP-сообщение через свой токен. |
curl -X POST https://api.swiptor.com/api/v1/publisher/get-tasks \
-H "Auth: API_..." \
-H "Content-Type: application/json" \
-d '{
"chat_id": 123456,
"user_id": 123456,
"language_code": "ru",
"action": "subscribe",
"get_links": true
}'// action=subscribe | newtask | task — orders + бусты (для Premium) вместе
{
"status": "warning",
"code": "SUBSCRIPTIONS_REQUIRED",
"sponsors": [
{
"order_id": "8421",
"resource_id": "-1001234567",
"type": "channel",
"link": "https://t.me/+AbCdEfGhIj",
"status": "unsubscribed",
"available_now": true,
"button_text": "Подписаться",
"resource_name": "Krypta News",
"resource_logo": "https://swiptor.com/logos/ch_1024.png"
}
]
}
// action=view — серверная доставка через токен вашего бота
// SendPostResult enum:
// 0 Undefined · 1 Success · 2 RevokedTokenError
// 3 UserForbiddenError · 4 ToManyRequestsError · 5 OtherBotApiError
// 6 OtherError · 7 AdLimited · 8 NoAds
// 9 BotIsNotEnabled · 10 Banned · 11 InReview
{
"status": "ok",
"code": "SEND_POST_RESULT",
"SendPostResult": 1
}
// нечего показывать (для subscribe/newtask/task)
{ "status": "ok", "code": "OK" }