справочник вебхуков
События
Что приходит POST-запросом на ваш адрес. Тело всегда одной формы: id, event, createdAt и data — у каждого события своя. Подпись и доставка — в обзоре вебхуков.
| Событие | Когда |
|---|---|
| lead.created | Новая заявка |
| lead.updated | Заявка изменилась |
| dialog.started | Новый диалог с клиентом |
| dialog.handed_off | Диалог передан человеку |
| dialog.closed | Диалог закрыт |
| message.created | Новое сообщение в диалоге |
| test | Проверка |
lead.created
Новая заявка
Заявка появилась в компании: её собрал AI-сотрудник в любом канале или её создали через API.
Поле data
| Поле | Описание |
|---|---|
idstring | Id заявки — тот же, что в GET /leads. |
agentIdstring | null | AI-сотрудник. |
namestring | null | Имя клиента. |
phonestring | null | Телефон. |
emailstring | null | Email. |
messagestring | null | Текст заявки. |
typestring | null | Тип заявки. |
topicstring | null | Тема. |
sourcestring | Откуда пришла. |
scoreinteger | null | Оценка горячести 0–100. |
createdAtstring (date-time) | Когда создана. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "lead.created",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "cmv8k2x1q0001abcd",
"agentId": "cmu3f9z7k0002efgh",
"name": "Анна",
"phone": "+79991234567",
"email": null,
"message": "Нужна консультация по доставке",
"type": null,
"topic": "Доставка",
"source": "chat",
"score": 72,
"createdAt": "2026-10-27T09:15:02.114Z"
}
}lead.updated
Заявка изменилась
У заявки сменилась стадия или статус, поправили контакты — в кабинете, из CRM (сделка выиграна или проиграна) или после оплаты заказа в чате. В data — заявка целиком, как в GET /leads, и changes: что было и что стало.
Поле data
| Поле | Описание |
|---|---|
idstring | Id заявки. |
agentIdstring | null | AI-сотрудник. |
namestring | null | Имя клиента. |
phonestring | null | Телефон. |
emailstring | null | Email. |
messagestring | null | Текст заявки. |
statusstring | Обработка — уже новое значение. · одно из: NEW, CONTACTED, CLOSED |
stagestring | Стадия — уже новое значение. · одно из: NEW, QUALIFIED, IN_CRM, WON, LOST |
sourcestring | Откуда пришла. |
typestring | null | Тип заявки. |
topicstring | null | Тема. |
scoreinteger | null | Оценка горячести 0–100. |
createdAtstring (date-time) | Когда создана. |
changesobject | Что поменялось: имя поля → { from, to }. Например { "stage": { "from": "QUALIFIED", "to": "WON" } }. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "lead.updated",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "cmv8k2x1q0001abcd",
"agentId": "cmu3f9z7k0002efgh",
"name": "Анна",
"phone": "+79991234567",
"email": null,
"message": "Нужна консультация по доставке",
"status": "NEW",
"stage": "WON",
"source": "chat",
"type": null,
"topic": "Доставка",
"score": 72,
"createdAt": "2026-10-27T09:15:02.114Z",
"changes": {
"stage": {
"from": "QUALIFIED",
"to": "WON"
}
}
}
}dialog.started
Новый диалог с клиентом
Клиент начал новый диалог с AI-сотрудником. Тестовые диалоги из кабинета событие не вызывают.
Поле data
| Поле | Описание |
|---|---|
idstring | Id диалога — тот же, что в GET /dialogs. |
agentIdstring | null | AI-сотрудник. |
channelstring | Канал. |
topicstring | null | Тема, если уже известна. |
startedAtstring (date-time) | Первое сообщение. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "dialog.started",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "cmv8m4c2r0003ijkl",
"agentId": "cmu3f9z7k0002efgh",
"channel": "telegram",
"topic": null,
"startedAt": "2026-10-27T09:10:41.000Z"
}
}dialog.handed_off
Диалог передан человеку
Клиент попросил живого человека, или AI-сотрудник позвал сотрудника. В summary — краткая выжимка разговора для того, кто подключится.
Поле data
| Поле | Описание |
|---|---|
idstring | Id диалога. |
agentIdstring | null | AI-сотрудник. |
channelstring | Канал. |
topicstring | null | Тема. |
summarystring | null | Выжимка разговора для сотрудника. |
requestedAtstring (date-time) | Когда позвали человека. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "dialog.handed_off",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "cmv8m4c2r0003ijkl",
"agentId": "cmu3f9z7k0002efgh",
"channel": "telegram",
"topic": "Доставка",
"summary": "Клиент уточняет сроки доставки в Казань, просит менеджера.",
"requestedAt": "2026-10-27T09:12:30.000Z"
}
}dialog.closed
Диалог закрыт
Диалог завершился: 24 часа тишины (silence) или клиент начал новый разговор после передачи человеку. Решён ли вопрос, станет известно позже — поле resolved в GET /dialogs.
Поле data
| Поле | Описание |
|---|---|
idstring | Id диалога. |
agentIdstring | null | AI-сотрудник. |
channelstring | Канал. |
topicstring | null | Тема. |
handedOffboolean | Передавался ли человеку. |
closeReasonstring | null | Почему закрыт: silence — 24 ч тишины, handoff_ended — новый разговор после передачи человеку. · одно из: silence, handoff_ended, closed, null |
startedAtstring (date-time) | Первое сообщение. |
closedAtstring | null (date-time) | Когда закрыт. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "dialog.closed",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "cmv8m4c2r0003ijkl",
"agentId": "cmu3f9z7k0002efgh",
"channel": "telegram",
"topic": "Доставка",
"handedOff": false,
"closeReason": "silence",
"startedAt": "2026-10-27T09:10:41.000Z",
"closedAt": "2026-10-27T09:46:12.000Z"
}
}message.created
Новое сообщение в диалоге
Новая реплика клиента, AI-сотрудника или сотрудника компании. Событий много — подписывайтесь, только если нужна переписка в реальном времени.
Поле data
| Поле | Описание |
|---|---|
idstring | Id реплики — тот же, что в GET /dialogs/{id}/messages. |
dialogIdstring | Id диалога. |
rolestring | Кто написал. · одно из: client, ai, operator |
textstring | Текст. |
authorNamestring | null | Имя сотрудника компании — только у operator. |
createdAtstring (date-time) | Когда отправлена. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "message.created",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"id": "4f7a2c1e-turn-0001",
"role": "client",
"text": "Здравствуйте! Сколько доставка в Казань?",
"authorName": null,
"createdAt": "2026-10-27T09:10:41.000Z",
"dialogId": "cmv8m4c2r0003ijkl"
}
}test
Проверка
Приходит по кнопке «Проверить» в настройках вебхука. Подписываться на него не нужно.
Поле data
| Поле | Описание |
|---|---|
messagestring | Текст проверки. |
{
"id": "9b2f6c1e-4a7d-4f0e-9c3b-1d2e3f4a5b6c",
"event": "test",
"createdAt": "2026-10-27T09:15:02.114Z",
"data": {
"message": "Проверка вебхука ChatNeuron"
}
}