← Назад к заметкам

Заметки

Как связать клиента Telegram не по username, а по телефону

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

Username Telegram нельзя считать идентификатором клиента. Для CRM-связи лучше использовать внешний ID Telegram и подтверждённый телефон, который клиент сам отправил боту.

Проблема username

Username может отсутствовать, меняться и не является уникальным бизнес-ключом клиента в CRM.

Если привязка построена только на username, контакт легко потерять после переименования. Ещё хуже — связать нового клиента со старой карточкой по похожему имени.

Телефон как CRM-ключ

Телефон удобнее для поиска дублей и связи с контактом, но его нужно получать подтверждённо.

В Telegram корректный сценарий — попросить клиента отправить контакт кнопкой. Ручной ввод номера тоже возможен, но он хуже: клиент может ошибиться или ввести чужой номер.

Поиск контакта

После получения телефона нужно нормализовать номер и искать контакт по коммуникациям CRM.

BX24.callMethod(
    'crm.duplicate.findbycomm',
    {
        type: 'PHONE',
        values: ['+79990000000'],
    },
    function (result) {
        console.log(result.error() || result.data());
    }
);

Если найдено несколько контактов, лучше не выбирать автоматически. Такой случай стоит отправить оператору или в отдельный сценарий разбора дублей.

Хранение связки

Telegram ID и CRM contact ID лучше хранить в отдельной таблице или HL-блоке.

Телефон нужен для первичного поиска, а внешний Telegram ID — для стабильной технической связи. Тогда при смене username интеграция не потеряет клиента.