Custom Id

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

В сравнении с условно постоянными идентификаторами (email, телефон), создаваемый в вашей базе данных custom id является наилучшим идентификатором контакта, т.к. на 100% предотвращает дублирование контактов и позволяет собирать все доступные вам данные в единый профиль на платформе enKod.

Работа с Id

В данный момент передать в enKod Id возможно только по API с помощью методов:

Изменить id по другому идентификатору или id по id можно с помощью метода:

Получить id контакта с помощью метода:

Логика работы Id

При передаче id в запросах на создание/обновление контакта действуют следующие правила:

  • создаем контакт, если он не существует
  • обновляем, если он существует
  • присваиваем значения полей данных, если они переданы
  • присваиваем теги, если они переданы
  • если находим контакт с таким id в удаленных: восстанавливаем с сохранением истории и со значениями полей данных, переданные поля данных перезаписываем на те, что переданы в запросе, непереданные не изменяем, но восстанавливаем их значения
  • если переданы группы рассылок с id нового контакта (при этом, емейл/телефон не переданы) - не подписываем на группы рассылок
  • если переданы группы рассылок с id существующего контакта (у которого есть емейл/телефон) - подписываем на те группы рассылок, каналы которых у контакта заполнены, на остальные не подписываем
  • если передан контакт с id И емейлом/телефоном и такой id есть в базе - обновляем контакту емейл/телефон на новые из запроса, историю сохраняем
  • если передан контакт с id И емейлом/телефоном и такого id нет в базе, но есть емейл/телефон - добавляем id существующему контакту с емейлом/телефоном
  • если передан контакт с id, емейлом И телефоном, то параметр mainChannel игнорируем, т.к. id всегда является главным идентификатором
  • если передан контакт с id, емейлом, телефоном, и все три идентификатора существуют у трех разных контактов - забираем емейл/телефон у существующих контактов и записываем их переданному контакту с id
  • если мы забрали у контакта все ее идентификаторы, то контакт удаляется
  • если у контакта забрали идентификаторы, по которым он был подписан на группы рассылок, то он будет отписан

При передаче id в запросах на изменение идентификатора контакта действуют следующие правила:

  • можно изменить емейл по id, телефон по id, id по id
  • при изменении для удаленного контакта - не восстанавливаем контакт, но изменяем то, что передано в запросе
  • допустимо изменение на пустоту, если останется хотя бы один идентификатор
  • при изменении идентификатора существующего контакта на идентификатор удаленного, емейл/телефон/id у удаленного контакта будет очищен
  • недопустимо изменение телефона/емейла/id на тот, который уже привязан к существующему контакту

Во всех случаях, когда у контакта будет очищен или перезаписан идентификатор, вы сможете найти соответствующее событие в карточке.

Последнее изменение: 2024.03.28 12:47 — Elizaveta Ivannikova