Как справиться с различиями в телефонных номерах с помощью Twilio?

Инструменты

Django - Twilio WSP API

Context

Я отправляю сообщение на свой собственный номер +54 9 (1234) 123456

Но когда я отвечаю, Twilio получает сообщение от +54 (1234) 123456

Проблема

Если я сохраняю "+54 9 (1234) 123456" в базе данных и получаю подтверждение от "+54 (1234) 123456", я не могу получить совпадение для проверки.

Это интересная проблема! Мне пришлось провести небольшое исследование аргентинских чисел, чтобы понять, что здесь происходит.

Согласно Википедии:

Для отправки SMS-сообщения на аргентинский мобильный телефон из другой страны необходимо опустить 9, используемую на международном уровне при наборе номера для голосового вызова (и 15, используемую для звонков внутри Аргентины). Например, если номер мобильного телефона в Аргентине (11) 15 1234-5678, то голосовой вызов из-за границы будет набран как +54 9 11 1234 5678, а для текстового сообщения потребуется +54 11 1234 5678, причем +54 9 11 1234 5678 обычно недействителен. Если текстовое сообщение получено из Аргентины, ответ может быть отправлен на номер, указанный в качестве отправителя. Не все мобильные провайдеры в Аргентине имеют SMS-соглашения со всеми операторами связи в мире, поэтому отправка международного SMS может быть невозможна.

.

Похоже, что когда Twilio получает сообщение с аргентинского номера, он будет обходиться без 9. Возможно, для вас будет лучше хранить номер в обеих формах (с 9 и без 9) в вашей базе данных, чтобы вы могли использовать его для отправки и получения сообщений.

У меня нет реального аргентинского мобильного номера для тестирования, но вы можете обнаружить, что API Twilio Lookup API может помочь вам форматировать номера.

Вернуться на верх