Skip to main content

Внешние ИД клиентов. Правила обогащения/конфликтов

  1. Множественные внешние ИД

    • У клиента может быть несколько внешних ИД.

    • Каждый внешний ИД жёстко привязан к интеграции (интеграцию определяем по токену авторизации).

    • Уникальность: внутри одной интеграции один и тот же external_id может принадлежать только одному клиенту.

  2. Обновление данных клиента

    • Если пришли новые данные, а у нас поле пустое → заполняем.

    • Если поле уже заполнено и пришло другое значение → меняем на переданное.

    • Таким образом, мы всегда обогащаем запись.

  3. Создание и поиск клиента

    • Сначала ищем клиента по паре интеграция + внешний ИД.

    • Если не нашли, ищем по телефону или email. Достаточно только одного совпадения по одному из полей.

    • Если нашли  привязываем внешний ИД интеграции к этому клиенту.

    • Если не нашли  создаём нового клиента и, при наличии, привязываем внешний ИД.

    • Если внешний ИД не передан просто обогащаем по телефону/email или создаём нового клиента.

  4. Обработка текущих клиентов

    • Сейчас у клиентов хранится один внешний ИД.

    • При обновлении до этого механизма необходимо каждому такому ИД присваиваем интеграцию (берём первую из списка интеграций).

    • Если у клиента нет внешнего ИД ничего не заполняем.

  5. Дополнительные требования

    • Не заполняем внешний ИД, если его не прислали.

    • Все изменения (привязан внешний ИД, обогащены поля) необходимо фиксировать.