Condividi tramite


Guida di avvio rapido: ottenere e gestire i numeri di telefono

Important

Le funzionalità SMS e PSTN dipendono dal numero di telefono usato e dal paese/area geografica in cui si opera come determinato dall'indirizzo di fatturazione di Azure. Per altre informazioni, vedere la documentazione relativa all'idoneità alla sottoscrizione .

Important

Per ordini con volumi elevati o nel caso in cui il numero di telefono desiderato non sia disponibile, visitare questa pagina per ulteriore assistenza.

Prerequisites

Acquistare un numero di telefono

  1. Passare alla risorsa del Servizio di Comunicazione nel portale di Azure.

    Screenshot che mostra la pagina principale della risorsa di Servizi di comunicazione.

  2. Nella panoramica delle risorse dei Servizi di comunicazione di Azure, selezionare l'opzione "Numeri di telefono" nel menu a sinistra.

    Screenshot che mostra la pagina numeri di telefono di una risorsa di Servizi di comunicazione.

  3. Selezionare Ottieni nella parte superiore sinistra della pagina per acquistare il numero di telefono. Selezionando questa opzione verrà avviata la procedura guidata per lo shopping:

    Screenshot che mostra la procedura guidata di ricerca del carrello acquisti per il numero di telefono.

  4. Scegliere il paese/area geografica in cui si vuole effettuare il provisioning del numero di telefono. La disponibilità per il paese/area geografica si basa sull'indirizzo di fatturazione della sottoscrizione di Azure. Altre informazioni sui numeri disponibili per ogni paese/area geografica sono disponibili qui. Scegliere quindi il tipo di numero. È possibile selezionare tra due tipi di numero di telefono: locale e numero verde.

Note

  • Gli ordini di numeri in blocco o alcuni paesi/aree geografiche, ad esempio i Paesi Bassi, richiedono un ordine speciale per i numeri di telefono. Se è necessario un ordinamento speciale, verrà richiesto di seguire il processo di ordine speciale indicato di seguito.
  • Fare clic sul pulsante "Richiedi un ordine speciale" nella sezione Numeri di telefono.
  • Aprire un nuovo caso.
  • Selezionare "Servizio di comunicazione di Azure" come profilo cliente.
  • Scegliere il paese/area geografica in cui sono necessari i numeri di telefono.
  • Seleziona "New TN Acquisition" come tipologia di caso.
  • Immettere i dettagli necessari e inviare la richiesta.
  1. Selezionare Cerca per estrarre i numeri che soddisfano i criteri selezionati. Sono disponibili vari filtri per cercare il numero più adatto alle proprie esigenze, tra cui:

    • Caso d'uso: indica se si usa questo numero per chiamare da un'applicazione (A2P) o da un agente umano (P2P).
    • Chiamata: consente di determinare le funzionalità di chiamata desiderate per il numero di telefono: effettuare chiamate e/o ricevere chiamate.
    • SMS: si tratta di determinare le funzionalità SMS desiderate per il numero di telefono: invio e/o ricezione di messaggi SMS.
    • Personalizzato: è anche possibile aggiungere filtri personalizzati per ottenere un determinato prefisso o un determinato set di cifre nel numero di telefono.

    Screenshot che mostra la pagina di acquisto del numero di telefono con i numeri di telefono disponibili.

  2. Dopo aver trovato il numero di telefono o i numeri a scelta, selezionare Aggiungi al carrello per contenere i numeri nel carrello telefonia. Questi numeri vengono mantenuti per 16 minuti prima che il contenuto del carrello venga cancellato automaticamente.

    Screenshot che mostra il carrello acquisti dei numeri di telefono con due numeri di telefono nel carrello.

    Note

    I prezzi indicati sono gli addebiti ricorrenti mensili che coprono il costo del leasing del numero di telefono selezionato. Non incluso in questa visualizzazione sono i costi con pagamento in base al consumo che vengono addebitati quando si effettuano o si ricevono chiamate. I listini prezzi sono disponibili qui. Questi costi dipendono dal tipo di numero e dalle destinazioni chiamate. Ad esempio, il prezzo al minuto per una chiamata da un numero locale di Seattle a un numero locale di New York può essere diverso da quello per una chiamata dallo stesso numero a un numero di cellulare del Regno Unito.

  3. Selezionare Avanti per esaminare l'acquisto. Per completare l'acquisto, selezionare Acquista adesso.

    Screenshot che mostra 2 numeri di telefono da verificare e acquistare.

  4. È possibile trovare i numeri acquistati nella pagina Numeri di telefono . Il provisioning dei numeri potrebbe richiedere alcuni minuti.

    Screenshot della pagina dei numeri di telefono con i numeri di telefono appena acquistati incorniciati da un bordo rosso.

Aggiornare le funzionalità dei numeri di telefono

Nella pagina Numeri di telefono è possibile selezionare un numero di telefono per configurarlo.

Screenshot che mostra la pagina delle funzionalità di aggiornamento.

Selezionare le funzionalità nelle opzioni disponibili, quindi selezionare Salva per applicare la selezione.

Rilasciare un numero di telefono

Nella pagina Numeri è possibile rilasciare numeri di telefono.

Screenshot che mostra la pagina dei numeri di telefono rilasciati.

Selezionare il numero di telefono da rilasciare e quindi fare clic sul pulsante Rilascio .

Prerequisites

Configurazione

Aggiungere l'estensione

Aggiungere l'estensione Servizi di comunicazione di Azure per l'interfaccia della riga di comando di Azure usando il comando az extension.

az extension add --name communication

Accedere all'interfaccia della riga di comando di Azure

Sarà necessario accedere all'interfaccia della riga di comando di Azure. È possibile accedere eseguendo il comando az login dal terminale e specificando le credenziali.

Operations

Elencare i numeri di telefono acquistati

Eseguire il comando seguente per recuperare tutti i numeri di telefono acquistati.

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

Apportare questa sostituzione nel codice:

  • Sostituire <yourConnectionString> con la stringa di connessione.

Ottenere i dettagli del numero di telefono acquistato

Eseguire il comando seguente per ottenere i dettagli del numero di telefono del numero di telefono acquistato.

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

Effettuare queste sostituzioni nel codice:

  • Sostituire <purchasedPhoneNumber> con un numero di telefono associato alla risorsa dei Servizi di comunicazione di Azure.
  • Sostituire <yourConnectionString> con la stringa di connessione.

Note

L'opzione dell'interfaccia della riga di comando di Azure fornisce esclusivamente la funzionalità di elenco e visualizzazione dei numeri di telefono. Non sono supportate altre operazioni, ad esempio la ricerca, l'acquisto, la modifica o il rilascio di numeri di telefono.

(Facoltativo) Usare le operazioni dei numeri di telefono dell'interfaccia della riga di comando di Azure senza passare in una stringa di connessione

È possibile configurare la variabile di ambiente AZURE_COMMUNICATION_CONNECTION_STRING per usare le operazioni dei numeri di telefono dell'interfaccia della riga di comando di Azure senza dover utilizzare --connection_string per passare la stringa di connessione. Per configurare una variabile di ambiente, aprire una finestra della console e selezionare il sistema operativo dalle schede seguenti. Sostituire <yourConnectionString> con la stringa di connessione effettiva.

Aprire una finestra della console e immettere il comando seguente:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Dopo l'aggiunta della variabile di ambiente potrebbe essere necessario riavviare eventuali programmi in esecuzione che necessitano di leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Note

Trova il codice definitivo per questo quickstart su GitHub

Prerequisites

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire il comando dotnet per verificare se la libreria client .NET è installata.

Configurazione

Creare una nuova applicazione C#

In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando dotnet new per creare una nuova app console con il nome PhoneNumbersQuickstart. Questo comando crea un semplice progetto C# "Hello World" con un singolo file di origine: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Passare alla cartella dell'app appena creata e usare il comando dotnet build per compilare l'applicazione.

cd PhoneNumbersQuickstart
dotnet build

Installare il pacchetto

Restando nella directory dell'applicazione, installare la libreria client PhoneNumbers dei servizi di comunicazione di Azure per il pacchetto .NET tramite il comando dotnet add package.

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

Aggiungere una direttiva using all'inizio di Program.cs per includere i namespace.

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

Aggiornare la firma della funzione Main in modo che sia asincrona.

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

Autenticare il client

I clienti dei numeri di telefono possono essere autenticati usando la stringa di connessione acquisita dalle risorse dei Servizi di comunicazione Azure nel portale di Azure.

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

I client Numeri di telefono possono anche eseguire l'autenticazione con Microsoft Entra. Con questa opzione, le variabili di ambiente AZURE_CLIENT_SECRETAZURE_CLIENT_ID e AZURE_TENANT_ID devono essere configurate per l'autenticazione.

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

Gestire i numeri di telefono

Cercare i numeri di telefono disponibili

Per acquistare numeri di telefono, innanzitutto è necessario cercare i numeri di telefono disponibili. Per cercare numeri di telefono, specificare il codice di area, il tipo di assegnazione, le funzionalità del numero di telefono, il tipo di numero di telefono e la quantità. Tenere presente che per i numeri verdi, specificare il prefisso è facoltativo.

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();

Acquistare numeri di telefono

Il risultato della ricerca di numeri di telefono è PhoneNumberSearchResult. Contiene un oggetto SearchId che può essere trasferito all'API di acquisto dei numeri per acquisire i numeri presenti nella ricerca. Tenere presente che la chiamata all'API di acquisto dei numeri di telefono comporterà un addebito sull'account Azure.

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

Ottenere i numeri di telefono

Dopo l'acquisto di un numero è possibile recuperarlo dal client.

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

È anche possibile recuperare tutti i numeri di telefono acquistati.

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

Aggiornare le funzionalità dei numeri di telefono

Con un numero acquistato, è possibile aggiornare le funzionalità.

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

Rilasciare un numero di telefono

È possibile rilasciare un numero di telefono acquistato.

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

Eseguire il codice

Eseguire l'applicazione dalla directory dell'applicazione con il comando dotnet run.

dotnet run

Codice di esempio

È possibile scaricare l'app di esempio da GitHub

Note

Trova il codice definitivo per questo quickstart su GitHub

Prerequisites

Configurazione

Creare una nuova applicazione Java

Aprire la finestra del terminale o di comando. Passare alla directory in cui creare l'applicazione Java. Eseguire il comando seguente per generare il progetto Java dal modello maven-archetype-quickstart.

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

Si noterà che l'attività 'generate' ha creato una directory con lo stesso nome di artifactId. In questa directory, la directory src/main/java contiene il codice sorgente del progetto, la directory src/test/java directory contiene l'origine di test e il file pom.xml è il modello a oggetti del progetto o POM.

Installare il pacchetto

Aprire il file pom.xml nell'editor di testo. Aggiungere gli elementi di dipendenza seguenti al gruppo di dipendenze.

<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>

Configurare il framework dell'app

Dalla directory del progetto:

  1. Passare alla directory /src/main/java/com/communication/quickstart
  2. Aprire il file App.java nell'editor
  3. Sostituire l'istruzione System.out.println("Hello world!");
  4. Aggiungere le direttive import

Per iniziare, usare il codice seguente:

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
    }
}

Autenticare il client Numeri di telefono

PhoneNumberClientBuilder è abilitato per l'uso dell'autenticazione di 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();

In alternativa, è anche possibile usare l'endpoint e la chiave di accesso dalla risorsa di comunicazione per l'autenticazione.

// 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();

Gestire i numeri di telefono

Cercare i numeri di telefono disponibili

Per acquistare numeri di telefono, innanzitutto è necessario cercare i numeri di telefono disponibili. Per cercare numeri di telefono, specificare il codice di area, il tipo di assegnazione, le funzionalità del numero di telefono, il tipo di numero di telefono e la quantità. Tenere presente che per i numeri verdi, specificare il prefisso è facoltativo.

 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());
}

Acquistare numeri di telefono

Il risultato della ricerca di numeri di telefono è PhoneNumberSearchResult. Contiene un oggetto searchId che può essere trasferito all'API di acquisto dei numeri per acquisire i numeri presenti nella ricerca. Tenere presente che la chiamata all'API di acquisto dei numeri di telefono comporterà un addebito sull'account Azure.

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

Ottenere i numeri di telefono

Dopo l'acquisto di un numero è possibile recuperarlo dal client.

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

È anche possibile recuperare tutti i numeri di telefono acquistati.

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

Aggiornare le funzionalità dei numeri di telefono

Con un numero acquistato, è possibile aggiornare le funzionalità.

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
}

Rilasciare un numero di telefono

È possibile rilasciare un numero di telefono acquistato.

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

Eseguire il codice

Passare alla directory contenente il file pom.xml e compilare il progetto tramite il comando mvn seguente.

mvn compile

Compilare il pacchetto.

mvn package

Eseguire il comando mvn seguente per eseguire l'app.

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

L'output dell'app descrive ogni azione completata:

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

Note

Trova il codice definitivo per questo quickstart su GitHub

Prerequisites

Configurazione

Creare una nuova applicazione Python

Aprire la finestra del terminale o di comando e creare una nuova directory per l'app, quindi esplorarla.

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

Usare un editor di testo per creare un file denominato phone_numbers_sample.py nella directory radice del progetto e aggiungere il codice seguente. Nelle sezioni seguenti verrà aggiunto il codice di avvio rapido rimanente.

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)

Installare il pacchetto

Rimanendo nella directory dell'applicazione, installare la libreria client per gli SMS di Servizi di comunicazione di Azure per il pacchetto Python usando il comando pip install.

pip install azure-communication-phonenumbers

Autenticare il client Numeri di telefono

PhoneNumbersClient è abilitato per l'uso dell'autenticazione di Microsoft Entra. L'uso dell'oggetto DefaultAzureCredential è il modo più semplice per iniziare a usare Microsoft Entra ID ed è possibile installarlo tramite il comando pip install.

pip install azure-identity

Per la creazione di un oggetto DefaultAzureCredentialè necessario disporre di AZURE_CLIENT_ID, AZURE_CLIENT_SECRET e AZURE_TENANT_ID già impostati come variabili di ambiente con i valori corrispondenti nell'applicazione Microsoft Entra registrata.

Per un rapido avvio su come ottenere queste variabili di ambiente, è possibile seguire la Guida rapida per configurare i principali di servizio dalla CLI.

Dopo aver installato la libreria azure-identity, è possibile proseguire con l'autenticazione del client.

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)

In alternativa, è anche possibile usare l'endpoint e la chiave di accesso dalla risorsa di comunicazione per l'autenticazione.

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)

Functions

Dopo aver eseguito l'autenticazione di PhoneNumbersClient, è possibile iniziare a lavorare sulle diverse funzioni che può eseguire.

Cercare i numeri di telefono disponibili

Per acquistare numeri di telefono, innanzitutto è necessario cercare tutti i numeri di telefono disponibili. Per cercare numeri di telefono, specificare il codice di area, il tipo di assegnazione, le funzionalità del numero di telefono, il tipo di numero di telefono e la quantità (la quantità predefinita è impostata su 1). Tenere presente che per i numeri verdi, specificare il prefisso è facoltativo.

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)

Acquistare numeri di telefono

Il risultato della ricerca di numeri di telefono è PhoneNumberSearchResult. Contiene un oggetto searchId che può essere trasferito all'API di acquisto dei numeri per acquisire i numeri presenti nella ricerca. Tenere presente che la chiamata all'API di acquisto dei numeri di telefono comporterà un addebito sull'account 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)

Ottenere i numeri di telefono acquistati

Dopo l'acquisto di un numero è possibile recuperarlo dal client.

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)

È anche possibile recuperare tutti i numeri di telefono acquistati.

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)

Aggiornare le funzionalità dei numeri di telefono

È possibile aggiornare le funzionalità di un numero di telefono acquistato in precedenza.

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())

Rilasciare un numero di telefono

È possibile rilasciare un numero di telefono acquistato.

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

Eseguire il codice

Da un prompt della console, passare alla directory contenente il file phone_numbers_sample.py, quindi eseguire il comando Python seguente per eseguire l'app.

python phone_numbers_sample.py

Note

Trova il codice definitivo per questo quickstart su GitHub

Prerequisites

Controllo dei prerequisiti

  • In un terminale o una finestra di comando eseguire node --version per verificare che Node.js sia installato.

Configurazione

Creare una nuova applicazione Node.js

Aprire prima di tutto il terminale o la finestra di comando per creare una nuova directory per l'app e passare a tale directory.

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

Eseguire npm init -y per creare un file package.json con le impostazioni predefinite.

npm init -y

Creare un file denominato phone-numbers-quickstart.js nella radice della directory appena creata. Aggiungere il frammento di codice seguente:

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

main();

Installare il pacchetto

Usare il comando npm install per installare la libreria client Numeri di telefono dei Servizi di comunicazione di Azure per JavaScript.

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

L'opzione --save aggiunge la libreria come dipendenza nel file package.json .

Autenticare il client

Importare PhoneNumbersClient dalla libreria client e crearne un'istanza con la stringa di connessione. Il codice seguente recupera la stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING. Informazioni su come gestire la stringa di connessione della risorsa.

Aggiungere il codice seguente all'inizio di 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);

Gestire i numeri di telefono

Cercare i numeri di telefono disponibili

Per acquistare numeri di telefono, innanzitutto è necessario cercare i numeri di telefono disponibili. Per cercare numeri di telefono, specificare il codice di area, il tipo di assegnazione, le funzionalità del numero di telefono, il tipo di numero di telefono e la quantità. Tenere presente che per i numeri verdi, specificare il prefisso è facoltativo.

Aggiungere il frammento di codice seguente alla funzione main:

/**
 * 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}`);

Acquistare il numero di telefono

Il risultato della ricerca di numeri di telefono è PhoneNumberSearchResult. Contiene un oggetto searchId che può essere trasferito all'API di acquisto dei numeri per acquisire i numeri presenti nella ricerca. Tenere presente che la chiamata all'API di acquisto dei numeri di telefono comporterà un addebito sull'account Azure.

Aggiungere il frammento di codice seguente alla funzione main:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Aggiornare le funzionalità dei numeri di telefono

Con un numero di telefono appena acquistato, aggiungere il codice seguente per aggiornarne le funzionalità:

/**
 * 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.");

Ottenere i numeri di telefono acquistati

Dopo l'acquisto di un numero è possibile recuperarlo dal client. Aggiungere il codice seguente alla funzione main per ottenere il numero di telefono appena acquistato:

/**
 * Get Purchased Phone Number
 */

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

È anche possibile recuperare tutti i numeri di telefono acquistati.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

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

Rilasciare un numero di telefono

È ora possibile rilasciare il numero di telefono acquistato. Aggiungere il frammento di codice seguente alla funzione main:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

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

Eseguire il codice

Usare il node comando per eseguire il codice aggiunto al file phone-numbers-quickstart.js .

node phone-numbers-quickstart.js

Troubleshooting

Domande e problemi comuni:

  • Quando si rilascia un numero di telefono, questo viene visualizzato nella risorsa ACS nel portale di Azure fino alla fine del ciclo di fatturazione. Inoltre, non è possibile riacquistarlo fino alla fine del ciclo di fatturazione.

  • Quando una risorsa dei Servizi di comunicazione di Azure viene eliminata, i numeri di telefono associati a tale risorsa vengono rilasciati automaticamente e simultaneamente.

Passaggi successivi

In questa guida di avvio rapido si è appreso come:

  • Acquistare un numero di telefono
  • Gestire il numero di telefono
  • Rilasciare un numero di telefono
  • Invia una richiesta di verifica gratuita (vedere se necessario)