ChatNeuron
Разделы

для разработчиков

REST API

Читайте заявки и диалоги компании и создавайте заявки из своих систем: 1С, сайта, CRM, скриптов. API отвечает JSON.

Ключ API

  • Ключ выпускает владелец или администратор в кабинете: Настройки → API и вебхуки → Ключи API. Ключ вида cn_live_… показывается один раз — сохраните его сразу. Мы храним только хэш.
  • Права ключа: только чтение или чтение и запись (запись — создание заявок).
  • Отзыв ключа действует сразу: следующий запрос с ним получит 401. До 20 действующих ключей на компанию.

Запросы

Адрес API — https://app.chatneuron.ru/api/v1. Ключ передаётся в заголовке Authorization: Bearer cn_live_… (или X-Api-Key). Не больше 120 запросов в минуту на ключ: сколько осталось — в заголовках X-RateLimit-Remaining и X-RateLimit-Reset, сверх лимита ответ 429 с заголовком Retry-After. У каждого ответа есть X-Request-Id — назовите его поддержке, если что-то пошло не так.

curl https://app.chatneuron.ru/api/v1/me \
  -H "Authorization: Bearer cn_live_…"

Ошибки

Ошибка приходит с HTTP-статусом и телом:

{
  "error": {
    "code": "unauthorized",
    "message": "Ключ не найден или отозван"
  }
}
СтатусcodeКогда
400invalid_requestНекорректное тело запроса или параметры
401unauthorizedНет ключа, ключ отозван или неверный
403forbiddenКлючу не хватает прав (запись ключом только на чтение)
403lockedЗапись скрыта до оплаты тарифа
404not_foundНет такой заявки или диалога в компании ключа
409idempotency_in_progressЗапрос с этим Idempotency-Key ещё выполняется
422idempotency_mismatchIdempotency-Key уже использован с другим телом запроса
429rate_limitedБольше 120 запросов в минуту

Списки и страницы

Списки отдаются новыми записями вперёд. Параметры: limit — от 1 до 100 (по умолчанию 50), since — дата ISO 8601, с которой брать записи, cursor — значение nextCursor из прошлого ответа. Когда nextCursor равен null, страниц больше нет.

Справочник

Поля ресурса, параметры, примеры на cURL, Node.js и Python, ответы и ошибки — на странице каждого раздела.

МетодЧто делает
get/meПроверить ключ
get/leadsСписок заявок
post/leadsСоздать заявку
get/leads/{id}Заявка
patch/leads/{id}Изменить заявку
get/dialogsСписок диалогов
get/dialogs/{id}Диалог
get/dialogs/{id}/messagesПереписка диалога
get/employeesСписок AI-сотрудников
get/customersСписок клиентов
get/counterpartiesСписок контрагентов
get/connectorsКаналы и системы
get/eventsЛента событий

Права ключа

При выпуске ключа выберите «Только чтение», «Чтение и запись» или отметьте права по ресурсам — тогда ключ получит только их. Право, которое нужно методу, указано на его странице; без него ответ — 403 с названием права. Какие права у ключа, покажет GET /me.

ПравоЧто открывает
leads:readЗаявки — чтение
leads:writeЗаявки — создание и изменение
dialogs:readДиалоги и переписка
customers:readКлиенты и контрагенты
employees:readAI-сотрудники
connectors:readПодключённые системы
events:readЛента событий

Каждый вызов виден в кабинете: «Настройки → API и вебхуки → Ключи API → Журнал» — метод, путь, ответ, время и id запроса.

Повтор запросов

Если сеть оборвалась и непонятно, дошёл ли POST или PATCH, повторите его с тем же заголовком Idempotency-Key — любой вашей строкой до 255 символов, например UUID или номером заказа. В течение 24 часов повтор вернёт прежний ответ с заголовком Idempotent-Replayed: true и не создаст вторую заявку.

curl -X POST https://app.chatneuron.ru/api/v1/leads \
  -H "Authorization: Bearer cn_live_…" \
  -H "Idempotency-Key: order-1042" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+79991234567","message":"Заявка с сайта"}'

Версии

Версия — в адресе: /api/v1. Внутри v1 изменения только добавляют новые поля, методы и события — пропускайте незнакомые поля, и код не сломается. Несовместимые изменения выйдут в /api/v2, а v1 проработает рядом не меньше 12 месяцев. Всё новое — на странице «Изменения».

Спецификация OpenAPI

Полное описание API и вебхуков в формате OpenAPI 3.1 — по адресу https://app.chatneuron.ru/api/v1/openapi.json, без ключа. Импортируйте его в Postman или Insomnia или сгенерируйте клиент на своём языке.

curl https://app.chatneuron.ru/api/v1/openapi.json

Дальше

Чтобы узнавать о новых заявках и диалогах сразу, без опроса API, подключите исходящие вебхуки.