API-пайплайн: подключить своего Telegram-бота как оракула
Индекс: API-пайплайны — индекс
Цель: ваш собственный Telegram-бот (созданный через @BotFather) отвечает людям по выбранной вами агенде. Его размещает Cabi.Chat: свой сервер не нужен, а его разговоры попадают в ваш инбокс.
Шаги
1. Создать.
POST /v0/my/oracles
Idempotency-Key: oracle-shopbot-1
{"kind": "telegram_bot", "title": "Shop bot", "bot_token": "123456789:AAE…",
"agenda": "<agenda nonce>", "project": "<project nonce>"}
→ {"nonce": "470000000000000002", "card_type": "oracle", "kind": "telegram_bot", "status": "STOPPED", …}
bot_token: ровно в том виде, как его выдаёт @BotFather (<id>:<secret>). Он хранится как ключ и больше не показывается; чтобы сменить его, удалите оракула и создайте заново.agenda: обязательна; по чему отвечает бот (агенда, которой вы владеете или которую можете выполнять): API-пайплайн: написать агенду для своих оракулов
2. Запустить.
POST /v0/my/oracles/470000000000000002/start
→ {"success": true, "status": "ACTIVE"}
3. Общение. Люди, которые открывают вашего бота в Telegram и пишут ему, получают ответы по агенде. Каждый человек — одна комната: GET /v0/my/rooms. Как ими управлять: API-пайплайн: управлять разговорами ваших оракулов — выключать и включать слушателя, закрывать хендофф, задавать агенду комнаты, просить оракула продолжить
4. Остановить или удалить. POST …/stop → {"success": true, "status": "STOPPED"}; DELETE /v0/my/oracles/{nonce} останавливает бота и удаляет его сохранённый токен.
За кадром
- Пока бот запущен, Cabi.Chat получает его сообщения и отвечает на них; остановленный бот не отвечает.
- Бот может отвечать только тем, кто написал ему первым (правило Telegram).
- Каждый ответ — запуск ИИ; его стоимость видна в ваших расходах на ИИ: API-пайплайн: ваши расходы на ИИ. Цены: link
Правила
- Для работы нужен Pro-проект (вы им владеете или у вас есть x на него) или ваш единственный бесплатный слот оракула. Второй бесплатный → 400
your free oracle slot is used by … — stop it, or make this oracle's project Pro. - Нет агенды → 400
a platform-hosted oracle needs an agenda; токен неверного формата → 400bot_token must look like <id>:<secret>. - Создание требует
Idempotency-Key; повтор с тем же ключом отклоняется, а не воспроизводится. - start / stop требуют w на оракула (иначе 404).
PATCH /v0/my/oracles/{nonce}меняетtitle,agenda,project.
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
POST /v0/my/oracles |
Создать оракула-бота | да | да |
PATCH /v0/my/oracles/{nonce} |
Агенда, проект, название | да | да |
POST /v0/my/oracles/{nonce}/start, /stop |
Запустить / остановить | да | да |
GET /v0/my/rooms |
Разговоры бота | да | да |
DELETE /v0/my/oracles/{nonce} |
Остановить и удалить | да | редко |