REST API
Три эндпоинта: забрать заявки, прочитать переписку, ответить клиенту. Авторизация — токеном аккаунта, ответы — JSON.
С чего начать
Три шага до первого ответа.
Проверьте тариф
API входит в тариф «Отдел» и выше. На тарифах ниже запросы возвращают 402 — токен при этом остаётся вашим и заработает сразу после апгрейда.
Выпустите токен
Кабинет → «Настройки» → «Токен API» → «Выпустить токен». Значение показывается один раз: скопируйте сразу. Забыли — выпустите заново, прежний перестанет работать.
Сделайте первый запрос
Токен передаётся заголовком: Authorization: Bearer asst_live_… Базовый адрес — https://ассиистент.рф/api/v1.
Три эндпоинта
Базовый адрес — https://ассиистент.рф/api/v1. Ответы в JSON, кодировка UTF-8, даты в ISO 8601 с часовым поясом аккаунта.
GET /api/v1/leads — забрать заявки
Заявки аккаунта, свежие первыми. Фильтры — status, assistant_id, since, until; страницы — page и per (до 100). Отдаются имя, телефон, почта, комментарий, страница и сотрудник; заметка менеджера наружу не уходит.
curl -s "https://ассиистент.рф/api/v1/leads?status=fresh&per=50" \
-H "Authorization: Bearer asst_live_ВАШ_ТОКЕН"
{
"data": [
{
"id": 128,
"status": "fresh",
"created_at": "2026-08-24T18:20:15+03:00",
"name": "Иван",
"phone": "+79001234567",
"email": "ivan@example.com",
"comment": "Нужна плита 8×10",
"page_url": "https://39плит.рф/plity",
"assistant": { "id": 4, "name": "Барсик" },
"conversation_id": 512,
"sent_to_crm_at": null
}
],
"meta": { "page": 1, "per": 50, "total": 1 }
}
GET /api/v1/conversations/:id/messages — прочитать переписку
Лента диалога по порядку. role — visitor, assistant, operator или system.
curl -s "https://ассиистент.рф/api/v1/conversations/512/messages" \
-H "Authorization: Bearer asst_live_ВАШ_ТОКЕН"
{ "data": [ { "id": 9010, "role": "visitor", "content": "Есть плиты 8×10?", "created_at": "2026-08-24T18:20:01+03:00" } ],
"meta": { "page": 1, "per": 25, "conversation_id": 512 } }
POST /api/v1/messages — ответить в диалог
Написать клиенту от имени оператора. Диалог должен быть перехвачен: пока его ведёт ИИ-сотрудник, реплика человека и ответ бота полетели бы в чат наперегонки — такой запрос вернёт 422 с объяснением.
curl -s -X POST "https://ассиистент.рф/api/v1/messages" \
-H "Authorization: Bearer asst_live_ВАШ_ТОКЕН" \
-H "Content-Type: application/json" \
-d '{"conversation_id": 512, "content": "Здравствуйте, я менеджер Ольга"}'
{ "data": { "id": 9012, "role": "operator", "content": "Здравствуйте, я менеджер Ольга", "created_at": "2026-08-24T18:31:02+03:00" } }
Исходящий вебхук заявок
Не хотите опрашивать API — подключите вебхук в кабинете («Каналы» → «Вебхук»), и каждая новая заявка придёт к вам сама POST-ом JSON. Тело заявки — то же, что отдаёт GET /api/v1/leads.
POST https://example.ru/hooks/assistant
Content-Type: application/json
X-Assistant-Event: lead.created
X-Assistant-Delivery: 7f0a1c2e-…-uuid
X-Assistant-Signature: t=1756200000,v1=9c1f…hex
{"event":"lead.created","delivery_id":"7f0a1c2e-…","sent_at":"2026-08-26T18:00:00+03:00",
"lead":{"id":128,"status":"fresh","created_at":"2026-08-26T17:59:40+03:00",
"name":"Пётр","phone":"+79001234567","email":"petr@example.com","company":null,
"comment":"Нужна плита 120 м²","page_url":"https://39plit.ru/calc","channel":"site",
"assistant":{"id":1,"name":"Анна"},"conversation_id":512,"sent_to_crm_at":null}}
# проверка подписи (псевдокод):
# expected = hex(HMAC_SHA256(secret, t + "." + raw_body))
# ok = constant_time_equal(expected, v1) && now - t < 300
События
ping — проверка адреса при подключении (ответьте любым 2xx); lead.created — новая заявка; lead.updated — добавка к ней: запись на приём, перенос, отмена, подтверждённый заказ (поле note, заявка — по id).
Подпись
Заголовок X-Assistant-Signature: t=<unix-время>,v1=<hex>, где v1 = HMAC-SHA256(секрет, «<t>.<тело как получено>»). Секрет показан в карточке вебхука. Отбрасывайте запросы старше пяти минут — метка времени внутри подписи как раз для этого.
Повторы
Ответили 2xx — доставлено. 5xx или обрыв сети — повторим с нарастающей паузой; 4xx считаем отказом и не повторяем, причина видна в карточке заявки. Дубли отличайте по X-Assistant-Delivery.
Границы, о которых стоит знать заранее
Лимиты
60 запросов в минуту на токен. Запросы без токена режутся отдельно и жёстче — это защита от перебора чужих ключей.
Страницы
Страница — до 100 записей (per). Больше одним запросом не отдаём — ни вам, ни тому, кто добудет ваш токен.
Персональные данные
Заявки содержат персональные данные ваших клиентов. Токен открывает только ваш аккаунт, каждое обращение пишется в журнал доступа, а сам токен мы храним отпечатком — восстановить его не можем даже мы.
Ошибки
Ошибка всегда одной формы: {"error": "код", "message": "текст"}. 401 — токен не подошёл, 402 — тариф не даёт API, 404 — объекта нет, 422 — запрос понятен, но выполнить нельзя, 429 — упёрлись в лимит.
Если у вас 1С — вам сюда не нужно
Для 1С отдельный путь, и токен API для него не нужен. Типовая обработка «Обмен с сайтом» умеет ровно один протокол — CommerceML, — и переучить её на REST можно только доработкой конфигурации. Поэтому 1С приходит к нам сама: вы вписываете адрес узла из кабинета, и заявки уезжают в 1С, а товары, цены и остатки приходят оттуда.
# 1С: адрес, логин и пароль узла — в кабинете, «Каналы» → «1С».
# В самой 1С: «Обмен с сайтом» → новый узел → обмен с «1С-Битрикс».
https://ассиистент.рф/1c/exchange/ВАШ_ТОКЕН_УЗЛА
Остались вопросы?
Зарегистрируйтесь бесплатно — и посмотрите, как сотрудник отвечает вашим клиентам.