Особенности работы метода CheckWhatsap с номерами некоторых стран#
Содержание
Номера Канады и США
Номера Казахстана и России
Номера Мексики
Номера Канады и США#
WhatsApp автоматически сопоставляет с Канадой и США телефонные номера с первой цифрой "1" в номере.
Замена первой цифры "1" на значения равные "10", "100", "1000" и "10000", не меняет поведение WhatsApp, номер считается валидным. Метод CheckWhatsap при таком же запросе вернет в теле ответа "existsWhatsapp": true
, но сообщение отправленное на неверно записанный номер (с лишними нулями) застрянет в очереди отправки и не будет отправлено.
Номера Казахстана и России#
Метод CheckWhatsap при проверке десятизначных номеров КЗ/РФ может выдать два различных результата:
-
Если к инстансу подключен номер РФ/КЗ, то метод вернёт ответ
true
, так как автоматически добавит к номеру "7". -
Если к инстансу подключен номер из других стран, то метод вернёт ответ
false
, так как считает номер как иностранный, и не станет добавлять "7".
Это особенность поведения WhatsApp при проверки номеров. Для решения проблемы воспользуйтесь одним из решений:
-
В интеграции перед проверкой номеров из десяти чисел автоматически добавлять цифру "7" в начало номера.
Преобразуйте номер вида
74734567890
в774734567890
для отправки сообщений. -
Проверять номера РФ/КЗ с номера из других стран.
Номера Мексики#
В некоторых мексиканских номерах между кодом страны «52» и кодом города должна быть вставлена цифра «1» (так же для оператора Nextel). Код «11» в начале должен быть удалён. В итоге телефонный номер будет включать в себя 13 цифр: +52 1 XXX XXX XXXX.
Пример преобразования номера для корректной отправки
Исходный номер телефона +520123456789
Требуемый номер для отправки сообщений 5210123456789@c.us
Добавлять цифру "1" не требуется в следующих случаях:
- Для стационарных номеров (например, номера фиксированной телефонной сети)
- Номера мобильных операторов, которые ранее не требовали добавления цифры "1" (Правило действует для некоторых мобильных операторов)
История проблемы
Раньше, для звонков на мобильные телефоны в Мексике, ранее требовалось добавление цифры "1" после кода страны для международных звонков. Это правило осталось в WhatsApp для номеров, которые классифицируются как мобильные.
Альтернативные решения для корректной отправки сообщений в WhatsApp
Рекомендуем использовать чат id из входящего сообщения или проверить наличие номера создав новый чат в WhatsApp (приложение, веб версия).
Перейти по прямой ссылке номера телефона https://wa.me/52xxxx. Вне зависимости от добавления в номер цифры "1", WhatsApp выполнит редирект на корректный номер.
Например:
-
Номер 523345678910 при переходе https://wa.me/5213345678910 с добавлением 1 переводит в чат с аккаунтом 523345678910, то есть корректный номер 523345678910
-
Номер 5213323456789, вне зависимости добавления 1 при переходе по прямой ссылке https://wa.me/5213323456789, редирект будет в чат с номером 5213323456789.
Работа метода CheckWhatsapp
Будьте осторожны, метод CheckWhatsapp возвращает результат true во всех случаях.