Вводная
Самая неприятная CRM-интеграция — та, которая создаёт иллюзию работы. Пользователь отправил форму, сайт показал “спасибо”, а CRM ничего не получила. Без логов это выглядит как спор между сайтом и CRM: сайт утверждает, что отправил, CRM утверждает, что не принимала.
Симптомы
Проблема может быть в невалидном телефоне, лишнем нуле после кода страны, пустом обязательном поле, неверном токене, изменённом URL API, дубле, лимите запросов или антиспаме на стороне CRM. Если сайт не сохраняет сырой входящий запрос и ответ CRM, восстановить потерянную заявку сложно.
Что проверяется
- какой endpoint CRM принимает заявку и жив ли он сейчас
- какой HTTP-код и тело ответа возвращает CRM
- какие поля обязательны и как они называются
- нормализуется ли телефон перед отправкой
- не отклоняет ли CRM дубли или странные значения
- есть ли retry/fallback при временной ошибке
- где хранится лог успешных и неуспешных отправок
Ход исправления
Исправление начинается с тестовой заявки и просмотра фактического запроса. Затем проверяется маппинг полей: имя, телефон, email, комментарий, источник, UTM и язык. Номер телефона приводится к единому формату до отправки. Если CRM возвращает отказ, сайт не должен показывать пользователю “успех” как будто всё принято. Проблемная заявка должна сохраняться локально в безопасном виде и попадать в ревью.
Нормальный результат
После работ появляется понятная цепочка: форма приняла данные, сайт сохранил событие, CRM ответила успешным ID или вернула отказ, отказ записан и доступен для ручной обработки.
Вывод
Интеграция с CRM должна быть не “отправил и забыл”, а проверяемым транспортом. Иначе часть заявок будет исчезать в промежутке между красивой формой и реальными продажами.