Guida introduttiva: Ottenere e gestire i numeri di telefono

Importante

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.

Importante

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

Prerequisiti

Ottenere un numero di telefono

Per iniziare il provisioning dei numeri, passare alla risorsa di Servizi di comunicazione nel portale di Azure.

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

Cercare i numeri di telefono disponibili

Passare al pannello Numeri di telefono nel menu della risorsa.

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

Premere il pulsante Ottieni per avviare la procedura guidata. La procedura guidata del pannello Numeri di telefono include una serie di domande che aiutano a scegliere il numero di telefono più adatto allo specifico scenario.

Sarà prima di tutto necessario scegliere il paese/area geografica in cui effettuare il provisioning del numero di telefono. Dopo aver selezionato il paese/area geografica, è necessario selezionare il Caso d'uso più adatto alle esigenze.

Screenshot che mostra la visualizzazione per ottenere i numeri di telefono.

Selezionare le funzionalità dei numeri di telefono

La configurazione del numero di telefono è suddivisa in due passaggi:

  1. La selezione del tipo di numero
  2. Selezione delle funzionalità del numero

È possibile selezionare tra due tipi di numero di telefono: locale e numero verde. Dopo aver selezionato un tipo di numero, è possibile scegliere la funzionalità.

In questo esempio è stato selezionato un tipo di numero verde con le funzionalità Effettua chiamate e Invia e ricevi SMS .

Screenshot che mostra la selezione delle funzionalità.

Da qui fare clic sul pulsante Avanti: Numeri nella parte inferiore della pagina per personalizzare i numeri di telefono di cui si vuole effettuare il provisioning.

Personalizzare i numeri di telefono

Nella pagina Numeri sarà possibile personalizzare i numeri di telefono di cui effettuare il provisioning.

Screenshot che mostra la pagina di selezione dei numeri.

Nota

Questa guida di avvio rapido mostra il flusso di personalizzazione del tipo di numero verde. L'esperienza può essere leggermente diversa se si è scelto il tipo numero locale , ma il risultato finale sarà lo stesso.

Scegliere il valore di Prefisso nell'elenco di quelli disponibili e immettere la quantità di cui effettuare il provisioning, quindi fare clic su Cerca per trovare i numeri che soddisfano i requisiti selezionati. Verranno visualizzati i numeri di telefono che soddisfano le esigenze insieme al relativo costo mensile.

Screenshot che mostra la pagina di selezione dei numeri con i numeri riservati.

Nota

La disponibilità varia a seconda delle selezioni effettuate per tipo di numero, località e funzionalità. I numeri sono riservati per un breve periodo di tempo prima della scadenza della transazione. Se la transazione scade, sarà necessario selezionarli di nuovo.

Per visualizzare il riepilogo degli acquisti e inserire l'ordine, fare clic sul pulsante Avanti: Riepilogo nella parte inferiore della pagina.

Acquistare numeri di telefono

Nella pagina di riepilogo è possibile rivedere il tipo di numero, le funzionalità, i numeri di telefono e il costo mensile totale per il provisioning dei numeri di telefono.

Nota

I prezzi indicati sono gli addebiti mensili ricorrenti che coprono il costo del leasing del numero di telefono selezionato. In questa visualizzazione non sono inclusi 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.

Infine, fare clic su Effettua ordine nella parte inferiore della pagina per confermare.

Screenshot che mostra la pagina di riepilogo con il tipo di numero, le funzionalità, i numeri di telefono e il costo mensile totale.

Trovare i numeri di telefono nel portale di Azure

Passare alla risorsa Servizi di comunicazione di Azure nel portale di Azure:

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

Selezionare il pannello Numeri di telefono nel menu per gestire i numeri di telefono.

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

Nota

Potrebbero essere necessari alcuni minuti prima che i numeri di cui è stato effettuato il provisioning vengano visualizzati in questa pagina.

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 di aggiornamento delle funzionalità.

Selezionare le funzionalità nelle opzioni disponibili, quindi fare clic su Salva per applicare la selezione.

Numero di telefono di rilascio

Nella pagina Numeri è possibile rilasciare numeri di telefono.

Screenshot che mostra la pagina dei numeri di telefono di rilascio.

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

Importante

Questa funzionalità di Servizi di comunicazione di Azure è attualmente in anteprima.

Le anteprime di API e SDK vengono fornite senza un contratto di servizio. È consigliabile non usarle per carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o risultare limitate.

Per altre informazioni, vedere le Condizioni per l'utilizzo supplementari delle anteprime di Microsoft Azure.

Servizi di comunicazione di Azure introduce una nuova esperienza utente per l'acquisto di numeri di telefono. Questa esperienza è attualmente in fase di anteprima e potrebbe essere introdotta a questa esperienza quando si acquista un numero di telefono in portale di Azure. Se hai commenti e suggerimenti su questa esperienza, non esitare a fornirlo tramite il pulsante Invia commenti e suggerimenti sull'estensione portale di Azure.

Prerequisiti

Acquistare un numero di telefono

  1. Passare alla risorsa del servizio di comunicazione nella portale di Azure.

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

  2. Nella panoramica delle risorse di Servizi di comunicazione 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 procedura viene 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à del paese si basa sulla posizione di fatturazione per la 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.

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

  6. 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 carrello venga cancellato automaticamente.

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

    Nota

    I prezzi indicati sono gli addebiti mensili ricorrenti che coprono il costo del leasing del numero di telefono selezionato. In questa visualizzazione non sono inclusi 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.

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

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

  8. È 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 con 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 di aggiornamento delle funzionalità.

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

Numero di telefono di rilascio

Nella pagina Numeri è possibile rilasciare numeri di telefono.

Screenshot che mostra la pagina dei numeri di telefono di rilascio.

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

Prerequisiti

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.

Operazioni

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

Sostituire 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 per un 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 di Servizi di comunicazione.
  • Sostituire <yourConnectionString> con la stringa di connessione.

Nota

L'opzione dell'interfaccia della riga di comando di Azure offre funzionalità solo per la presentazione e la visualizzazione dei numeri di telefono. Non supporta 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 un stringa di connessione

È possibile configurare la AZURE_COMMUNICATION_CONNECTION_STRING variabile di ambiente per usare le operazioni dei numeri di telefono dell'interfaccia della riga di comando di Azure senza dover usare --connection_string per passare il 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.

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub

Prerequisiti

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

Sempre nella directory dell'applicazione, installare la libreria client PhoneNumbers di Azure per il pacchetto .NET usando il dotnet add package comando .

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

Aggiungere una using direttiva all'inizio di Program.cs per includere gli spazi dei nomi.

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

Aggiornare Main la firma della funzione come asincrona.

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

Autenticare il client

I client numero di telefono possono essere autenticati usando stringa di connessione acquisiti da una Servizi di comunicazione di Azure risorse 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 numero di telefono hanno anche la possibilità di eseguire l'autenticazione con l'autenticazione di Microsoft Entra. Con questa opzione, AZURE_CLIENT_SECRETAZURE_CLIENT_ID e AZURE_TENANT_ID le variabili di ambiente 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, è prima 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à. Si noti che per il tipo di numero di telefono verde, specificando il codice di area è 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 passato all'API dei numeri di acquisto per acquisire i numeri nella ricerca. Si noti che la chiamata all'API dei numeri di telefono di acquisto comporterà un addebito per l'account Azure.

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

Ottenere i numeri di telefono

Dopo un numero di acquisto, è 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();

Numero di telefono di rilascio

È 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

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub

Prerequisiti

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, è 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, è prima 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à. Si noti che per il tipo di numero di telefono verde, specificando il codice di area è 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 passato all'API dei numeri di acquisto per acquisire i numeri nella ricerca. Si noti che la chiamata all'API dei numeri di telefono di acquisto comporterà un addebito per l'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 un numero di acquisto, è 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
}

Numero di telefono di rilascio

È 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

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub

Prerequisiti

Configurazione

Creare una nuova applicazione Python

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

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 usando il pip install comando .

pip install azure-identity

La creazione di un DefaultAzureCredential oggetto richiede l'impostazione AZURE_CLIENT_IDdi , AZURE_CLIENT_SECRETe AZURE_TENANT_ID già impostata come variabili di ambiente con i valori corrispondenti dell'applicazione Microsoft Entra registrata.

Per una rapida avvio rapido su come ottenere queste variabili di ambiente, è possibile seguire la guida introduttiva Configurare le entità servizio dall'interfaccia della riga di comando.

Dopo aver installato la azure-identity libreria, è possibile continuare a autenticare il 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, è 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)

Funzioni

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

Cercare i numeri di telefono disponibili

Per acquistare numeri di telefono, è prima 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). Si noti che per il tipo di numero di telefono verde, specificando il codice di area è 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 passato all'API dei numeri di acquisto per acquisire i numeri nella ricerca. Si noti che la chiamata all'API dei numeri di telefono di acquisto comporterà un addebito per l'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 un numero di acquisto, è 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())

Numero di telefono di rilascio

È 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

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub

Prerequisiti

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 npm install comando per installare la libreria client Servizi di comunicazione di Azure Numeri di telefono 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 il 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, è prima 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à. Si noti che per il tipo di numero di telefono verde, specificando il codice di area è facoltativo.

Aggiungere il frammento di codice seguente alla main funzione:

/**
 * 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 passato all'API dei numeri di acquisto per acquisire i numeri nella ricerca. Si noti che la chiamata all'API dei numeri di telefono di acquisto comporterà un addebito per l'account Azure.

Aggiungere il frammento di codice seguente alla main funzione:

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

Dopo avere acquistato un numero di telefono, 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 un numero di acquisto, è possibile recuperarlo dal client. Aggiungere il codice seguente alla main funzione 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}.`);
}

Numero di telefono di rilascio

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

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

Risoluzione dei problemi

Domande e problemi comuni:

  • Quando viene rilasciato un numero di telefono, il numero di telefono viene visualizzato nella risorsa ACS in portale di Azure fino alla fine del ciclo di fatturazione. Non può anche essere riacquistato fino alla fine del ciclo di fatturazione.

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

Passaggi successivi

In questo argomento di avvio rapido si è appreso come: