Особенности работы метода CheckWhatsap с номерами некоторых стран#
Содержание#
1. Номера Канады и США#
Все номера Канады и США имеют формат 1ХХХХХХХХХХ.
При замене первой цифры "1" на значения равные "10", "100", "1000" и "10000" (в форматах 10ХХХХХХХХХХ, 100ХХХХХХХХХХ и т.д), метод CheckWhatsap может отдавать недостоверный результат:
- Метод вернет в теле ответа
"existsWhatsapp": true
, но сообщение отправленное на неверно записанный номер (с лишними нулями) застрянет в очереди отправки и не будет отправлено.
Как получить достоверный результат:
-
В интеграции перед проверкой номеров из 12 и более цифр автоматически убирать нули после "1" в начале номера.
Преобразуйте номер вида
1002123456789
в12123456789
для отправки сообщений.
Требуемый формат номера для отправки сообщений 12123456789@c.us
2. Номера Казахстана и России#
Все номера Казахстана и России имеют формат 7ХХХХХХХХХХ.
При проверке номера без кода страны (в формате ХХХХХХХХХХ) метод CheckWhatsap может отдавать недостоверный результат:
- Если к инстансу подключен номер РФ/КЗ, то метод вернёт ответ
"existsWhatsapp": true
, так как WhatsApp автоматически добавит к номеру "7". - Если к инстансу подключен номер других стран, то метод вернёт ответ
"existsWhatsapp": false
, так как WhatsApp определит номер как иностранный, и не станет добавлять "7".
Как получить достоверный результат:
-
В интеграции перед проверкой номеров из десяти цифр автоматически добавлять цифру "7" в начало номера.
Преобразуйте номер вида
7473456789
в77473456789
для отправки сообщений. -
Проверять номера РФ/КЗ с номера из других стран.
Требуемый формат номера для отправки сообщений 79876543210@c.us
3. Номера Мексики#
Все номера Мексики имеют формат 52ХХХХХХХХХХ либо 521ХХХХХХХХХХ.
В некоторых мексиканских номерах между кодом страны «52» и кодом города должна быть вставлена цифра «1» (так же для оператора Nextel). Код «11» в начале должен быть удалён.
Добавлять цифру "1" не требуется в следующих случаях:
- Для стационарных номеров (например, номера фиксированной телефонной сети)
- Номера мобильных операторов, которые ранее не требовали добавления цифры "1" (Правило действует для некоторых мобильных операторов)
История проблемы
Раньше, для звонков на мобильные телефоны в Мексике, ранее требовалось добавление цифры "1" после кода страны для международных звонков. Это правило осталось в WhatsApp для номеров, которые классифицируются как мобильные.
При проверке номера метод CheckWhatsap может отдавать недостоверный результат:
- Если номер должен содержать "1" после кода страны, но в запросе цифра отсутствует, метод вернёт в теле ответа
"existsWhatsapp": true
. Сообщение отправленное на неверно записанный номер (без "1") застрянет в очереди отправки и не будет отправлено. - Если номер не должен содержать "1" после кода страны, но в запросе цифра присутствует, метод вернёт в теле ответа
"existsWhatsapp": true
. Сообщение отправленное на неверно записанный номер (с "1") застрянет в очереди отправки и не будет отправлено.
Проверять правильность номера можно используя запрос https://wa.me/5210123456789. Вне зависимости от добавления в номер цифры "1", WhatsApp выполнит редирект на корректный номер.
- Номер 523345678910 при переходе https://wa.me/5213345678910 с добавлением 1 переводит в чат с аккаунтом 523345678910, то есть корректный номер 523345678910.
- Номер 5213323456789, вне зависимости добавления 1 при переходе по прямой ссылке https://wa.me/5213323456789, редирект будет в чат с номером 5213323456789.
Рекомендуем проверять корректный chatID через методы журналов либо методом GetContacts
Требуемый формат номера для отправки сообщений
520123456789@c.us либо 5210123456789@c.us