Главная / Блог / ТЗ на интеграцию сайта с CRM: что передать разработчику

ТЗ на интеграцию сайта с CRM: что передать разработчику


Если вы готовите сайт, интернет-магазин или обновление CRM, сохраните этот материал как рабочий чек-лист. За уточнением архитектуры можно обратиться к команде ИРС.

Что должно определить ТЗ на интеграцию сайта с CRM?

Коротко: ТЗ должно однозначно отвечать на пять вопросов: какие события запускают обмен, какие данные передаются, где хранится эталонная запись, что считать дублем и как система ведёт себя при ошибке. Названия двух систем и фразы «настроить интеграцию» для оценки и приёмки недостаточно.

Интеграция связывает бизнес-процесс, а не только форму с карточкой лида. Посетитель может отправить заявку, заказать звонок, оформить заказ или написать через виджет. Для каждого сценария нужен свой результат: контакт, лид, сделка, задача менеджеру или комбинация сущностей.

До обсуждения API зафиксируйте владельца процесса. Обычно маркетинг отвечает за источники и аналитику, отдел продаж - за воронку и обязательные поля, а разработчик - за доставку данных, журнал ошибок и повторные попытки.

Какие события сайта нужно включить в интеграцию?

Коротко: В ТЗ перечисляют не страницы, а бизнес-события. Для каждого события указывают источник, условие срабатывания, создаваемые сущности CRM, ответственного и ожидаемый срок обработки. Такой список показывает реальный объём работы до оценки проекта.

Начните с инвентаризации всех точек обращения:

  1. Отправка формы обратной связи.
  2. Заказ обратного звонка.
  3. Оформление и оплата заказа.
  4. Регистрация личного кабинета.
  5. Сообщение из чата или mini-app.
  6. Звонок через систему коллтрекинга.
  7. Повторное обращение существующего клиента.

Не объединяйте события с разной логикой в строку «заявка с сайта». Заказ с составом корзины и короткая форма с телефоном требуют разных полей, проверок и реакции CRM.

Какие поля передавать из сайта в CRM?

Коротко: Минимальная карта полей содержит контактные данные, контекст обращения, рекламные идентификаторы и технический идентификатор события. Для каждого поля нужны формат, обязательность, источник, назначение в CRM и правило обработки пустого значения.

Используйте таблицу как основу приложения к ТЗ:

Поле сайтаПоле CRMОбязательностьПравило
ИмяИмя контактаНетНе подставлять вымышленное значение
ТелефонТелефон контактаПо сценариюНормализовать формат до поиска дубля
EmailEmail контактаПо сценариюПроверить формат, сохранить исходный регистр не требуется
КомментарийПримечание к сделкеНетПередавать без HTML и служебных полей формы
URL страницыИсточник обращенияДаСохранять полный адрес страницы отправки
UTM-параметрыПоля аналитикиЕсли естьНе заменять последующие значения без согласованного правила атрибуции
ClientID МетрикиПоле аналитикиЕсли доступенПолучать на сайте и передавать вместе с обращением
ID событияВнешний IDДаИспользовать для идемпотентности и поиска повторной доставки

Яндекс рекомендует передавать ClientId при создании сделки: идентификатор помогает связать заказ из CRM с визитом на сайте. Для форм его можно получить методом getClientID и записать в скрытое поле до отправки данных в CRM.

Карта полей - часть проектирования всей цифровой системы. Если сайт связан с аналитикой, рекламой и mini-app, полезно заранее проверить как объединить сайт и приложение MAX, чтобы источники и идентификаторы не расходились.

Если требуется сверить формы, воронку и аналитику до разработки, команда ИРС может разобрать задачу и подобрать релевантные кейсы.

Как описать создание контакта, лида и сделки?

Коротко: В ТЗ нужна отдельная таблица соответствия между событием сайта и сущностями CRM. Она должна показать, когда создаётся новый контакт, когда обновляется существующий, в какой воронке появляется сделка и какая задача назначается менеджеру.

Не все CRM используют одинаковую модель. Поэтому пишите не только название сущности, но и бизнес-результат. Например: «после отправки формы консультации найти контакт по нормализованному телефону; при совпадении добавить новую сделку в воронку корпоративных сайтов; сохранить комментарий в сделке; назначить ответственного по правилу распределения».

В ТЗ перечислите:

  • воронку и начальный этап;
  • источник и тип обращения;
  • правило назначения ответственного;
  • срок и текст задачи менеджеру;
  • поля контакта и сделки;
  • теги, примечания и вложения;
  • действие при отсутствии обязательного поля.

API amoCRM, например, разделяет методы работы со сделками, контактами, компаниями и полями. Документация Битрикс24 также выделяет методы CRM и события. Конкретные названия методов разработчик определит после выбора CRM, но ожидаемое поведение должно быть согласовано бизнесом заранее.

Как защититься от дублей и повторной отправки?

Коротко: Поиск дублей и защита от повторного выполнения - разные задачи. Дубль клиента ищут по согласованным контактным данным, а повтор одного события определяют по уникальному ID запроса или заказа. В ТЗ нужны оба правила.

СитуацияКак распознатьЧто делать
Повторная доставка одного событияСовпадает внешний ID событияВернуть успешный ответ без второй сделки
Повторное обращение клиентаСовпадает нормализованный телефон или emailСоздать новую сделку у существующего контакта
Один телефон у нескольких людейСовпадение не даёт однозначного контактаСоздать задачу на ручную проверку
Повторная оплата заказаСовпадает ID заказа и уже записан платёжНе менять сумму, записать событие в журнал

Не ограничивайтесь фразой «исключить дубли». Укажите порядок поиска, нормализацию телефона, отношение к пустому email и решение для общих корпоративных номеров. Иначе разработчик и отдел продаж будут понимать дубль по-разному.

Что должна делать система при ошибке CRM?

Коротко: Заявка не должна исчезать из-за тайм-аута или временной недоступности CRM. ТЗ должно определить локальное сохранение события, повторные попытки, предел повторов, уведомление ответственного и журнал с данными, достаточными для восстановления обмена.

Безопасный сценарий выглядит так:

  1. Сайт проверяет обязательные поля и присваивает событию уникальный ID.
  2. Сайт сохраняет событие до обращения к CRM.
  3. Интеграция отправляет данные и фиксирует ответ CRM.
  4. При временной ошибке событие ставится в очередь повторной отправки.
  5. После исчерпания попыток ответственному уходит уведомление.
  6. Оператор может повторить отправку без создания дубля.

В журнале не нужно хранить пароли, токены доступа и лишние персональные данные. Достаточно ID события, времени, типа операции, кода ответа, безопасного описания ошибки и номера попытки.

Какие требования безопасности включить в ТЗ?

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

Проверьте четыре группы требований:

  1. Формы собирают только данные, необходимые для заявленного сценария.
  2. Пользователь видит информацию об обработке персональных данных и доступ к политике.
  3. Ключи API хранятся на сервере в переменных окружения или хранилище секретов.
  4. Входящие вебхуки проверяются предусмотренным CRM способом, а их адреса не дают лишних полномочий.

Не копируйте рабочий ключ вебхука в ТЗ, переписку или систему задач. В документации Битрикс24 код входящего вебхука является частью URL, поэтому доступ к такому адресу нужно контролировать как доступ к секрету.

Как сформулировать критерии приёмки?

Коротко: Критерий приёмки описывает воспроизводимый сценарий, входные данные и наблюдаемый результат. Формулировка «данные передаются корректно» не проверяется. Хороший критерий можно повторить на тестовом сайте и в тестовой воронке без участия разработчика.

Подготовьте минимум следующие проверки:

  1. Новая заявка создаёт нужные сущности и заполняет согласованные поля.
  2. UTM-параметры и ClientId доходят до отдельных полей CRM.
  3. Повтор одного события не создаёт вторую сделку.
  4. Повторное обращение создаёт новую сделку у существующего контакта по согласованному правилу.
  5. Ошибка авторизации CRM попадает в журнал и вызывает уведомление.
  6. Временная ошибка CRM запускает повторную отправку.
  7. Поле с неверным форматом возвращает понятную ошибку и не теряет исходное событие.
  8. Секреты отсутствуют в HTML, JavaScript и сообщениях пользователю.

Для каждого теста запишите предусловия, шаги, ожидаемую карточку CRM и запись в журнале. Приёмку лучше проводить на отдельной тестовой воронке, а после проверки удалить или пометить тестовые данные.

Как передать ТЗ разработчику без пробелов?

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

Структура готового ТЗ:

1. Цель интеграции и измеримый бизнес-результат.
2. Системы, окружения и ответственные стороны.
3. Каталог событий сайта.
4. Таблица полей сайт -> CRM.
5. Правила создания и обновления сущностей.
6. Воронки, этапы, ответственные и задачи.
7. Поиск дублей и уникальные ID событий.
8. Ошибки, повторы, уведомления и журнал.
9. Персональные данные и хранение секретов.
10. Тестовое окружение и критерии приёмки.
11. Порядок запуска и отката.
12. Документация и передача доступов.

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

После запуска сравнивайте не только количество заявок, но и качество данных. Материалы о том, какие данные аналитики помогают улучшать SEO и какие метрики важны для SEO-аналитики, помогут связать данные CRM с каналами привлечения, не ограничиваясь количеством лидов.

Источники

Коротко: Технические решения в статье опираются на официальную документацию CRM и Яндекс Метрики. Перед реализацией сверяйте методы, права доступа и ограничения с документацией выбранной версии системы.

Если после заполнения шаблона остаются спорные места, их лучше закрыть до оценки разработки. Команда ИРС поможет разобрать контур интеграции и подготовить реалистичный план работ.




Читайте также

Оставьте заявку и мы предоставим от 3-х готовых кейсов с результатами и технологиями
Вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности
Контакты
Заказать проект
Приходите в гости
г. Новосибирск ул. Семьи Шамшиных 64, 6 этаж,
офис 610, Бизнес-центр "Аврора"