Заметки
Как связать клиента 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 интеграция не потеряет клиента.