Scope и endpoint: диалоги и сообщения
Обновлено: 11 ноября 2026 · 11 мин чтения
Scope для чтения, изменения и назначения диалогов и отправки сообщений. Номер диалога в API ({conversation_id}) совпадает с номером в панели. В объектах синхронизации id это внутренний ID, а номер из панели лежит в поле number.
Шаги
-
1
Как читать эту статью
- Пути пишутся после
https://api.clomni.ai/v1:GET /v1/agentsозначаетhttps://api.clomni.ai/v1/agents. В пути нет ID workspace, потому что токен привязан к одному workspace. - В каждом запросе есть заголовок
Authorization: Bearer clomni_pat_xxx. Как получить токен: Токены и аутентификация в Developer API. - Риск: низкий (нет персональных данных), средний (читает данные клиентов или меняет внутренние данные), высокий (отправляет клиентам, удаляет, массово выгружает, меняет рабочие настройки).
- Каждый scope проходит review, в public app тоже. Подробнее: Review: проверка scope и причины отказа.
- «Дополнительно даёт»:
writeиmanageдают иreadтого же ресурса.send,delete,publish,assign,runничего не дают. - Если endpoint открывается несколькими scope, достаточно одного. Без scope API отвечает 403
insufficient_scope, в ответе естьrequired_scopes. - Каждый POST принимает заголовок
Idempotency-Key: повторный запрос не выполняется дважды.
- Пути пишутся после
-
2
Читать диалоги (conversations:read)
Читает диалоги: статус, назначение, команду, метки, пользовательские поля, последнее сообщение. С ним работают список, поиск, фильтр, счётчики и синхронизация (
/v1/sync/conversations). Вебхукиconversation.*тоже требуют его. Для полного текста сообщений нужен ещёmessages:read.- Риск: средний.
- Проверка: проходит review. Конкретно напишите, какие данные, когда и зачем Вы используете.
- Дополнительно даёт: ничего больше.
Endpoint:
GET /v1/contacts/{contact_id}/conversations: Диалоги контактаGET /v1/conversations: Список диалоговPOST /v1/conversations/filter: Фильтр диалоговGET /v1/conversations/meta: Количество диалогов по назначениюGET /v1/conversations/search: Поиск диалоговGET /v1/conversations/{conversation_id}: Получить диалогGET /v1/conversations/{conversation_id}/labels: Метки диалогаGET /v1/conversations/{conversation_id}/participants: Участники диалогаGET /v1/search/conversations: Поиск диалогов (общий поиск)GET /v1/sync/conversations: Синхронизация диалогов
Пример:
curl "https://api.clomni.ai/v1/conversations?status=open&assignee_type=unassigned&page=1" \ -H "Authorization: Bearer clomni_pat_xxx"
curl "https://api.clomni.ai/v1/sync/conversations?updated_since=2026-11-10T00:00:00Z&limit=100" \ -H "Authorization: Bearer clomni_pat_xxx"
-
3
Менять диалоги (conversations:write)
Меняет статус диалога (открыт, решён, в ожидании, отложен), приоритет, метки и пользовательские поля, начинает новые диалоги, отмечает их прочитанными или непрочитанными. Чтобы начать диалог с первым сообщением, нужен ещё
messages:send. В тестовом канале этот scope работает ещё до review.- Риск: средний.
- Проверка: проходит review. Конкретно напишите, какие данные, когда и зачем Вы используете.
- Дополнительно даёт:
conversations:read.
Endpoint:
POST /v1/conversations: Начать диалогPATCH /v1/conversations/{conversation_id}: Изменить диалогPOST /v1/conversations/{conversation_id}/custom_attributes: Записать пользовательские поля диалогаPOST /v1/conversations/{conversation_id}/labels: Записать метки диалогаPOST /v1/conversations/{conversation_id}/mute: Отключить звук диалогаPOST /v1/conversations/{conversation_id}/toggle_priority: Изменить приоритет диалогаPOST /v1/conversations/{conversation_id}/toggle_status: Изменить статус диалогаPOST /v1/conversations/{conversation_id}/toggle_typing_status: Индикатор «печатает...»POST /v1/conversations/{conversation_id}/unmute: Включить звук диалогаPOST /v1/conversations/{conversation_id}/unread: Отметить диалог непрочитаннымPOST /v1/conversations/{conversation_id}/update_last_seen: Отметить диалог прочитаннымPOST /v1/test_channel/messages: Симуляция сообщения клиента (тестовый канал). Достаточноmessages:sendилиconversations:write, в тестовом канале работает ещё до review
Пример:
curl -X POST "https://api.clomni.ai/v1/conversations/1042/toggle_status" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"status": "resolved"}'curl -X POST "https://api.clomni.ai/v1/conversations/1042/labels" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"labels": ["заказ", "vip"]}' -
4
Назначать диалоги (conversations:assign)
Назначает диалог оператору или команде, добавляет участников, забирает диалог на владельца токена. Чтение не даёт: для списка диалогов нужен
conversations:read.- Риск: средний.
- Проверка: проходит review. Конкретно напишите, какие данные, когда и зачем Вы используете.
- Дополнительно даёт: ничего больше.
Endpoint:
POST /v1/conversations/{conversation_id}/assignments: Назначить диалогPOST /v1/conversations/{conversation_id}/participants: Добавить участников в диалогPATCH /v1/conversations/{conversation_id}/participants: Заменить участников диалогаDELETE /v1/conversations/{conversation_id}/participants: Убрать участников из диалогаPOST /v1/conversations/{conversation_id}/take: Взять диалог на владельца токена
Пример:
curl -X POST "https://api.clomni.ai/v1/conversations/1042/assignments" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"assignee_id": 12}'curl -X POST "https://api.clomni.ai/v1/conversations/1042/assignments" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"team_id": 3}' -
5
Удалять диалоги (conversations:delete)
Удаляет диалог. Отменить нельзя, поэтому риск высокий. Чтобы убрать в архив, лучше закройте диалог (
conversations:write).- Риск: высокий.
- Проверка: проходит review и проверяется внимательнее. Нужны подробное объяснение и короткое видео функции, целевой срок 2 рабочих дня.
- Дополнительно даёт: ничего больше.
Endpoint:
DELETE /v1/conversations/{conversation_id}: Удалить диалог
Пример:
curl -X DELETE "https://api.clomni.ai/v1/conversations/1042" \ -H "Authorization: Bearer clomni_pat_xxx"
-
6
Читать сообщения (messages:read)
Читает текст и файлы сообщений: сообщения диалога, файлы, поиск, синхронизацию сообщений, статус сообщения WhatsApp и 24-часовое окно. Вебхуки
message.createdиmessage.updatedтоже требуют этот scope.- Риск: средний.
- Проверка: проходит review. Конкретно напишите, какие данные, когда и зачем Вы используете.
- Дополнительно даёт: ничего больше.
Endpoint:
GET /v1/conversations/{conversation_id}/attachments: Файлы диалогаGET /v1/conversations/{conversation_id}/messages: Сообщения диалогаGET /v1/search/messages: Поиск сообщенийGET /v1/sync/messages: Синхронизация сообщенийGET /v1/whatsapp/messages/window: Проверить 24-часовое окно для номераGET /v1/whatsapp/messages/{message_id}: Статус сообщения WhatsApp
Пример:
curl "https://api.clomni.ai/v1/conversations/1042/messages" \ -H "Authorization: Bearer clomni_pat_xxx"
curl "https://api.clomni.ai/v1/sync/messages?updated_since=2026-11-10T00:00:00Z&limit=100" \ -H "Authorization: Bearer clomni_pat_xxx"
-
7
Отправлять сообщения (messages:send)
Отправляет клиенту сообщения в любом канале: ответ в диалоге, правку, реакцию, повтор неудачного сообщения, текст WhatsApp на номер. Отправка не даёт чтения: чтобы видеть диалог, нужен ещё
messages:read. Сообщение диалога сprivate: trueэто внутренняя заметка, ей нуженnotes:write, а сообщению сtemplate_paramsнуженmessages:send.template. В тестовом канале этот scope работает ещё до review.- Риск: высокий.
- Проверка: проходит review и проверяется внимательнее. Нужны подробное объяснение и короткое видео функции, целевой срок 2 рабочих дня. Дополнительно укажите, кто создаёт сообщения (человек, AI, автоматизация), сколько примерно сообщений уходит в день и как получено согласие на маркетинговые сообщения.
- Дополнительно даёт: ничего больше.
Endpoint:
POST /v1/conversations/{conversation_id}/messages: Отправить сообщение или написать внутреннюю заметку. Дляprivate: trueнуженnotes:write, дляtemplate_paramsнуженmessages:send.templatePATCH /v1/conversations/{conversation_id}/messages/{message_id}: Сообщить статус доставки сообщения (API-канал)PATCH /v1/conversations/{conversation_id}/messages/{message_id}/edit_content: Исправить отправленное сообщениеPOST /v1/conversations/{conversation_id}/messages/{message_id}/reaction: Реакция на сообщениеPOST /v1/conversations/{conversation_id}/messages/{message_id}/retry: Повторно отправить неудачное сообщениеPOST /v1/test_channel/messages: Симуляция сообщения клиента (тестовый канал). Достаточноmessages:sendилиconversations:write, в тестовом канале работает ещё до reviewPOST /v1/whatsapp/messages: Отправить сообщение WhatsApp на номер. Дляtemplateнуженmessages:send.template, дляfallback_templateнужныmessages:sendиmessages:send.template
Пример:
curl -X POST "https://api.clomni.ai/v1/conversations/1042/messages" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Idempotency-Key: 6f1c2a9e-3b7d-4f0a-9c55-0e8b1d2a7f41" \ -H "Content-Type: application/json" \ -d '{"content": "Здравствуйте, сегодня Ваш заказ передадут курьеру.", "content_attributes": {"client_echo_id": "crm-7f3a9c"}}' -
8
Отправлять шаблонные сообщения (messages:send.template)
Отправляет шаблонные сообщения WhatsApp: работает и вне 24-часового окна, Meta берёт плату за каждый шаблон. Нужен, когда в
POST /v1/whatsapp/messagesестьtemplateили в сообщении диалога естьtemplate_params. Сfallback_templateнужен вместе сmessages:send. Также открывает список одобренных шаблонов.- Риск: высокий.
- Проверка: проходит review и проверяется внимательнее. Нужны подробное объяснение и короткое видео функции, целевой срок 2 рабочих дня. Дополнительно укажите, кто создаёт сообщения (человек, AI, автоматизация), сколько примерно сообщений уходит в день и как получено согласие на маркетинговые сообщения.
- Дополнительно даёт: ничего больше.
Endpoint:
POST /v1/whatsapp/messages: Отправить сообщение WhatsApp на номер. Дляtemplateнуженmessages:send.template, дляfallback_templateнужныmessages:sendиmessages:send.templateGET /v1/whatsapp/templates: Одобренные шаблоны WhatsApp. Открывается и черезinboxes:read
Пример:
curl "https://api.clomni.ai/v1/whatsapp/templates?channel_id=5" \ -H "Authorization: Bearer clomni_pat_xxx"
curl -X POST "https://api.clomni.ai/v1/whatsapp/messages" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"channel_id": 5, "phone_number": "+994501234567", "template": {"name": "order_ready", "language": "az", "parameters": {"body": {"1": "Leyla", "2": "A-1042"}}}, "source_reference": "order-A-1042-ready"}' -
9
Удалять сообщения (messages:delete)
Помечает сообщение удалённым и удаляет его файлы. В WhatsApp QR сообщение также отзывается на телефоне клиента.
- Риск: высокий.
- Проверка: проходит review и проверяется внимательнее. Нужны подробное объяснение и короткое видео функции, целевой срок 2 рабочих дня.
- Дополнительно даёт: ничего больше.
Endpoint:
DELETE /v1/conversations/{conversation_id}/messages/{message_id}: Удалить сообщение
Пример:
curl -X DELETE "https://api.clomni.ai/v1/conversations/1042/messages/51240" \ -H "Authorization: Bearer clomni_pat_xxx"
-
10
Писать внутренние заметки (notes:write)
Пишет в диалог внутреннюю заметку (
private: true). Клиент её не видит. CRM, система заказов или Ваш бот оставляют так заметку оператору. Риск низкий.- Риск: низкий.
- Проверка: проходит review, scope с низким риском смотрят быстро.
- Дополнительно даёт: ничего больше.
Endpoint:
POST /v1/conversations/{conversation_id}/messages: Отправить сообщение или написать внутреннюю заметку. Дляprivate: trueнуженnotes:write, дляtemplate_paramsнуженmessages:send.template
Пример:
curl -X POST "https://api.clomni.ai/v1/conversations/1042/messages" \ -H "Authorization: Bearer clomni_pat_xxx" \ -H "Content-Type: application/json" \ -d '{"content": "CRM: VIP-клиент, оплата задерживается.", "private": true}' - 11