Заметки
Как бот может запросить телефон клиента в Telegram и связать с контактом
Как запросить телефон клиента в Telegram-боте и связать его с контактом CRM: ограничения штатной интеграции и свой бот или коннектор.
Username в Telegram не является надёжным ключом клиента. Если нужно связать Telegram-клиента с CRM, лучше получить подтверждённый телефон через кнопку запроса контакта и затем искать или создавать контакт.
Задача
Клиент пишет в Telegram, а в CRM нужно понять, какой это контакт.
Если опираться только на username, связь будет нестабильной: username может отсутствовать, измениться или совпадать по смыслу с чужими данными.
Запрос телефона в Telegram
В своём Telegram-боте можно отправить клавиатуру с кнопкой запроса контакта.
{
'chat_id' => $telegram_chat_id,
'text' => 'Подтвердите номер телефона',
'reply_markup' => [
'keyboard' => [
[
[
'text' => 'Отправить телефон',
'request_contact' => true,
],
],
],
'resize_keyboard' => true,
'one_time_keyboard' => true,
],
} Важно: клиент должен сам нажать кнопку и отправить контакт. Бот не может просто прочитать телефон пользователя без его действия.
Связь с CRM
После получения телефона бот ищет контакт и сохраняет связку внешнего Telegram ID с CRM.
BX24.callMethod(
'crm.duplicate.findbycomm',
{
type: 'PHONE',
values: ['+79990000000'],
},
function (result) {
console.log(result.error() || result.data());
}
); Если контакт найден, его можно связать с диалогом. Если не найден — создать новый контакт или передать оператору сценарий ручной проверки.
Почему часто нужен свой коннектор
Штатная интеграция не всегда даёт нужный контроль над Telegram-кнопками и верификацией телефона.
Если нужен сценарий с запросом телефона, сохранением внешнего ID и дальнейшей CRM-логикой, удобнее делать собственного бота или коннектор, а не пытаться настроить всё только роботами.