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

Интеграции и вебхуки

При отправке формы ProjME Forms может доставить ответ на ваш endpoint через вебхук.

Создайте вебхук в настройках формы: укажите URL, HTTP-метод (POST/PUT/PATCH), события-триггеры и необязательные заголовки.

Доставка form_submitted — это JSON POST вида:

{
"event": "form_submitted",
"formId": "",
"submissionId": "",
"ipAddress": "",
"formData": { "field_id": "value" },
"formatted": { "field_label": "value" }
}

formData — исходные значения полей; formatted — человекочитаемое представление.

Два способа аутентификации доставки, чтобы ваш endpoint знал, что запрос подлинный.

Задайте secret на вебхуке. Каждая доставка будет включать:

X-Webhook-Signature: HMAC-SHA256(тело-запроса, secret) (hex)

Проверяйте на своей стороне, пересчитав HMAC-SHA256(raw_body, secret) и сравнив с заголовком.

Задайте статичный токен на вебхуке. Он передаётся в заголовке (по умолчанию X-Form-Token). Ваш endpoint проверяет значение заголовка. Токены отправляются только по HTTPS — URL вебхука должен использовать https://.

Если вставить URL вебхука Slack или Discord, payload автоматически форматируется под этот сервис.

Доставки повторяются до 3 раз с экспоненциальной задержкой. Каждая попытка логируется (статус, ответ, ошибка), можно получать email-уведомления об успехе/провале.

  • Статичный токен: узел Webhook в n8n с Authentication = Header Auth, заголовок X-Form-Token = ваш токен.
  • HMAC: узел Webhook с Authentication = None и проверка X-Webhook-Signature в Code-узле (пересчёт HMAC по сырому телу).