Документация Deploya

Webhook Deploya — JSON, подпись и CRM

# Webhook Deploya: JSON, подпись и CRM

Источник: https://docs.deploya.ru/webhooks

Deploya отправляет заявку методом POST на публичный HTTPS URL. Успешным считается любой HTTP-статус 200–299.

## Заголовки

```http
Content-Type: application/json
User-Agent: Deploya-Forms/1.0
X-Deploya-Signature: sha256=<hex-hmac>  # только если задан секрет
```

## Точная схема события

```json
{
  "event": "form.submitted",
  "submission": {
    "publicId": "sub_123",
    "siteId": 28,
    "formName": "contact",
    "siteName": "Мой проект",
    "siteUrl": "https://example.deploya.ru",
    "sourcePath": "/contacts",
    "createdAt": "2026-07-04T19:30:00Z",
    "payload": {
      "PHONE": "+7 999 000-00-00",
      "EMAIL": "client@example.ru"
    }
  }
}
```

payload содержит поля формы. Настроенное сопоставление меняет только их ключи, например phone → PHONE. Системные поля события не меняются.

## Проверка подписи

Вычислите HMAC-SHA256 от точных необработанных байтов HTTP-тела с тем же секретом. Сравните строку sha256=<hex> с X-Deploya-Signature через timing-safe сравнение до разбора JSON. Без секрета заголовок подписи отсутствует.

Ошибки и HTTP-коды видны в истории доставок. Неудачную доставку можно повторить вручную; повтор создаёт отдельную попытку.