Проверка номеров телефонов с помощью Firebase и Vonage Identity Insights

Источник: Vonage API Developer•

Проверка номеров телефонов с помощью Firebase и Vonage Identity Insights

Проверяйте номера телефонов с помощью API Identity Insights в бессерверном решении на базе вызываемых функций Google Firebase.

Введение

В этом руководстве показано, как создать демонстрационное бессерверное решение с использованием Firebase Callable Functions и API Vonage Identity Insights, который автоматически пытается очистить вводимые пользователем данные. Вам не придется беспокоиться, если ваши пользователи вводят номера с дефисами, пробелами или буквенно-цифровыми символами. API сделает все возможное для разбора и проверки номера телефона.

Проверка номеров телефонов и обеспечение их чистоты и правильного формата является обязательным требованием. В создаваемом нами демо-приложении вы можете ввести номер телефона и использовать API Vonage Identity Insights для получения информации о действительности формата, международном формате, коде страны, текущем и исходном названии оператора, а также типе сети.

Проверка номера телефона

Предварительные требования

Убедитесь, что у вас есть:

Аккаунт Google с Firebase с включенным биллингом Blaze (требуется для функций).

  • Установленный Firebase CLI: npm install -g firebase-tools

Установленный Firebase CLI: npm install -g firebase-tools

  • Аккаунт Vonage.

Аккаунт Vonage.

Структура файлов

Пример кода для этого проекта имеет следующую структуру.

Давайте свяжем каталог этого проекта с проектом Firebase. Вы можете создать несколько псевдонимов проектов, выполнив firebase use --add.

Инициализация функции Firebase

Инициализируйте функции Firebase в каталоге вашего проекта:

При появлении запроса выберите JavaScript. Также есть возможность выбрать TypeScript и Python. Затем перейдите в папку functions и установите серверный SDK Vonage:

  • Чтобы создать приложение, перейдите на страницу Создание приложения на панели управления Vonage и укажите имя для вашего приложения.

Чтобы создать приложение, перейдите на страницу Создание приложения на панели управления Vonage и укажите имя для вашего приложения.

  • Если вы планируете использовать API, задействующий веб-хуки, вам понадобится закрытый ключ. Нажмите «Сгенерировать открытый и закрытый ключи», после чего должна начаться автоматическая загрузка. Храните его в безопасности; этот ключ невозможно загрузить повторно в случае утери. Он будет следовать соглашению об именовании private_<id вашего приложения>.key. Теперь этот ключ можно использовать для аутентификации вызовов API. Примечание: ваш ключ не будет работать до тех пор, пока приложение не будет сохранено.

Если вы планируете использовать API, задействующий веб-хуки, вам понадобится закрытый ключ. Нажмите «Сгенерировать открытый и закрытый ключи», после чего должна начаться автоматическая загрузка. Храните его в безопасности; этот ключ невозможно загрузить повторно в случае утери. Он будет следовать соглашению об именовании private_<id вашего приложения>.key. Теперь этот ключ можно использовать для аутентификации вызовов API. Примечание: ваш ключ не будет работать до тех пор, пока приложение не будет сохранено.

  • Выберите необходимые возможности (например, Voice, Messages, RTC и т. д.) и укажите требуемые веб-хуки (например, URL-адреса событий, URL-адреса ответов или URL-адреса входящих сообщений). Они будут описаны в руководстве.

Выберите необходимые возможности (например, Voice, Messages, RTC и т. д.) и укажите требуемые веб-хуки (например, URL-адреса событий, URL-адреса ответов или URL-адреса входящих сообщений). Они будут описаны в руководстве.

  • Чтобы сохранить и развернуть, нажмите «Сгенерировать новое приложение» для завершения настройки. Теперь ваше приложение готово к использованию с API Vonage.

Чтобы сохранить и развернуть, нажмите «Сгенерировать новое приложение» для завершения настройки. Теперь ваше приложение готово к использованию с API Vonage.

API Vonage Identity Insights использует JWT, поэтому нам необходимо безопасно сохранить наш идентификатор приложения и закрытый ключ. Мы будем использовать встроенный менеджер секретов Firebase, чтобы эти значения никогда не хранились в исходном коде:

Затем появится запрос на добавление идентификатора приложения Vonage.

Затем появится запрос на добавление закрытого ключа Vonage, связанного с идентификатором вашего приложения.

Изучение логики бэкенда

Мы будем использовать API Vonage Identity Insights. Вызываемые функции Firebase (Callable Functions) автоматически обрабатывают CORS и аутентификацию, позволяя вашему фронтенду вызывать их. Вы можете следить за ходом работы с помощью полного примера в репозитории примеров.

Мы инициализируем клиент Vonage. Identity Insights требует аутентификации JWT. Мы инициализируем клиент, используя сохраненные ранее секреты.

Примечание: .replace(/\n/g, '\n') — это исправление для обработки проблем с форматированием новых строк при использовании Firebase Secret Manager.

Примечание: .replace(/\n/g, '\n') — это исправление для обработки проблем с форматированием новых строк при использовании Firebase Secret Manager.

Мы запрашиваем данные format и current_carrier из API Identity Insights, чтобы узнать не только техническую действительность номера телефона, но и является ли он мобильной линией, на которую мы действительно можем отправить SMS.

Мы упаковываем все вместе и отправляем объект ответа обратно на фронтенд, чтобы ему не приходилось разбирать сырые ответы API.

Развертывание функции в облаке

Выполните следующую команду в терминале из корневого каталога вашего проекта, чтобы развернуть функцию в Firebase:

В процессе развертывания Firebase CLI упакует исходный код вашей функции, загрузит его в Cloud Functions и настроит необходимые разрешения Cloud Secret Manager для настроенных секретов. В терминале будут отображаться журналы хода выполнения с описанием каждого шага, заканчивающиеся сообщением об успешном завершении и URL-адресом конечной точки для вашей развернутой функции.

Чтобы убедиться в успешности развертывания, откройте консоль Firebase, выберите свой проект и перейдите в раздел Functions. Вы должны увидеть validatePhone в списке на панели управления вместе с его статусом, средой выполнения и типом триггера.

Подключение фронтенда

Поскольку мы использовали вызываемую функцию (Callable Function), вызов ее из вашего веб-приложения выполняется просто. Вам не нужно возиться с запросами fetch, заголовками HTTP или разбором JSON.

Создайте index.html file и вставьте код, не забыв подставить конфигурацию вашего проекта Firebase.

Тестирование

Откройте HTML-файл в браузере, введите номер телефона в поле ввода, включая код страны, и нажмите «Проверить номер» (Validate Number). Вы получите информацию о номере телефона, точно так же, как показано на изображении в начале этого руководства.

Заключение

API Identity Insights помогает вашему приложению принимать только реальные, маршрутизируемые номера телефонов, одновременно собирая ценные данные об операторе связи. Чтобы узнать больше о том, какие данные можно извлечь из номеров телефонов, ознакомьтесь с документацией по API Vonage Identity Insights.

О чём эта статья

Ещё в разделе «Телеком и сети»

Все →

Ещё от Vonage API Platform