Формы

Куда отправлять заявки: Telegram, email или webhook

Как выбрать канал уведомлений для формы и не потерять исходную заявку при ошибке внешнего сервиса.

Заявка сначала сохраняется в Deploya, затем платформа отправляет уведомления в подключённые каналы. Такой порядок отделяет приём данных от доступности Telegram, почтового сервера или CRM: временная ошибка доставки не должна удалять исходную запись.

## Telegram

Telegram удобен для быстрого сообщения менеджеру. В уведомлении помещаются поля формы, домен, проект и время. Канал подходит небольшому числу заявок, но чат плохо заменяет таблицу статусов: обработанная и новая заявка выглядят одинаково без отдельного процесса.

Токен бота нельзя вставлять в JavaScript сайта. Он хранится на серверной стороне интеграции. Иначе любой посетитель сможет извлечь секрет из исходного кода.

## Email

Почта подходит для команд, где заявки уже разбираются во входящих. Адрес получателя проверяется, а письмо содержит ссылку на запись в панели. Доставка зависит от фильтров и почтового провайдера, поэтому единственным архивом всё равно остаётся раздел «Заявки».

## Webhook

Webhook передаёт JSON во внешнюю CRM, таблицу или автоматизацию. Deploya отправляет POST на публичный HTTPS-адрес и считает успешным ответ 200–299.

```http
POST /deploya-lead HTTP/1.1
Content-Type: application/json
X-Deploya-Signature: sha256=<hmac>
```

Получатель сначала проверяет подпись, затем сохраняет идентификатор события. Повторная доставка не должна создавать вторую сделку с тем же id.

```js
if (alreadyProcessed(payload.id)) {
  return response.status(200).end();
}
saveLead(payload);
```

> Место для скриншота: настройки формы с тремя каналами доставки и статусом последней отправки.

Для одной формы можно подключить несколько каналов: Telegram сообщает о новой заявке, email отправляет копию, webhook создаёт запись в CRM. Сбой одного канала не означает, что остальные тоже не сработали. Состояние доставки проверяется по каждому подключению.

Секрет подписи и точная структура JSON описаны в [документации webhook](https://docs.deploya.ru/webhooks). Тестовый запрос лучше отправить до запуска рекламы, а затем убедиться, что русские символы, переносы строк и пустые необязательные поля дошли без изменений.

Все статьи