2015-03-15 1 views
1

Я хочу проверить номера своих пользователей, используя службу Nexmo или Twilo.Преобразование локальных номеров в международный формат (для использования с Rails и сервисами, такими как Nexmo/Twilo)

Чтобы отправить сообщение через эти услуги, мне нужно указать международный номер, однако я не хочу просить своих пользователей предоставить полный международный номер - только их нормальное количество, которое они предоставят кому-либо в их (я не ожидаю, что они узнают их международные коды набора и т. д.).

Итак, что является лучшим способом преобразования местного национального номера в международный? Как и их количество, каждому пользователю будет предложено предоставить свою страну. (Моя база пользователей будет международной.)

  • Должен ли я добавить дополнительное поле в таблицу Country, которая содержит международный код - а затем просто построить полный международный номер? Кажется, это нормально, пока вы не подумаете о том, что некоторые страны должны упускать 0 в начале номера, а другие нет.

  • Есть ли более простой способ? Или драгоценный камень там, который это делает?

ответ

3

Google, проект с открытым исходным кодом libphonenumber, вероятно, является лучшим инструментом для любого вида работ, связанных с номерами телефонов. Учитывая страну и номер телефона, libphonenumber можно использовать для создания формата E.164, который предпочитает Twilio. Он также может создавать номера телефонов для повышения точности данных, которые вы собираете в первую очередь. A ruby port. Пример приложения Twilio с использованием libphonenumber в php можно найти в Twilio Skills training.

+0

Спасибо, я как раз собирался опубликовать сообщение о порту Сэма Руби. Кроме того, если кто-то еще заинтересован в Nexmo, этот ответ также может быть полезен: http://stackoverflow.com/questions/24226139/rails-how-to-send-confirmation-code-via-sms-using-nexmo- апи – A4J

0

Жемчуг phony_rails обеспечивает международное форматирование и проверку. Это обертка для рельсов для phony, предоставляющая вам справки по обзору и моделирующие валидаторы. Чтобы увидеть все поддерживаемые страны, см. Репозиторий phony.