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}/chats | chat:read | items с активными чатами; archived=true выбирает архивные |
| POST /v1/projects/{projectId}/chats | chat: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}/archive | chat:write | Архивировать чат |
| POST /v1/projects/{projectId}/chats/{chatId}/restore | chat:write | Восстановить чат |
| GET /v1/projects/{projectId}/chats/{chatId}/messages | chat:read | items и nextCursor; необязательный limit от 1 до 100 |
| POST /v1/projects/{projectId}/chats/{chatId}/messages | chat:write | Отправить текст; HTTP 202 |
| GET /v1/projects/{projectId}/chats/{chatId}/queue | chat: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 и обслуживание