Поделиться через


Краткое руководство. Поиск сведений о операторе для номера телефона с помощью Службы коммуникации Azure

Внимание

Эта функция Службы коммуникации Azure сейчас доступна в предварительной версии.

Предварительные версии API и пакеты SDK предоставляются без соглашения об уровне обслуживания. Рекомендуется не использовать их для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности.

Дополнительные сведения см . в дополнительных условиях использования для предварительных версий Microsoft Azure.

Начните работу с клиентской библиотекой номеров Телефон для JavaScript для поиска сведений о операторе для номеров телефонов, которые можно использовать для определения того, следует ли взаимодействовать с этим номером телефона. Выполните следующие действия, чтобы установить пакет и найти сведения о номере телефона.

Примечание.

Код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

Проверка предварительных условий

В окне терминала или командной строки выполните node --version команду, чтобы проверка установленной Node.js.

Установка

Чтобы настроить среду для отправки запросов подстановки, выполните действия, описанные в следующих разделах.

Создание нового приложения Node.js

В окне терминала или командной строки создайте новый каталог для приложения и перейдите к нему.

mkdir number-lookup-quickstart && cd number-lookup-quickstart

Воспользуйтесь командой npm init -y, чтобы создать файл package.json с параметрами по умолчанию.

npm init -y

Создайте файл с именем number-lookup-quickstart.js в корне созданного каталога. Добавьте в него следующий фрагмент кода:

async function main() {
    // quickstart code will go here
}

main();

Установка пакета

Используйте команду npm install, чтобы установить клиентскую библиотеку Служб коммуникации для номеров телефона для JavaScript.

npm install @azure/communication-phone-numbers@1.3.0-beta.4 --save

Параметр --save добавляет библиотеку как зависимость в файле пакета package.json.

Примеры кода

аутентификация клиента;

Импортируйте Телефон NumbersClient из клиентской библиотеки и создайте экземпляр строка подключения, который можно получить из ресурса Службы коммуникации Azure в портал Azure. Использование переменной COMMUNICATION_SERVICES_CONNECTION_STRING среды рекомендуется избегать размещения строка подключения в виде обычного текста в коде. См. сведения о том, как управлять строкой подключения ресурса.

Добавьте следующий код в начало number-lookup-quickstart.js:

const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');

// This code retrieves your connection string from an environment variable
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);

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

Чтобы найти сведения о операторе номера телефона, позвоните searchOperatorInformation из .PhoneNumbersClient

let formattingResults = await phoneNumbersClient.searchOperatorInformation([ "<target-phone-number>" ]);

Замените <target-phone-number> номер телефона, который вы ищете, как правило, номер, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123).

Поиск сведений о операторе для числа

Чтобы найти сведения о операторе номера телефона, позвоните searchOperatorInformation из PhoneNumbersClientпараметра, передавая true includeAdditionalOperatorDetails этот параметр.

let searchResults = await phoneNumbersClient.searchOperatorInformation([ "<target-phone-number>" ], { "includeAdditionalOperatorDetails": true });

Предупреждение

При использовании этой функции плата взимается с вашей учетной записи.

Использование сведений о операторе

Теперь можно использовать сведения о операторе. В этом кратком руководстве мы можем распечатать некоторые сведения в консоли.

Во-первых, мы можем распечатать сведения о формате чисел.

let formatInfo = formattingResults.values[0];
console.log(formatInfo.phoneNumber + " is formatted " + formatInfo.internationalFormat + " internationally, and " + formatInfo.nationalFormat + " nationally");

Затем можно распечатать сведения о номере телефона и операторе.

let operatorInfo = searchResults.values[0];
console.log(operatorInfo.phoneNumber + " is a " + (operatorInfo.numberType ? operatorInfo.numberType : "unknown") + " number, operated in "
    + operatorInfo.isoCountryCode + " by " + (operatorInfo.operatorDetails.name ? operatorInfo.operatorDetails.name : "an unknown operator"));

Вы также можете использовать сведения о операторе, чтобы определить, следует ли отправлять SMS. Дополнительные сведения о отправке SMS см. в кратком руководстве по SMS.

Выполнение кода

Запустите приложение из терминала или командного node окна с помощью команды.

node number-lookup-quickstart.js

Пример кода

Пример приложения можно скачать из GitHub.

Начните работу с клиентской библиотекой номеров Телефон для C# для поиска сведений о операторе для номеров телефонов, которые можно использовать для определения того, следует ли взаимодействовать с этим номером телефона. Выполните следующие действия, чтобы установить пакет и найти сведения о номере телефона.

Примечание.

Код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

Проверка предварительных условий

В окне терминала или командном окне выполните команду dotnet, чтобы проверить, установлен ли пакет SDK для .NET.

Установка

Чтобы настроить среду для отправки запросов подстановки, выполните действия, описанные в следующих разделах.

Создание нового приложения C#

В окне терминала или командной строки выполните dotnet new команду, чтобы создать консольное приложение с именем NumberLookupQuickstart. Эта команда создает простой проект "Hello World" на языке C# с одним файлом исходного кода Program.cs.

dotnet new console -o NumberLookupQuickstart

Измените каталог на только что созданную папку приложения и выполните команду dotnet build, чтобы скомпилировать приложение.

cd NumberLookupQuickstart
dotnet build

Подключение веб-канал пакета разработки

Общедоступная предварительная версия пакета SDK публикуется в веб-канале пакетов разработки. Вы можете добавить веб-канал разработки с помощью интерфейса командной строки NuGet, который добавляет его в файл NuGet.Config.

nuget sources add -Name "Azure SDK for .NET Dev Feed" -Source "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json"

Более подробные сведения и другие варианты подключения к веб-каналу разработки см. в руководстве по участию.

Установка пакета

В каталоге приложений установите клиентская библиотека Службы коммуникации Azure Телефон Numbers для пакета .NET с помощью следующей команды.

dotnet add package Azure.Communication.PhoneNumbers --version 1.3.0-beta.5

Добавьте директиву using в начало Program.cs, чтобы включить пространство имен Azure.Communication.

using System;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;

Обновите сигнатуру функции Main, чтобы она стала асинхронной.

internal class Program
{
    static async Task Main(string[] args)
    {
        ...
    }
}

Примеры кода

аутентификация клиента;

Телефон клиенты номеров можно пройти проверку подлинности с помощью строка подключения, приобретенных из ресурса Службы коммуникации Azure в портал Azure. Использование переменной COMMUNICATION_SERVICES_CONNECTION_STRING среды рекомендуется избегать размещения строка подключения в виде обычного текста в коде. См. сведения о том, как управлять строкой подключения ресурса.

// This code retrieves your connection string from an environment variable.
string? connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

PhoneNumbersClient client = new PhoneNumbersClient(connectionString, new PhoneNumbersClientOptions(PhoneNumbersClientOptions.ServiceVersion.V2024_03_01_Preview));

Телефон клиенты номеров также могут проходить проверку подлинности с помощью проверки подлинности Microsoft Entra. С помощью этого параметра AZURE_CLIENT_SECRETAZURE_CLIENT_IDнеобходимо настроить переменные среды и AZURE_TENANT_ID переменные среды для проверки подлинности.

// Get an endpoint to our Azure Communication Services resource.
Uri endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);

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

Чтобы найти национальное и международное форматирование для номера, позвоните SearchOperatorInformationAsync из .PhoneNumbersClient

OperatorInformationResult formattingResult = await client.SearchOperatorInformationAsync(new[] { "<target-phone-number>" });

Замените <target-phone-number> номер телефона, который вы ищете, как правило, номер, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123).

Поиск сведений о операторе для числа

Чтобы найти сведения о операторе номера телефона, позвоните SearchOperatorInformationAsync из PhoneNumbersClientпараметра, передавая true IncludeAdditionalOperatorDetails этот параметр.

OperatorInformationResult searchResult = await client.SearchOperatorInformationAsync(new[] { "<target-phone-number>" }, new OperatorInformationOptions() { IncludeAdditionalOperatorDetails = true });

Предупреждение

При использовании этой функции плата взимается с вашей учетной записи.

Использование сведений о операторе

Теперь можно использовать сведения о операторе. В этом кратком руководстве мы можем распечатать некоторые сведения в консоли.

Во-первых, мы можем распечатать сведения о формате чисел.

OperatorInformation formattingInfo = formattingResult.Values[0];
Console.WriteLine($"{formattingInfo.PhoneNumber} is formatted {formattingInfo.InternationalFormat} internationally, and {formattingInfo.NationalFormat} nationally");

Затем можно распечатать сведения о номере телефона и операторе.

OperatorInformation operatorInformation = searchResult.Values[0];
Console.WriteLine($"{operatorInformation.PhoneNumber} is a {operatorInformation.NumberType ?? "unknown"} number, operated in {operatorInformation.IsoCountryCode} by {operatorInformation.OperatorDetails.Name ?? "an unknown operator"}");

Вы также можете использовать сведения о операторе, чтобы определить, следует ли отправлять SMS. Дополнительные сведения о отправке SMS см. в кратком руководстве по SMS.

Выполнение кода

Запустите приложение из терминала или командного dotnet run окна с помощью команды.

dotnet run --interactive

Пример кода

Пример приложения можно загрузить в репозитории GitHub.

Начните работу с клиентской библиотекой номеров Телефон java для поиска сведений о операторе для номеров телефонов, которые можно использовать для определения того, следует ли взаимодействовать с этим номером телефона и как взаимодействовать с ним. Выполните следующие действия, чтобы установить пакет и найти сведения о номере телефона.

Примечание.

Код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

Проверка предварительных условий

В окне терминала или командной строки выполните mvn -v команду, чтобы проверка установленной Maven.

Установка

Чтобы настроить среду для отправки запросов подстановки, выполните действия, описанные в следующих разделах.

Создание нового приложения Java

В окне терминала или командной строки перейдите в каталог, в котором вы хотите создать приложение Java. Выполните следующую команду, чтобы создать проект Java из шаблона maven-archetype-quickstart.

mvn archetype:generate -DgroupId=com.communication.lookup.quickstart -DartifactId=communication-lookup-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Задача "generate" создает каталог с тем же именем, что и задача artifactId"generate". В этом каталоге каталог src/main/java содержит исходный код проекта, pom.xml содержит источник теста, а файл src/test/java directory является объектной моделью проекта (POM).

Подключение веб-канал пакета разработки

Общедоступная предварительная версия пакета SDK публикуется в веб-канале пакетов разработки. Чтобы подключиться к веб-каналу разработки, откройте файл pom.xml в текстовом редакторе и добавьте репозиторий <repositories> разработки как в pom.xml, так и <distributionManagement> в разделы, которые можно добавить, если они еще не существуют.

<repository>
  <id>azure-sdk-for-java</id>
  <url>https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-java/maven/v1</url>
  <releases>
    <enabled>true</enabled>
  </releases>
  <snapshots>
    <enabled>true</enabled>
  </snapshots>
</repository>

Возможно, потребуется добавить или изменить settings.xml файл в ${user.home}/.m2

<server>
  <id>azure-sdk-for-java</id>
  <username>azure-sdk</username>
  <password>[PERSONAL_ACCESS_TOKEN]</password>
</server>

Вы можете создать личный маркер доступа с помощью упаковки область чтения и записи и вставить его в <password> тег.

Более подробные сведения и другие варианты подключения к веб-каналу разработки см . здесь.

Установка пакета

Добавьте следующие элементы зависимостей в группу зависимостей в файле pom.xml .

<dependencies>
  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
    <version>1.0.0</version>
  </dependency>

  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-phonenumbers</artifactId>
    <version>1.2.0-beta.3</version>
  </dependency>

  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.2.3</version>
  </dependency>

  <dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-core</artifactId>
    <version>1.41.0</version>
  </dependency>
</dependencies>

Проверьте раздел, чтобы убедиться, properties что проект предназначен для Maven версии 1.8 или более поздней.

<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

Примеры кода

Настройка платформы приложения

Из каталога проекта:

  1. Перейдите в каталог /src/main/java/com/communication/lookup/quickstart
  2. Откройте файл App.java в редакторе.
  3. Замените оператор System.out.println("Hello world!");.
  4. Добавьте директивы import.

Используйте следующий код:

package com.communication.lookup.quickstart;

import com.azure.communication.phonenumbers.*;
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.http.rest.*;
import com.azure.core.util.Context;
import com.azure.identity.*;
import java.io.*;
import java.util.ArrayList;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Number Lookup Quickstart");
        // Quickstart code goes here
    }
}

аутентификация клиента;

Клиент можно пройти проверку подлинности с помощью строка подключения, полученного из ресурса Службы коммуникации Azure в портал Azure. Использование переменной COMMUNICATION_SERVICES_CONNECTION_STRING среды рекомендуется избегать размещения строка подключения в виде обычного текста в коде. См. сведения о том, как управлять строкой подключения ресурса.

// This code retrieves your connection string from an environment variable
String connectionString = System.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING");

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Кроме того, можно пройти проверку подлинности с помощью проверки подлинности Microsoft Entra. DefaultAzureCredentialBuilder Использование — самый простой способ приступить к работе с идентификатором Microsoft Entra. Имя ресурса можно получить из ресурса Службы коммуникации Azure в портал Azure.

// You can find your resource name from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

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

Чтобы найти национальное и международное форматирование для номера, позвоните searchOperatorInformation из .PhoneNumbersClient

ArrayList<String> phoneNumbers = new ArrayList<String>();
phoneNumbers.add("<target-phone-number>");

// Use the free number lookup functionality to get number formatting information
OperatorInformationResult formattingResult = phoneNumberClient.searchOperatorInformation(phoneNumbers);
OperatorInformation formattingInfo = formattingResult.getValues().get(0);

Замените <target-phone-number> номер телефона, который вы ищете, как правило, номер, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123).

Поиск сведений о операторе для числа

Чтобы найти сведения о операторе номера телефона, позвоните searchOperatorInformationWithResponse из PhoneNumbersClientпараметра, передавая true IncludeAdditionalOperatorDetails этот параметр.

OperatorInformationOptions options = new OperatorInformationOptions();
options.setIncludeAdditionalOperatorDetails(true);
Response<OperatorInformationResult> result = phoneNumberClient.searchOperatorInformationWithResponse(phoneNumbers, options, Context.NONE);
OperatorInformation operatorInfo = result.getValue().getValues().get(0);

Предупреждение

При использовании этой функции плата взимается с вашей учетной записи.

Использование сведений о операторе

Теперь можно использовать сведения о операторе. В этом кратком руководстве мы можем распечатать некоторые сведения в консоли.

Во-первых, мы можем распечатать сведения о формате чисел.

System.out.println(formattingInfo.getPhoneNumber() + " is formatted "
    + formattingInfo.getInternationalFormat() + " internationally, and "
    + formattingInfo.getNationalFormat() + " nationally");

Затем можно распечатать сведения о номере телефона и операторе.

String numberType = operatorInfo.getNumberType() == null ? "unknown" : operatorInfo.getNumberType().toString();
String operatorName = "an unknown operator";
if (operatorInfo.getOperatorDetails()!= null && operatorInfo.getOperatorDetails().getName() != null)
{
    operatorName = operatorInfo.getOperatorDetails().getName();
}
System.out.println(operatorInfo.getPhoneNumber() + " is a " + numberType + " number, operated in "
    + operatorInfo.getIsoCountryCode() + " by " + operatorName);

Вы также можете использовать сведения о операторе, чтобы определить, следует ли отправлять SMS. Дополнительные сведения о отправке SMS см. в кратком руководстве по SMS.

Выполнение кода

Запустите приложение из терминала или командного окна с помощью следующих команд: перейдите в каталог, содержащий файл pom.xml и скомпилируйте проект.

mvn compile

Затем выполните сборку пакета.

mvn package

Чтобы выполнить приложение, используйте mvn команду.

mvn exec:java -D"exec.mainClass"="com.communication.lookup.quickstart.App" -D"exec.cleanupDaemonThreads"="false"

Пример кода

Пример приложения можно загрузить в репозитории GitHub.

Начало работы с клиентской библиотекой номеров Телефон для Python для поиска сведений о операторах для телефонных номеров, которые можно использовать для определения того, следует ли взаимодействовать с этим номером телефона. Выполните следующие действия, чтобы установить пакет и найти сведения о номере телефона.

Примечание.

Код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

Проверка предварительных условий

В окне терминала или команды выполните команду python --version, чтобы проверить, установлен ли пакет Python.

Установка

Чтобы настроить среду для отправки запросов подстановки, выполните действия, описанные в следующих разделах.

Создание приложения Python

В окне терминала или командной строки создайте новый каталог для приложения и перейдите к нему.

mkdir number-lookup-quickstart && cd number-lookup-quickstart

Используйте текстовый редактор для создания файла, вызываемого number_lookup_sample.py в корневом каталоге проекта, и добавьте следующий код. Оставшийся код краткого руководства добавляется в следующих разделах.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

try:
   print('Azure Communication Services - Number Lookup Quickstart')
   # Quickstart code goes here
except Exception as ex:
   print('Exception:')
   print(ex)

Установка пакета

В каталоге приложений установите клиентская библиотека Службы коммуникации Azure Телефон Numbers для пакета Python с помощью pip install команды.

pip install azure-communication-phonenumbers==1.2.0b2

Примеры кода

аутентификация клиента;

Клиент можно пройти проверку подлинности с помощью строка подключения, полученного из ресурса Службы коммуникации Azure в портал Azure. Использование переменной COMMUNICATION_SERVICES_CONNECTION_STRING среды рекомендуется избегать размещения строка подключения в виде обычного текста в коде. См. сведения о том, как управлять строкой подключения ресурса.

# This code retrieves your connection string from an environment variable
connection_string = os.getenv('COMMUNICATION_SERVICES_CONNECTION_STRING')
try:
    phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
    print('Exception:')
    print(ex)

Кроме того, клиент может пройти проверку подлинности с помощью проверки подлинности Microsoft Entra. DefaultAzureCredential Использование объекта — самый простой способ приступить к работе с идентификатором Microsoft Entra и установить его с помощью pip install команды.

pip install azure-identity

DefaultAzureCredential Для создания объекта требуется иметь AZURE_CLIENT_IDAZURE_CLIENT_SECRETи AZURE_TENANT_ID уже задать переменные среды с соответствующими значениями из зарегистрированного приложения Microsoft Entra.

Дополнительные сведения о том, как получить эти переменные среды, можно узнать , как настроить субъекты-службы из ИНТЕРФЕЙСА командной строки.

После установки библиотеки azure-identity можно продолжить проверку подлинности клиента.

from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
    print('Exception:')
    print(ex)

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

Чтобы найти национальное и международное форматирование для номера, позвоните search_operator_information из .PhoneNumbersClient

formatting_results = phone_numbers_client.search_operator_information("<target-phone-number>")

Замените <target-phone-number> номер телефона, который вы ищете, как правило, номер, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123).

Поиск сведений о операторе для числа

Чтобы найти сведения о операторе номера телефона, позвоните search_operator_information из PhoneNumbersClientпараметра, передавая True include_additional_operator_details этот параметр.

options = { "include_additional_operator_details": True }
operator_results = phone_numbers_client.search_operator_information("<target-phone-number>", options)

Предупреждение

При использовании этой функции плата взимается с вашей учетной записи.

Использование сведений о операторе

Теперь можно использовать сведения о операторе. В этом кратком руководстве мы можем распечатать некоторые сведения в консоли.

Во-первых, мы можем распечатать сведения о формате чисел.

formatting_info = formatting_results.values[0]
print(str.format("{0} is formatted {1} internationally, and {2} nationally", formatting_info.phone_number, formatting_info.international_format, formatting_info.national_format))

Затем можно распечатать сведения о номере телефона и операторе.

operator_information = operator_results.values[0]

number_type = operator_information.number_type if operator_information.number_type else "unknown"
if operator_information.operator_details is None or operator_information.operator_details.name is None:
    operator_name = "an unknown operator"
else:
    operator_name = operator_information.operator_details.name

print(str.format("{0} is a {1} number, operated in {2} by {3}", operator_information.phone_number, number_type, operator_information.iso_country_code, operator_name))

Вы также можете использовать сведения о операторе, чтобы определить, следует ли отправлять SMS. Дополнительные сведения о отправке SMS см. в кратком руководстве по SMS.

Выполнение кода

Запустите приложение из терминала или командного python окна с помощью команды.

python number_lookup_sample.py

Пример кода

Пример приложения можно загрузить в репозитории GitHub.

Устранение неполадок

Распространенные вопросы и проблемы.

  • Изменения переменных среды могут не вступили в силу в программах, которые уже запущены. Если вы заметили, что переменные среды не работают должным образом, попробуйте закрыть и повторно открыть все программы, которые вы используете для запуска и редактирования кода.
  • Данные, возвращаемые этой конечной точкой, распространяются на различные международные законы и правила, поэтому точность результатов зависит от нескольких факторов. К таким факторам относятся перенос номера, код страны и состояние утверждения вызывающего объекта. На основе этих факторов сведения о операторе могут быть недоступны для некоторых номеров телефонов или могут отражать исходного оператора номера телефона, а не текущего оператора.

Следующие шаги

Из этого руководства вы узнали, как выполнить следующие действия:

  • Поиск форматирования чисел
  • Поиск сведений о операторе для номера телефона