API-пайплайн: публиковать ваши посты в группах в темпе, заданном их трафиком, и следить за отправленным и удалённым

Индекс: API-пайплайны — индекс · Жизненный цикл: API-пайплайн: создать, настроить, запустить, остановить, измерить и удалить Telegram-кампанию любого вида

Цель: ваши оракулы публикуют ваши посты в списке групп, каждую группу — в темпе её собственного трафика, а вы следите за тем, что отправлено, удалено и получило ответы. На ответы к вашим постам оракул отвечает по вашей агенде.

Шаги

1. Создать (Paused).

POST /v0/my/campaigns
Idempotency-Key: ann-villas-1
{"title": "Villa offers", "kind": "mtproto_announcements", "project_nonce": "<Pro project>",
 "posts": ["<post or posts workspace>"], "tg_groups": ["<preset nonce>"], "oracles": ["<oracle nonce>"],
 "agenda": "<swappable agenda>", "speed": "medium", "mode": "linear", "forward": false, "join_missing": false}
→ {"nonce": "470380000000000001", "kind": "mtproto_announcements", "status": "Paused", …}

2. Запустить. POST /v0/my/campaigns/470380000000000001/start → {"success": true, "status": "Active", "is_active": true}.

3. Следить.

GET /v0/my/campaigns/470380000000000001/sends?page=1&limit=50
→ {"rows": [{"username": "example_group", "message_id": 17552, "post": "…", "oracle": "…",
             "sent_at": "…", "deleted_at": null, "replied_at": "…", "replies": 2}], "total": 56, "has_more": true, …}
GET /v0/my/campaigns/470380000000000001/performance
→ {"totals": {"sent": 56, "deleted": 33, "replied": 3, "groups": 39, "oracles": 2, …}, "timeline": […], "groups": […]}

Фактически отправленные посты также хранятся в sent_posts_workspace кампании.

4. Остановить. POST …/stop. Кампания работает, пока вы её не остановите.

За кадром

Правила

Поверхность API

Эндпоинт Назначение FE ИИ / оракул
POST /v0/my/campaigns (kind: mtproto_announcements) Создать да да
PATCH /v0/my/campaigns/{nonce} Посты, группы, оракулы, агенда, speed, mode, forward, join_missing да да
POST /v0/my/campaigns/{nonce}/start, /stop Запустить / остановить да да
GET /v0/my/campaigns/{nonce}/sends Каждое отправленное сообщение: удалено, есть ответы да да
GET /v0/my/campaigns/{nonce}/performance Итоги, динамика, по группам да да, отчёты

Упомянуто