У агентства были две системы и две правды. Объекты с фотографиями, планировками и статусами жили на собственной платформе сайта, сделки и контакты — в Битрикс24. Совпадали они ровно настолько, насколько успевал менеджер.
Из-за этого на сайте висели проданные объекты, в CRM появлялись дубли одного и того же клиента, а связать заявку с конкретным объектом можно было только по памяти.
Первый вопрос в такой интеграции не технический: по каждому полю нужно решить, какая система источник истины. Пока это не записано, синхронизация в обе стороны просто переносит расхождения туда-обратно.
Договорились так: объекты ведутся на платформе, контакты и сделки — в Битрикс24. Объекты уходят в CRM односторонне, заявки синхронизируются в обе стороны, и у каждой сущности есть ключ, который хранится на обеих сторонах. Без общего ключа любая сверка превращается в сопоставление по имени и адресу, а это всегда расхождения.
Заявка с сайта создаёт лид с привязкой к объекту, поэтому в карточке сделки сразу видно, о какой квартире речь. Смена статуса объекта на «бронь» или «продан» убирает его с сайта автоматически. Дубли контактов закрыты поиском по телефону в нормализованном виде до создания лида, а не чисткой базы потом.
Обмен идёт через вебхуки и очередь с повтором: Битрикс24 отвечает лимитами, и без очереди часть событий теряется молча — хуже всего именно это, потому что ошибку никто не видит.
Объект на сайте и сделка в CRM связаны одним идентификатором, менеджер ведёт одну базу вместо двух.
Проданные объекты уходят с витрины сами, заявка приходит с привязкой к объекту, новые дубли контактов не создаются.