Аутентификация API
К API Chato ваша программа обращается по ключу API — он отдельный от вашей сессии в браузере. Ключ начинается с chato_sk_ и передаётся в каждом запросе.
Два вида ключей
| Ключ открытого API | Ключ API компании | |
|---|---|---|
| Где создаётся | CRM → ⋯ → Настройки CRM → API и вебхуки → «Новый ключ» | Настройки аккаунта → Компания → Ключ API → «Создать ключ» |
| Кто может создать | администратор и владелец | только владелец |
| Сколько ключей | сколько нужно, у каждого своё название | один на компанию |
| Доступ | только к открытому API (/api/v1/public/…) и только с отмеченными правами |
весь REST API от имени владельца, плюс открытый API со всеми правами |
| Лимит | 120 запросов в минуту на ключ | 100 запросов в минуту с одного IP-адреса |
Для сделок, контактов и задач берите ключ открытого API: у него ограниченные права, понятная история «через API» и стабильный формат ответов. Как с ним работать — в статье Открытый API сделок и вебхуки CRM.
Ключ API компании нужен, когда программе требуются чаты и каналы: список диалогов, отправка сообщений от имени оператора.
Ключ API компании
Откройте Настройки аккаунта → Компания, в блоке Ключ API нажмите Создать ключ. Chato покажет ключ только один раз, сразу после создания. Скопируйте его: посмотреть ключ повторно нельзя. Кнопка Пересоздать ключ выпускает новый ключ, а старый сразу перестаёт работать. Отозвать выключает ключ без замены.
Тот же ключ доступен в настройках интеграции с amoCRM или Bitrix24, на вкладке «Дополнительно».
Ключ API компании даёт полный доступ к компании от имени владельца. Храните его как пароль: в переменных окружения на сервере, а не в коде сайта или в открытом репозитории.
У ключа нет срока действия: он работает, пока его не отозвали или не пересоздали. Создавать и отзывать ключи, а также настраивать адреса вебхуков по ключу нельзя: на такой запрос придёт 403.
Базовый адрес
https://chato.kz/api/v1
Как передавать ключ
В заголовке Authorization:
GET https://chato.kz/api/v1/workspaces
Authorization: Bearer chato_sk_...
Открытый API принимает ключ и в заголовке X-Api-Key: chato_sk_....
Успешный ответ всегда лежит в поле data:
{
"data": [
{ "id": "cmulak1n90001295a8kf4ruhe", "name": "Baisal Delivery", "role": "OWNER", "timezone": "Asia/Almaty" }
]
}
Здесь id — идентификатор компании. Он нужен почти во всех запросах вместо :workspaceId.
Основные запросы с ключом компании
Список каналов:
GET /workspaces/:workspaceId/channels
Список диалогов. Фильтры: status (OPEN, WAITING, IN_PROGRESS, CLOSED), assigned=me|none. Постранично через cursor и limit (по умолчанию 30):
GET /workspaces/:workspaceId/conversations?status=OPEN&limit=30
Начать диалог с новым номером на нужном канале. В ответе придёт conversationId:
POST /workspaces/:workspaceId/conversations/start
Content-Type: application/json
{ "channelId": "clx...", "phone": "77011234567" }
Сообщения диалога:
GET /workspaces/:workspaceId/conversations/:conversationId/messages
Отправить сообщение:
POST /workspaces/:workspaceId/conversations/:conversationId/messages
Content-Type: application/json
{ "content": "Здравствуйте!" }
Ошибки и лимиты
401— ключа нет, он неверный или отозван.403— действие недоступно по ключу API или ключу не хватает прав.429— слишком много запросов. Для ключа компании лимит общий: 100 запросов в минуту с одного IP-адреса. Для ключа открытого API лимит свой у каждого ключа: 120 запросов в минуту. Подробнее о нём — в статье Открытый API сделок и вебхуки CRM.



