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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa attiva di Servizi di comunicazione.
Ottenere un numero di telefono
Per iniziare il provisioning dei numeri, passare alla risorsa di Servizi di comunicazione nel portale di Azure.
Cercare i numeri di telefono disponibili
Passare al pannello Numeri di telefono nel menu della risorsa.
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.
Selezionare le funzionalità dei numeri di telefono
La configurazione del numero di telefono è suddivisa in due passaggi:
- La selezione del tipo di numero
- 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 .
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.
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.
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.
Trovare i numeri di telefono nel portale di Azure
Passare alla risorsa Servizi di comunicazione di Azure nel portale di Azure:
Selezionare il pannello Numeri di telefono nel menu per gestire i numeri di telefono.
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.
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.
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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Una risorsa attiva di Servizi di comunicazione.
Acquistare un numero di telefono
Passare alla risorsa del servizio di comunicazione nella portale di Azure.
Nella panoramica delle risorse di Servizi di comunicazione selezionare l'opzione "Numeri di telefono" nel menu a sinistra.
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:
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.
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.
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.
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.
Selezionare Avanti per esaminare l'acquisto. Per completare l'acquisto, selezionare Acquista adesso.
È possibile trovare i numeri acquistati nella pagina Numeri di telefono. Il provisioning dei numeri potrebbe richiedere alcuni minuti.
Aggiornare le funzionalità dei numeri di telefono
Nella pagina Numeri di telefono è possibile selezionare un numero di telefono per configurarlo.
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.
Selezionare il numero di telefono da rilasciare e quindi fare clic sul pulsante Rilascio .
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
Installare l'interfaccia della riga di comando di Azure.
Numero di telefono acquistato.
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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- La versione più recente della libreria client .NET Core per il sistema operativo in uso.
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
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_SECRET
AZURE_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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Java Development Kit (JDK) versione 8 o successiva.
- Apache Maven.
- Una risorsa di Servizi di comunicazione distribuita e una stringa di connessione. Creare una risorsa di Servizi di comunicazione.
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:
- Passare alla directory /src/main/java/com/communication/quickstart
- Aprire il file App.java nell'editor
- Sostituire l'istruzione
System.out.println("Hello world!");
- 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Python 3.7+.
- Una risorsa di Servizi di comunicazione distribuita e una stringa di connessione. Creare una risorsa di Servizi di comunicazione.
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_ID
di , AZURE_CLIENT_SECRET
e 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
- Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
- Versioni di Active LTS e Maintenance LTS Node.js(versioni consigliate 8.11.1 e 10.14.1).
- Una stringa di connessione e una risorsa attiva di Servizi di comunicazione. Creare una risorsa di Servizi di comunicazione.
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:
- Acquistare un numero di telefono
- Gestire il numero di telefono
- Rilasciare un numero di telefono
- Inviare un'applicazione di verifica a pagamento (vedere se necessario)