API-пайплайн: настроить виджет Cabi.Chat, который ведёт ИИ Cabi.Chat

Индекс: API-пайплайны — индекс

Цель: виджет Cabi.Chat отвечает людям в своих комнатах Cabi.Chat по вашей агенде. Его запускает Cabi.Chat; ни сервер, ни токен с вашей стороны не нужны. Что такое виджет и кто может до него дотянуться: Cabi.Chat Oracles — виджет Cabi.Chat

Шаги

1. Нужна агенда с инструкциями виджета: API-пайплайн: написать агенду для своих оракулов

2. Создать.

POST /v0/my/oracles
Idempotency-Key: widget-bakery-1
{"kind": "cabi_widget", "hosting": "platform", "title": "Bakery desk",
 "agenda": "<agenda nonce>", "project": "<project nonce>",
 "visibility": "Public", "publicity": "Ecosystem",
 "permissions": {"read": true, "write": false, "execute": false}}
→ {"nonce": "470000000000000003", "card_type": "oracle", "kind": "cabi_widget", "status": "STOPPED", …}

3. Запустить.

POST /v0/my/oracles/470000000000000003/start
→ {"success": true, "status": "ACTIVE"}

4. Человек открывает разговор с ним, войдя в Cabi.Chat. Он говорит от имени своего первого проекта, поэтому нужен хотя бы один проект:

POST /v0/my/rooms/widget
{"widget": "470000000000000003"}
→ {"nonce": "470000000000000700", "card_type": "room", …}

Комната — это личный чат человека с виджетом, с ветками, когда topics_in_private включён. Тот же вызов возвращает существующую комнату, если она есть. Дальше он пишет через POST /v0/my/rooms/{ident}/talk/send {"text": "…"}, и виджет отвечает в комнате. Чтение и ответы в комнатах: API-пайплайн: читать разговоры и отвечать в них

5. Следите за разговорами. Все комнаты вашего виджета есть в GET /v0/my/rooms. Вы можете писать в них сами: от имени своего проекта, если собеседник — один из ваших проектов, иначе от имени виджета: API-пайплайн: управлять разговорами ваших оракулов — выключать и включать слушателя, закрывать хендофф, задавать агенду комнаты, просить оракула продолжить

Правила

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

Эндпоинт Назначение FE ИИ / оракул
POST /v0/my/oracles Создать виджет да да
PATCH /v0/my/oracles/{nonce} Агенда, проект, название, видимость, topics_in_private да да
POST /v0/my/oracles/{nonce}/start, /stop Запустить / остановить да да
POST /v0/my/rooms/widget Открыть разговор с виджетом только Ассистент Cabi.Chat да
GET /v0/my/rooms Разговоры виджета да да
POST /v0/my/oracles/{nonce}/regenerate-token Новый токен, его хранит Cabi.Chat нет нет
DELETE /v0/my/oracles/{nonce} Остановить и удалить да редко

Упомянуто