Перейти к основному содержимому

Вебхуки результатов

Вебхук — HTTP-запрос, который Helpfy AI отправляет на ваш сервер с готовым результатом. Его адрес задаётся в настройках бота. Это позволяет получать ответы без повторных запросов состояния.

1. Указать адрес получателя​

PATCH /api/v1/bots/{uniqueId}

URL​

https://app.helpfy.ai/api/v1/bots/{uniqueId}

Заголовки​

ЗаголовокЗначение
AuthorizationBasic <base64(email:api_key)>
Acceptapplication/json
Content-Typeapplication/json

Параметры запроса​

ПараметрТипОбязательныйОписание
uniqueIdстрокаДаИдентификатор бота в адресе запроса.
webhook_urlстрокаДа, в этом примереДоступный по HTTPS адрес вашего обработчика.

Пример запроса​

curl --request PATCH "https://app.helpfy.ai/api/v1/bots/11111111-1111-4111-8111-111111111111" \
--user "user@example.com:api_key" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-binary @- <<'JSON'
{
"webhook_url": "https://your-service.example/helpfy/results"
}
JSON

Ответы​

Успешный запрос: HTTP 200.

Пример ответа — HTTP 200

Сокращённый пример; значения условные.

{
"unique_id": "11111111-1111-4111-8111-111111111111",
"webhook_url": "https://your-service.example/helpfy/results"
}

После сохранения отправьте асинхронный запрос. Поле meta можно использовать для связи результата с обращением в вашей системе.

2. Принять результат на своём сервере​

POST /helpfy/results

URL​

https://your-service.example/helpfy/results

Это пример адреса вашего обработчика, а не метод сервера Helpfy AI.

Заголовки​

ЗаголовокЗначение
Content-Typeapplication/json
Acceptapplication/json

Параметры запроса​

ПараметрТипОбязательныйОписание
response.messageстрокаМожет отсутствовать при ошибкеТекст ответа бота.
meta.unique_idстрокаДаИдентификатор исходного запроса.
meta.bot_unique_idстрокаДаИдентификатор бота.
meta.metaобъектНетВаши данные из поля meta исходного запроса.
typeстрокаДаРезультат обработки: SUCCESS, OPERATOR или другой статус.
errorлогическое значениеДаtrue — результат содержит ошибку.

Пример входящего запроса​

Пример POST с результатом

Сокращённый пример; значения условные.

{
"response": {
"message": "Адрес можно изменить до передачи заказа в доставку."
},
"meta": {
"unique_id": "e07ab05f-f97d-44f4-b668-2339d642e373",
"bot_unique_id": "11111111-1111-4111-8111-111111111111",
"meta": {
"source": "shop-support",
"traceId": "ticket-123"
}
},
"type": "SUCCESS",
"error": false
}

Ответы вашего сервера​

Верните успешный HTTP-статус после того, как результат надёжно принят. Повторный результат с тем же идентификатором не должен создавать второй ответ клиенту. Храните факт обработки по meta.unique_id.

Сетевые сбои, HTTP 408, 429 и ответы 5xx могут вызвать повторную доставку. Проверяйте webhook_status и webhook_error в состоянии запроса: ошибка доставки не обязательно означает, что модель не подготовила ответ.