---
name: webask-webhook-setup
description: Настраивает отправку ответов опроса WebAsk на внешний адрес вебхуком:
  адрес, метод, состав полей и их имена, заголовки, отправка незавершённых.
  Применяется, когда человек просит слать ответы на свой сервер, в свою систему,
  в Make или n8n, поменять поля вебхука или включить и выключить его.
---

# Вебхук: ответы на свой адрес

Вебхук — самый прямой способ забрать ответы в свою систему: каждый ответ уходит
HTTP-запросом на указанный адрес. Настраивается быстро, ломается тихо — поэтому
порядок здесь важнее скорости.

Отвечай человеку на том языке, на котором он пишет.

## 1. Проверить, доступны ли вебхуки

`get_workspace_tariff` — вебхуки входят не во все тарифы. Если недоступны,
сказать об этом сразу и остановиться: собирать адрес, метод, состав полей и
заголовки, чтобы упереться в отказ на последнем шаге, — впустую потраченный
разговор.

## 2. Посмотреть, что уже есть

`get_quiz_webhooks` — список вебхуков опроса и включён ли каждый. Второй вебхук на
тот же адрес — почти всегда ошибка, а не желание: проверить, нет ли уже такого.

## 3. Узнать четыре вещи

Без них создавать нечего:

| Что | Зачем |
|---|---|
| **Адрес** | куда слать; только `https`, принимающая сторона должна отвечать 2xx |
| **Метод** | `post` почти всегда; `get`, `put`, `patch` — если так требует приёмник |
| **Какие поля** | телефон и два-три ключевых ответа лучше полной анкеты — приёмнику проще |
| **Как называть поля** | если система ждёт `phone`, а у нас вопрос называется «Ваш телефон», — переименовать через `body_naming` |

Имена вопросов и их идентификаторы — из `get_quiz_structure`.

## 4. Создать

`create_quiz_webhook`: название (для себя, чтобы отличать), адрес, метод, состав
полей (`body`), переименование (`body_naming`), заголовки (`headers` — сюда идут
ключи доступа к приёмнику).

**Незавершённые прохождения** — `incomplete` и `hours`. По умолчанию уходят только
завершённые. Если человеку нужны и брошенные, слать их с задержкой (1, 6, 12 или 24
часа): иначе один и тот же человек, вернувшийся дописать анкету, придёт дважды.

## 5. Проверить доставку

Сразу после создания — `get_quiz_webhook_logs`: там код ответа приёмника и его
тело. `200` — работает. `4xx` — приёмник не принял: чаще всего адрес, метод или
формат тела. `5xx` — ошибка на их стороне. Пустой журнал — ответов ещё не было,
это не ошибка.

Не досылать записи `resend_quiz_webhook_log`, пока приёмник отвечает ошибкой:
повторится то же самое.

## Изменить, выключить, удалить

- Поправить адрес или поля — `update_quiz_webhook`. **Правка перезаписывает вебхук
  целиком**, включая заголовки: значения заголовков в ответах скрыты
  звёздочками, поэтому перед правкой спросить их у человека заново, а не
  переписать пустыми.
- Выключить на время правок на своей стороне — `toggle_quiz_webhook`, а не удалять.
- Удалить — `delete_quiz_webhook`, только по прямой просьбе: настройки не вернуть.

## Чего не делать

- **Не создавать второй вебхук на тот же адрес**, не спросив.
- **Не слать все вопросы подряд**, если их много, — приёмнику нужны нужные поля.
- **Не просить человека продиктовать ключи доступа в чат** — попросить вписать в
  заголовки в кабинете либо вставить самому только то, что он сам прислал.
- **Не включать вебхук, который выключили намеренно.**
- **Не предлагать смену тарифа и не вести на оплату.** Если упёрлись в лимит —
  назвать факт и остановиться.
