Формы
Куда отправлять заявки: 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). Тестовый запрос лучше отправить до запуска рекламы, а затем убедиться, что русские символы, переносы строк и пустые необязательные поля дошли без изменений.