Интеграция с Tilda: приём лидов без дублей и с привязкой к клиенту
Интеграция с Tilda: приём лидов без дублей и с привязкой к клиенту
Бэкенд
Что нового
- Заявки с форм Tilda теперь корректно превращаются в лид-задачи.
- Повторные заявки с тем же номером (tranid) не создают дублей — даже при повторной доставке вебхука.
- Если tranid отсутствует, вебхук получает понятный ответ об ошибке вместо внутренней ошибки сервера.
- Задача привязывается к собственному клиенту по телефону, а не к «активной карте».
- Работает для всех клубов.
Как это работает
- Tilda отправляет заявку на вебхук — система проверяет, нет ли уже лида с таким же номером.
- При повторной доставке второй лид не создаётся.
- Клиент определяется по телефону; задача привязывается к нему корректно.
Выгоды
- Нет дублей лидов и повторных задач.
- Заявки не теряются и привязываются к правильному клиенту.
- Понятная диагностика, если вебхук пришёл с ошибкой.
🔌 Настройка интеграции (вебхук Тильды)
Адрес вебхука — указывается в форме Tilda (Настройки формы → «Вебхук»):
POST https://<домен-клуба>/api/v1/rest/callback/tilda-lead?token=<SERVICE_APP_TOKEN>
- Метод — POST, тело
application/x-www-form-urlencoded(UTF-8). Формат запроса Tilda формирует сама. - Роут:
/api/v1/rest/callback/tilda-lead(полный адрес = домен клуба + роут +?token=…). - Пример (тест):
https://test.tk-champion.ru/api/v1/rest/callback/tilda-lead?token=<токен>.
Токен — поле service_app.token сервисного приложения клуба. В интерфейсе не выводится. Передаётся в адресе ?token=… либо заголовком X-Service-App-Token. Неверный или отсутствующий токен → 401.
Требования к запросу
- Тело — так, как отправляет Tilda: поля-ответы идут кириллицей (
Имя,Телефон,Тип_заявки), служебные поля — латиницей. - Обязательное служебное поле
tranid(формат<projectid>:<id>) — ключ дедупликации. Запрос безtranid(кроме тестового пинга) → понятный ответ об ошибке, а не 500. - Тестовый пинг Tilda (
test=test) →200без создания задачи. - Повторная доставка того же
tranid→200, дубль задачи не создаётся (duplicate: true). - Клиент определяется по нормализованному телефону; если не найден — задача создаётся без привязки.
Нет комментариев для отображения
Нет комментариев для отображения