Amazi API

Чаты проектов

Создавайте чаты, управляйте ими, отправляйте сообщения и получайте результаты через API v1.

Перед началом

Используйте https://dev-api.amazi.pro/v1/projects/{projectId}/chats из своего сервера или автоматизации. ID проекта и чата можно взять из адреса страницы проекта; список чатов также возвращает их ID.

Создайте персональный API-токен с разрешениями chat:read и/или chat:write.

Список чатов по ID проекта

Отправьте GET /v1/projects/{projectId}/chats с токеном, у которого есть разрешение chat:read. Нужен только ID проекта; ID чата не требуется.

Задайте PROJECT_ID равным ID своего проекта, а AMAZI_API_TOKEN — своему персональному API-токену, затем выполните:

curl --fail-with-body "https://dev-api.amazi.pro/v1/projects/$PROJECT_ID/chats" \
  -H "Authorization: Bearer $AMAZI_API_TOKEN"

Ответ HTTP 200 содержит массив items с активными чатами проекта. Поле id каждого элемента — это chatId для остальных эндпоинтов. Если активных чатов нет, items будет пустым. Для получения архивных чатов вместо активных используйте GET /v1/projects/{projectId}/chats?archived=true. У этого списка нет параметров пагинации.

Операции с чатами

Ниже приведены полные пути на https://dev-api.amazi.pro. Замените {projectId} на ID своего проекта, а {chatId} — на ID чата из списка.

Метод и путьРазрешениеРезультат
GET /v1/projects/{projectId}/chatschat:readitems с активными чатами; archived=true выбирает архивные
POST /v1/projects/{projectId}/chatschat:writeСоздать пустой чат с {"title":"Automation"}; HTTP 201
GET /v1/projects/{projectId}/chats/{chatId}chat:readПолучить один чат
PATCH /v1/projects/{projectId}/chats/{chatId}chat:writeПереименовать с {"title":"New title"}
POST /v1/projects/{projectId}/chats/{chatId}/archivechat:writeАрхивировать чат
POST /v1/projects/{projectId}/chats/{chatId}/restorechat:writeВосстановить чат
GET /v1/projects/{projectId}/chats/{chatId}/messageschat:readitems и nextCursor; необязательный limit от 1 до 100
POST /v1/projects/{projectId}/chats/{chatId}/messageschat:writeОтправить текст; HTTP 202
GET /v1/projects/{projectId}/chats/{chatId}/queuechat:readОжидающие, передаваемые и неотправленные сообщения этого чата

Параметры запросов и схемы ответов приведены в справочнике Swagger API v1.

Отправка сообщения

curl --fail-with-body "https://dev-api.amazi.pro/v1/projects/$PROJECT_ID/chats/$CHAT_ID/messages" \
  -H "Authorization: Bearer $AMAZI_API_TOKEN" \
  -H "Idempotency-Key: $REQUEST_UUID" \
  -H "Content-Type: application/json" \
  -d '{"content":"Update the homepage"}'

Создавайте REQUEST_UUID один раз для каждого нового сообщения. После обрыва соединения повторяйте запрос с тем же UUID и неизменным телом. Сохранённое сообщение или оставшийся элемент очереди не создаётся повторно; повтор ключа с другим текстом или ответом отклоняется. Не повторяйте отправку сообщения, которое вы отменили в Amazi. Необязательное replyToMessageId должно указывать на сообщение этого чата. Версия 1 принимает текст до 100 000 символов; загрузка вложений и выбор модели через этот эндпоинт пока недоступны.

Проверка результата

Ответ содержит submissionId, chatId и disposition (queued или started). HTTP 202 подтверждает приём, а не завершение. Проверяйте очередь чата и историю сообщений. Если isAwaitingUser равно true, откройте Amazi для ответа на вопрос или запроса подключения. Действуют обычные права, доступность проекта, очередь при обслуживании и правила расхода кредитов.

Лимиты, ошибки и безопасность токена · Обзор API и обслуживание