Udostępnij za pośrednictwem


Szybki start: uzyskiwanie numerów telefonów i zarządzanie nimi

Ważne

Możliwości sms i PSTN zależą od używanego numeru telefonu oraz kraju/regionu, w którym działasz zgodnie z adresem rozliczeniowym platformy Azure. Aby uzyskać więcej informacji, odwiedź dokumentację dotyczącą uprawnień do subskrypcji.

Ważne

W przypadku zamówień o dużej ilości lub w przypadku niedostępności żądanego numeru telefonu odwiedź tę stronę , aby uzyskać dalszą pomoc.

Wymagania wstępne

Kupowanie numeru telefonu

  1. Przejdź do zasobu usługi Communication Service w witrynie Azure Portal.

    Zrzut ekranu przedstawiający stronę główną zasobu usług Communication Services.

  2. W przeglądzie zasobów usług komunikacyjnych wybierz opcję "Numery telefonów" w menu po lewej stronie.

    Zrzut ekranu przedstawiający stronę numerów telefonów zasobu usługi Communication Services.

  3. Wybierz pozycję Pobierz w lewym górnym rogu strony, aby kupić numer telefonu. Wybranie tej opcji spowoduje uruchomienie kreatora zakupów:

    Zrzut ekranu przedstawiający kreatora wyszukiwania koszyka na numerze telefonu.

  4. Wybierz kraj/region, w którym chcesz aprowizować numer telefonu. Dostępność kraju/regionu zależy od lokalizacji rozliczeniowej subskrypcji platformy Azure. Więcej informacji na temat liczby dostępnych dla każdego kraju/regionu można znaleźć tutaj. Następnie wybierzesz typ numeru. Możesz wybrać spośród dwóch typów numerów telefonów: lokalny i bezpłatny.

Uwaga

  • Zamówienia numerów zbiorczych lub niektóre kraje/regiony, takie jak Holandia, wymagają specjalnego zamówienia numerów telefonów. Jeśli potrzebne jest specjalne zamówienie, zostanie wyświetlony monit o wykonanie poniższego procesu zamówienia specjalnego.
  • Kliknij przycisk "Zażądaj zamówienia specjalnego" w sekcji Numery telefonów.
  • Otwórz nowy przypadek.
  • Wybierz pozycję "Azure Communication Service" jako profil klienta.
  • Wybierz kraj/region, w którym potrzebne są numery telefonów.
  • Wybierz pozycję "Nowe pozyskiwanie TN" jako typ przypadku.
  • Wypełnij niezbędne szczegóły i prześlij żądanie.
  1. Wybierz pozycję Wyszukaj , aby ściągnąć numery spełniające wybrane kryteria. Dostępne są różne filtry umożliwiające wyszukiwanie liczby pasujących do Twoich potrzeb, w tym:

    • Przypadek użycia: dotyczy to niezależnie od tego, czy używasz tego numeru do wywoływania z aplikacji (A2P) lub od agenta ludzkiego (P2P).
    • Połączenie: Służy to do określania możliwości połączeń telefonicznych, które chcesz uzyskać dla twojego numeru telefonu: nawiązywanie połączeń i/lub odbieranie połączeń.
    • SMS: Służy to do określania możliwości wiadomości SMS, które chcesz uzyskać dla twojego numeru telefonu: wysyłanie i/lub odbieranie wiadomości SMS.
    • Niestandardowe: możesz również dodać filtry niestandardowe, aby uzyskać określony prefiks lub zestaw cyfr w numerze telefonu.

    Zrzut ekranu przedstawiający stronę zakupu numeru telefonu z dostępnymi numerami telefonów.

  2. Po znalezieniu wybranego numeru telefonu lub numerów wybierz pozycję Dodaj do koszyka , aby przechowywać numery w koszyku telefonii. Te liczby są przechowywane przez 16 minut przed automatycznym wyczyszczeniem koszyka.

    Zrzut ekranu przedstawiający koszyk z dwoma numerami telefonów.

    Uwaga

    Wyświetlane ceny to miesięczne opłaty cykliczne , które obejmują koszt dzierżawy wybranego numeru telefonu. Nie uwzględnione w tym widoku są koszty płatności zgodnie z rzeczywistym użyciem, które są naliczane podczas wykonywania lub odbierania połączeń. Cenniki są dostępne tutaj. Te koszty zależą od rodzaju numerów i miejsc docelowych, do których się dzwoni. Na przykład cena za minutę połączenia z numerem regionalnym Seattle do numeru regionalnego w Nowym Jorku i połączenie z tego samego numeru do brytyjskiego numeru komórkowego może być inne.

  3. Wybierz pozycję Dalej , aby przejrzeć zakup. Aby ukończyć zakup, wybierz pozycję Kup teraz.

    Zrzut ekranu przedstawiający 2 numery telefonów do przejrzenia i zakupu.

  4. Zakupione numery można znaleźć na stronie Numery telefonów. Może minąć kilka minut, zanim liczby zostaną dostarczone.

    Zrzut ekranu przedstawiający stronę numerów telefonów z nowo zakupionymi numerami telefonów z czerwonym obramowaniem.

Aktualizowanie funkcji numeru telefonu

Na stronie Numery telefonów możesz wybrać numer telefonu, aby go skonfigurować.

Zrzut ekranu przedstawiający stronę aktualizacji funkcji.

Wybierz funkcje z dostępnych opcji, a następnie wybierz pozycję Zapisz , aby zastosować wybór.

Zwolnij numer telefonu

Na stronie Numery można zwolnić numery telefonów.

Zrzut ekranu przedstawiający stronę numerów telefonów wydania.

Wybierz numer telefonu, który chcesz zwolnić, a następnie wybierz przycisk Zwolnij.

Wymagania wstępne

Konfigurowanie

Dodawanie rozszerzenia

Dodaj rozszerzenie Azure Communication Services dla platformy Azure CLI za pomocą polecenia az extension.

az extension add --name communication

Zaloguj się do Azure CLI

Musisz zalogować się do interfejsu wiersza polecenia platformy Azure. Możesz zalogować się, uruchamiając polecenie z poziomu terminalu az login i podając swoje poświadczenia.

Operacje

Lista zakupionych numerów telefonów

Uruchom następujące polecenie, aby pobrać wszystkie zakupione numery telefonów.

az communication phonenumber list --connection-string "<yourConnectionString>"

Dokonaj tej zamiany w kodzie:

  • Zastąp <yourConnectionString> swoim ciągiem połączenia.

Uzyskiwanie szczegółowych informacji o zakupionym numerze telefonu

Uruchom następujące polecenie, aby uzyskać szczegóły numeru telefonu dla zakupionego numeru telefonu.

az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"

Wprowadź te zamiany w kodzie:

  • Zamień <purchasedPhoneNumber> na numer telefonu powiązany z zasobem usługi komunikacyjnej.
  • Zastąp <yourConnectionString> swoim ciągiem połączenia.

Uwaga

Opcja CLI platformy Azure udostępnia funkcjonalność tylko do listowania i wyświetlania numerów telefonów. Nie obsługuje innych operacji, takich jak wyszukiwanie, kupowanie, edytowanie lub wydawanie numerów telefonów.

(Opcjonalnie) Używanie operacji numerów telefonów w Azure CLI bez przekazywania ciągu połączenia

Można skonfigurować zmienną środowiskową AZURE_COMMUNICATION_CONNECTION_STRING, aby używać operacji na numerach telefonów w Azure CLI bez konieczności używania --connection_string do przekazania ciągu połączenia. Aby skonfigurować zmienną środowiskową, otwórz okno konsoli i wybierz system operacyjny z poniższych kart. Zastąp <yourConnectionString> swoim rzeczywistym ciągiem połączenia.

Otwórz okno konsoli i wprowadź następujące polecenie:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Po dodaniu zmiennej środowiskowej być może trzeba będzie ponownie uruchomić działające programy, które muszą odczytywać zmienną środowiskową, w tym okno konsoli. Jeśli na przykład używasz programu Visual Studio jako edytora, uruchom ponownie program Visual Studio przed uruchomieniem przykładu.

Uwaga

Znajdź sfinalizowany kod dla tego szybkiego przewodnika w witrynie GitHub

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
  • Najnowsza wersja biblioteki klienta .NET Core dla systemu operacyjnego.
  • Aktywny zasób usług komunikacyjnych i parametry połączenia. Utwórz zasób usług komunikacyjnych.

Sprawdzanie wymagań wstępnych

  • W terminalu lub oknie polecenia uruchom dotnet polecenie , aby sprawdzić, czy zainstalowano bibliotekę klienta platformy .NET.

Konfigurowanie

Tworzenie nowej aplikacji w języku C#

W oknie konsoli (takim jak cmd, PowerShell lub Bash) użyj dotnet new polecenia , aby utworzyć nową aplikację konsolową o nazwie PhoneNumbersQuickstart. To polecenie tworzy prosty projekt języka C# "Hello World" z jednym plikiem źródłowym: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Zmień katalog na nowo utworzony folder aplikacji i użyj dotnet build polecenia , aby skompilować aplikację.

cd PhoneNumbersQuickstart
dotnet build

Instalowanie pakietu

Będąc nadal w katalogu aplikacji, zainstaluj pakiet biblioteki klienta Azure Communication PhoneNumbers dla .NET za pomocą polecenia dotnet add package.

dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0

Dodaj dyrektywę using na początku Program.cs , aby uwzględnić przestrzenie nazw.

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

Zaktualizuj Main sygnaturę funkcji w celu asynchronizacji.

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

Uwierzytelnianie użytkownika

Klienci usługi numeru telefonu mogą być uwierzytelniani przy użyciu ciągu połączenia uzyskanego z zasobów usług Azure Communication Services w portalu Azure.

// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);

Klienci korzystający z numeru telefonu mają również możliwość uwierzytelniania za pomocą narzędzia Microsoft Entra. W przypadku tej opcji, zmienne środowiskowe AZURE_CLIENT_SECRET, AZURE_CLIENT_ID i AZURE_TENANT_ID muszą być skonfigurowane na potrzeby uwierzytelniania.

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

Zarządzanie numerami telefonów

Wyszukaj dostępne numery telefonów

Aby kupić numery telefonów, należy najpierw wyszukać dostępne numery telefonów. Aby wyszukać numery telefonów, podaj kod obszaru, typ przypisania, możliwości numeru telefonu, typ numeru telefonu i ilość. Należy pamiętać, że w przypadku typu numeru telefonu bezpłatnego podaj opcjonalny kod obszaru.

var capabilities = new PhoneNumberCapabilities(calling:PhoneNumberCapabilityType.None, sms:PhoneNumberCapabilityType.Outbound);
var searchOptions = new PhoneNumberSearchOptions { AreaCode = "833", Quantity = 1 };

var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync("US", PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities, searchOptions);
await searchOperation.WaitForCompletionAsync();

Kupowanie numerów telefonów

Wynikiem wyszukiwania numerów telefonów jest PhoneNumberSearchResult. Zawiera on element SearchId, który można przekazać do API numeracji zakupów w celu uzyskania numerów w wyszukiwaniu. Pamiętaj, że wywołanie interfejsu API zakupu numerów telefonów będzie skutkowało należnością na Twoje konto Azure.

var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();

Zdobądź numer(y) telefonu

Po numerze zamówienia można go odzyskać od klienta.

var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");

Możesz również pobrać wszystkie zakupione numery telefonów.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}

Aktualizacja możliwości numeru telefonu

Za pomocą zakupionego numeru można zaktualizować możliwości.

var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();

Zwolnij numer telefonu

Możesz zwolnić zakupiony numer telefonu.

var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();

Uruchamianie kodu

Uruchom aplikację za pomocą polecenia dotnet run z katalogu aplikacji.

dotnet run

Przykładowy kod

Przykładową aplikację można pobrać z usługi GitHub

Uwaga

Znajdź sfinalizowany kod dla tego szybkiego przewodnika w witrynie GitHub

Wymagania wstępne

Konfigurowanie

Tworzenie nowej aplikacji Java

Otwórz terminal lub okno polecenia. Przejdź do katalogu, w którym chcesz utworzyć aplikację Java. Uruchom poniższe polecenie, aby wygenerować projekt Java z szablonu maven-archetype-quickstart.

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

Zauważysz, że zadanie "generate" utworzyło katalog o takiej samej nazwie jak artifactId. W tym katalogu katalog src/main/java zawiera kod źródłowy projektu, src/test/java directory zawiera źródło testowe, a pom.xml plik jest projektem Project Object Model lub POM.

Instalowanie pakietu

Otwórz plik pom.xml w edytorze tekstów. Dodaj następujące elementy zależności do grupy zależności.

<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.0.0</version>
</dependency>

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

Konfigurowanie struktury aplikacji

Z katalogu projektu:

  1. Przejdź do katalogu /src/main/java/com/communication/quickstart
  2. Otwórz plik App.java w edytorze
  3. Zastąp oświadczenie System.out.println("Hello world!");
  4. Dodaj import dyrektywy

Użyj następującego kodu, aby rozpocząć:

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.core.util.polling.LongRunningOperationStatus;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
import com.azure.identity.*;
import java.io.*;

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

Uwierzytelnianie klienta numerów telefonów

Funkcja PhoneNumberClientBuilder jest włączona do korzystania z uwierzytelniania firmy Microsoft Entra

// You can find your endpoint and access key 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();

Alternatywnie możliwe jest również użycie punktu końcowego i klucza dostępu z zasobu komunikacji do uwierzytelniania.

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

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

Zarządzanie numerami telefonów

Wyszukaj dostępne numery telefonów

Aby kupić numery telefonów, należy najpierw wyszukać dostępne numery telefonów. Aby wyszukać numery telefonów, podaj kod obszaru, typ przypisania, możliwości numeru telefonu, typ numeru telefonu i ilość. Należy pamiętać, że w przypadku typu numeru telefonu bezpłatnego podaj opcjonalny kod obszaru.

 PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities()
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
PhoneNumberSearchOptions searchOptions = new PhoneNumberSearchOptions().setAreaCode("833").setQuantity(1);

SyncPoller<PhoneNumberOperation, PhoneNumberSearchResult> poller = phoneNumberClient
    .beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, searchOptions, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
String searchId = "";

if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PhoneNumberSearchResult searchResult = poller.getFinalResult();
    searchId = searchResult.getSearchId();
    System.out.println("Searched phone numbers: " + searchResult.getPhoneNumbers());
    System.out.println("Search expires by: " + searchResult.getSearchExpiresBy());
    System.out.println("Phone number costs:" + searchResult.getCost().getAmount());
}

Kupowanie numerów telefonów

Wynikiem wyszukiwania numerów telefonów jest PhoneNumberSearchResult. Zawiera on element searchId, który można przekazać do API numeracji zakupów w celu uzyskania numerów w wyszukiwaniu. Pamiętaj, że wywołanie interfejsu API zakupu numerów telefonów będzie skutkowało należnością na Twoje konto Azure.

PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());

Pobierz numery telefonów

Po numerze zamówienia można go odzyskać od klienta.

PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Możesz również pobrać wszystkie zakupione numery telefonów.

PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Aktualizowanie funkcji numeru telefonu

Za pomocą zakupionego numeru można zaktualizować możliwości.

PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities();
capabilities
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);

SyncPoller<PhoneNumberOperation, PurchasedPhoneNumber> poller = phoneNumberClient.beginUpdatePhoneNumberCapabilities("+18001234567", capabilities, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PurchasedPhoneNumber phoneNumber = poller.getFinalResult();
    System.out.println("Phone Number Calling capabilities: " + phoneNumber.getCapabilities().getCalling()); //Phone Number Calling capabilities: inbound
    System.out.println("Phone Number SMS capabilities: " + phoneNumber.getCapabilities().getSms()); //Phone Number SMS capabilities: inbound+outbound
}

Zwolnij numer telefonu

Możesz zwolnić zakupiony numer telefonu.

PollResponse<PhoneNumberOperation> releaseResponse =
    phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());

Uruchamianie kodu

Przejdź do katalogu zawierającego plik pom.xml i skompiluj projekt przy użyciu następującego mvn polecenia.

mvn compile

Następnie skompiluj pakiet.

mvn package

Uruchom następujące mvn polecenie, aby wykonać aplikację.

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

Dane wyjściowe aplikacji opisują każdą ukończoną akcję:

Azure Communication Services - Phone Numbers Quickstart

Searched phone numbers: [+18001234567]

Purchase phone numbers operation is: SUCCESSFULLY_COMPLETED

Phone Number Country Code: US

Phone Number Calling capabilities: inbound

Phone Number SMS capabilities: inbound

Release phone number operation is: SUCCESSFULLY_COMPLETED

Uwaga

Znajdź sfinalizowany kod dla tego szybkiego przewodnika w witrynie GitHub

Wymagania wstępne

Konfigurowanie

Tworzenie nowej aplikacji w języku Python

Otwórz terminal lub okno polecenia i utwórz nowy katalog dla aplikacji, a następnie przejdź do niego.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Użyj edytora tekstów, aby utworzyć plik o nazwie phone_numbers_sample.py w katalogu głównym projektu i dodać następujący kod. W poniższych sekcjach dodamy pozostały kod szybkiego startu.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

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

Instalowanie pakietu

Nadal będąc w katalogu aplikacji, zainstaluj pakiet biblioteki klienta do administrowania usługami Azure Communication Services dla języka Python za pomocą polecenia pip install.

pip install azure-communication-phonenumbers

Uwierzytelnianie klienta numerów telefonów

Ustawienie PhoneNumbersClient zostało włączone, aby umożliwić korzystanie z uwierzytelniania Microsoft Entra. Najłatwiejszym sposobem na rozpoczęcie pracy z Microsoft Entra ID jest użycie obiektu DefaultAzureCredential. Można go zainstalować, używając polecenia pip install.

pip install azure-identity

DefaultAzureCredential Utworzenie obiektu wymaga, aby element AZURE_CLIENT_ID, AZURE_CLIENT_SECRETi AZURE_TENANT_ID został już ustawiony jako zmienne środowiskowe z odpowiednimi wartościami z zarejestrowanej aplikacji Firmy Microsoft Entra.

Aby szybko dowiedzieć się, jak uzyskać te zmienne środowiskowe, możesz skorzystać z przewodnika szybkiego startu konfigurowania jednostek usługi z interfejsu wiersza polecenia.

Po zainstalowaniu azure-identity biblioteki możemy kontynuować uwierzytelnianie klienta.

import os
from azure.communication.phonenumbers import PhoneNumbersClient
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:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
    print('Exception:')
    print(ex)

Alternatywnie możliwe jest również użycie punktu końcowego i klucza dostępu z zasobu komunikacji do uwierzytelniania.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
    print('Exception:')
    print(ex)

Funkcje

PhoneNumbersClient Po uwierzytelnieniu można rozpocząć pracę nad różnymi funkcjami, które może wykonać.

Wyszukaj dostępne numery telefonów

Aby kupić numery telefonów, należy najpierw wyszukać wszystkie dostępne numery telefonów. Aby wyszukać numery telefonów, podaj kod obszaru, typ przypisania, możliwości numeru telefonu, typ numeru telefonu i ilość (domyślna ilość jest ustawiona na 1). Należy pamiętać, że w przypadku typu numeru telefonu bezpłatnego podaj opcjonalny kod obszaru.

import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities
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:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        polling = True
    )
    search_result = search_poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

except Exception as ex:
    print('Exception:')
    print(ex)

Kupowanie numerów telefonów

Wynikiem wyszukiwania numerów telefonów jest PhoneNumberSearchResult. Zawiera on element searchId, który można przekazać do API numeracji zakupów w celu uzyskania numerów w wyszukiwaniu. Pamiętaj, że wywołanie interfejsu API zakupu numerów telefonów będzie skutkowało należnością na Twoje konto Azure.

import os
from azure.communication.phonenumbers import (
    PhoneNumbersClient,
    PhoneNumberCapabilityType,
    PhoneNumberAssignmentType,
    PhoneNumberType,
    PhoneNumberCapabilities
)
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:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        area_code="833",
        polling = True
    )
    search_result = poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

    purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(search_result.search_id, polling = True)
    purchase_poller.result()
    print("The status of the purchase operation was: " + purchase_poller.status())
except Exception as ex:
    print('Exception:')
    print(ex)

Pobierz zakupione numery telefonów

Po numerze zamówienia można go odzyskać od klienta.

purchased_phone_number_information = phone_numbers_client.get_purchased_phone_number("+18001234567")
print('Phone number: ' + purchased_phone_number_information.phone_number)
print('Country code: ' + purchased_phone_number_information.country_code)

Możesz również pobrać wszystkie zakupione numery telefonów.

purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers()
print('Purchased phone numbers:')
for purchased_phone_number in purchased_phone_numbers:
    print(purchased_phone_number.phone_number)

Aktualizowanie funkcji numeru telefonu

Możesz zaktualizować możliwości wcześniej zakupionego numeru telefonu.

update_poller = phone_numbers_client.begin_update_phone_number_capabilities(
    "+18001234567",
    PhoneNumberCapabilityType.OUTBOUND,
    PhoneNumberCapabilityType.OUTBOUND,
    polling = True
)
update_poller.result()
print('Status of the operation: ' + update_poller.status())

Zwolnij numer telefonu

Możesz zwolnić zakupiony numer telefonu.

release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())

Uruchamianie kodu

W wierszu polecenia konsoli przejdź do katalogu zawierającego plik phone_numbers_sample.py, a następnie wykonaj następujące polecenie języka Python, aby uruchomić aplikację.

python phone_numbers_sample.py

Uwaga

Znajdź sfinalizowany kod dla tego szybkiego przewodnika w witrynie GitHub

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
  • Node.js w wersjach Aktywne LTS i Konserwacyjne LTS (zalecane wersje 8.11.1 i 10.14.1).
  • Aktywny zasób usług komunikacyjnych i parametry połączenia. Utwórz zasób usług komunikacyjnych.

Sprawdzanie wymagań wstępnych

  • W terminalu lub oknie polecenia uruchom polecenie node --version , aby sprawdzić, czy Node.js jest zainstalowana.

Konfigurowanie

Tworzenie nowej aplikacji Node.js

Najpierw otwórz terminal lub okno polecenia, utwórz nowy katalog dla aplikacji i przejdź do niego.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Uruchom polecenie npm init -y , aby utworzyć plik package.json z ustawieniami domyślnymi.

npm init -y

Utwórz plik o nazwie phone-numbers-quickstart.js w katalogu głównym właśnie utworzonego katalogu. Dodaj do niego następujący fragment kodu:

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

main();

Instalowanie pakietu

Użyj polecenia , npm install aby zainstalować bibliotekę klienta numerów telefonów usług Azure Communication Services dla języka JavaScript.

npm install @azure/communication-phone-numbers --save

Opcja --save dodaje bibliotekę jako zależność w pliku package.json .

Uwierzytelnianie użytkownika

Zaimportuj element PhoneNumbersClient z biblioteki klienta i utwórz jego instancję przy użyciu ciągu połączenia. Poniższy kod pobiera parametry połączenia zasobu ze zmiennej środowiskowej o nazwie COMMUNICATION_SERVICES_CONNECTION_STRING. Dowiedz się, jak zarządzać parametry połączenia zasobu.

Dodaj następujący kod na początku phone-numbers-quickstart.js:

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

// This code demonstrates how to fetch 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);

Zarządzanie numerami telefonów

Wyszukaj dostępne numery telefonów

Aby kupić numery telefonów, należy najpierw wyszukać dostępne numery telefonów. Aby wyszukać numery telefonów, podaj kod obszaru, typ przypisania, możliwości numeru telefonu, typ numeru telefonu i ilość. Należy pamiętać, że w przypadku typu numeru telefonu bezpłatnego podaj opcjonalny kod obszaru.

Dodaj następujący fragment kodu do main funkcji:

/**
 * Search for Available Phone Number
 */

// Create search request
const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    areaCode: "833",
    quantity: 1
  };

const searchPoller = await phoneNumbersClient.beginSearchAvailablePhoneNumbers(searchRequest);

// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();
const phoneNumber = phoneNumbers[0];

console.log(`Found phone number: ${phoneNumber}`);
console.log(`searchId: ${searchId}`);

Zakup numeru telefonu

Wynikiem wyszukiwania numerów telefonów jest PhoneNumberSearchResult. Zawiera on element searchId, który można przekazać do API numeracji zakupów w celu uzyskania numerów w wyszukiwaniu. Pamiętaj, że wywołanie interfejsu API zakupu numerów telefonów będzie skutkowało należnością na Twoje konto Azure.

Dodaj następujący fragment kodu do main funkcji:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);

Aktualizacja możliwości numeru telefonu

Po zakupie numeru telefonu dodaj następujący kod, aby zaktualizować jego możliwości:

/**
 * Update Phone Number Capabilities
 */

// Create update request.
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
  sms: "inbound+outbound",
  calling: "outbound"
};

const updatePoller = await phoneNumbersClient.beginUpdatePhoneNumberCapabilities(
  phoneNumber,
  updateRequest
);

// Update is underway.
await updatePoller.pollUntilDone();
console.log("Phone number updated successfully.");

Pobierz zakupione numery telefonów

Po numerze zamówienia można go odzyskać od klienta. Dodaj następujący kod do main funkcji, aby pobrać właśnie zakupiony numer telefonu:

/**
 * Get Purchased Phone Number
 */

const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");

Możesz również pobrać wszystkie zakupione numery telefonów.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
  console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}

Zwolnij numer telefonu

Teraz możesz zwolnić zakupiony numer telefonu. Dodaj poniższy fragment kodu do funkcji main :

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");

Uruchamianie kodu

node Użyj polecenia , aby uruchomić kod dodany do pliku phone-numbers-quickstart.js.

node phone-numbers-quickstart.js

Rozwiązywanie problemów

Typowe pytania i problemy:

  • Po wydaniu numeru telefonu numer telefonu jest wyświetlany w zasobie usługi ACS w witrynie Azure Portal do końca cyklu rozliczeniowego. Nie można go również ponownie kupić do końca cyklu rozliczeniowego.

  • Po usunięciu zasobu usług komunikacyjnych numery telefonów skojarzone z tym zasobem są automatycznie zwalniane w tym samym czasie.

Następne kroki

W tym szybkim przewodniku nauczyłeś się, w jaki sposób: