Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Les fonctionnalités SMS et PSTN dépendent du numéro de téléphone que vous utilisez et du pays/région dans lequel vous opérez, comme déterminé par votre adresse de facturation Azure. Pour plus d’informations, consultez la documentation d’éligibilité de l’abonnement .
Important
Pour les commandes à volume élevé ou si votre numéro de téléphone souhaité n’est pas disponible, visitez cette page pour obtenir de l’aide supplémentaire.
Prerequisites
- Compte Azure avec un abonnement actif. Créez gratuitement un compte.
- Une ressource de services de communication active.
Acheter un numéro de téléphone
Accédez à votre ressource Communication Service dans le portail Azure.
Dans la vue d’ensemble des ressources Communication Services, sélectionnez l’option « Numéros de téléphone » dans le menu de gauche.
Sélectionnez Obtenir en haut à gauche de la page pour acheter votre numéro de téléphone. La sélection de cette option lance notre Assistant Shopping :
Choisissez le pays/la région où vous souhaitez approvisionner le numéro de téléphone. La disponibilité du pays/région est basée sur l’emplacement de facturation de votre abonnement Azure. Pour plus d’informations sur les nombres disponibles pour chaque pays/région, consultez cette page. Ensuite, vous allez choisir le type de nombre. Vous pouvez sélectionner parmi deux types de numéros de téléphone : local et gratuit.
Note
- Les commandes de numéros en bloc ou certains pays/régions, tels que les Pays-Bas, nécessitent une commande spéciale pour les numéros de téléphone. Si une commande spéciale est nécessaire, vous serez invité à suivre le processus de commande spécial mentionné ci-dessous.
- Cliquez sur le bouton « Demander une commande spéciale » dans la section Numéros de téléphone.
- Ouvrez un nouveau cas.
- Sélectionnez « Azure Communication Service » comme profil client.
- Choisissez le pays/la région où vous avez besoin des numéros de téléphone.
- Sélectionnez « Nouvelle acquisition TN » comme type de cas.
- Renseignez les détails nécessaires et envoyez votre demande.
Sélectionnez Rechercher pour extraire des nombres qui répondent à vos critères sélectionnés. Vous disposez de différents filtres pour rechercher le nombre correspondant à vos besoins, notamment :
- Cas d’usage : il s’agit de savoir si vous utilisez ce numéro pour appeler à partir d’une application (A2P) ou d’un agent humain (P2P).
- Appel : il s’agit de déterminer les fonctionnalités d’appel que vous souhaitez pour votre numéro de téléphone : passer des appels et/ou recevoir des appels.
- SMS : il s’agit de déterminer les fonctionnalités SMS souhaitées pour votre numéro de téléphone : envoi et/ou réception de sms.
- Personnalisé : vous pouvez également ajouter des filtres personnalisés pour obtenir un certain préfixe ou un ensemble de chiffres dans votre numéro de téléphone.
Une fois que vous avez trouvé le numéro de téléphone ou les numéros de votre choix, sélectionnez Ajouter au panier pour contenir les numéros dans le panier de téléphonie. Ces numéros sont conservés pendant 16 minutes avant que votre panier ne soit automatiquement effacé.
Note
Les prix indiqués sont les frais périodiques mensuels qui couvrent le coût de location du numéro de téléphone sélectionné à vous. Non inclus dans cette vue est les coûts de paiement à l’utilisation qui sont engagés lorsque vous effectuez ou recevez des appels. Les listes de prix sont disponibles ici. Ces coûts dépendent du type de numéro et des destinations appelées. Par exemple, un tarif à la minute pour un appel d’un numéro régional de Seattle à un numéro régional à New York et pour un appel du même numéro à un numéro de téléphone mobile britannique peut être différent.
Sélectionnez Suivant pour passer en revue votre achat. Pour terminer votre achat, sélectionnez Acheter maintenant.
Vous trouverez vos numéros achetés sur la page Numéros de téléphone . L’approvisionnement des nombres peut prendre quelques minutes.
Mettre à jour les fonctionnalités de numéro de téléphone
Dans la page Numéros de téléphone , vous pouvez sélectionner un numéro de téléphone pour le configurer.
Sélectionnez les fonctionnalités dans les options disponibles, puis sélectionnez Enregistrer pour appliquer votre sélection.
Libérer un numéro de téléphone
Dans la page Numéros , vous pouvez libérer des numéros de téléphone.
Sélectionnez le numéro de téléphone que vous souhaitez libérer, puis cliquez sur le bouton Libérer .
Prerequisites
Compte Azure avec un abonnement actif. Créez gratuitement un compte.
Une ressource Communication Services active et sa chaîne de connexion. Créez une ressource Communication Services.
Installez Azure CLI.
Numéro de téléphone acheté.
Configuration
Ajouter l’extension
Ajoutez l’extension Azure Communication Services pour Azure CLI à l’aide de la commande az extension.
az extension add --name communication
Connectez-vous à Azure CLI
Vous devez vous connecter à Azure CLI. Vous pouvez vous connecter en exécutant la commande az login à partir du terminal et fournir vos informations d’identification.
Operations
Répertorier les numéros de téléphone achetés
Exécutez la commande suivante pour récupérer tous les numéros de téléphone achetés.
az communication phonenumber list --connection-string "<yourConnectionString>"
Effectuez le remplacement suivant dans le code :
- Remplacez
<yourConnectionString>par votre chaîne de connexion.
Obtenir les détails du numéro de téléphone acheté
Exécutez la commande suivante pour obtenir les détails d’un numéro de téléphone acheté.
az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"
Apportez ces remplacements dans le code :
- Remplacez
<purchasedPhoneNumber>par un numéro de téléphone associé à votre ressource Communication Services. - Remplacez
<yourConnectionString>par votre chaîne de connexion.
Note
L’option Azure CLI fournit des fonctionnalités uniquement pour lister et afficher les numéros de téléphone. Elle ne prend pas en charge d’autres opérations comme la recherche, l’achat, la modification ou la publication de numéros de téléphone.
(Facultatif) Utilisez les opérations de numéros de téléphone Azure CLI sans passer une chaîne de connexion
Vous pouvez configurer la variable d’environnement AZURE_COMMUNICATION_CONNECTION_STRING afin d’utiliser les opérations de numéros de téléphone Azure CLI sans avoir à utiliser --connection_string pour transmettre la chaîne de connexion. Pour configurer une variable d’environnement, ouvrez une fenêtre de console, puis sélectionnez votre système d’exploitation dans les onglets ci-dessous. Remplacez <yourConnectionString> par votre chaîne de connexion.
Ouvrez une fenêtre de console et entrez la commande suivante :
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Après avoir ajouté la variable d’environnement, vous devrez peut-être redémarrer tous les programmes en cours d’exécution qui devront la lire, y compris la fenêtre de console. Par exemple, si vous utilisez Visual Studio comme éditeur, redémarrez Visual Studio avant d’exécuter l’exemple.
Note
Rechercher le code finalisé pour ce guide de démarrage rapide sur GitHub
Prerequisites
- Compte Azure avec un abonnement actif. Créez gratuitement un compte.
- Bibliothèque de client .NET Core la plus récente pour votre système d’exploitation.
- Une ressource Communication Services active et sa chaîne de connexion. Créez une ressource Communication Services.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez la commande
dotnetpour vérifier que la bibliothèque de client .NET est installée.
Configuration
Créer une application C#
Dans une fenêtre de console (par exemple cmd, PowerShell ou Bash), utilisez la commande dotnet new pour créer une application console avec le nom PhoneNumbersQuickstart. Cette commande crée un projet C# « Hello World » simple avec un seul fichier source : Program.cs.
dotnet new console -o PhoneNumbersQuickstart
Remplacez votre répertoire par le dossier d’application que vous venez de créer, puis utilisez la commande dotnet build pour compiler votre application.
cd PhoneNumbersQuickstart
dotnet build
Installer le package
Toujours dans le répertoire de l’application, installez le package de la bibliothèque cliente Azure Communication PhoneNumbers pour .NET à l’aide de la commande dotnet add package.
dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0
Ajoutez une using directive en haut de Program.cs pour inclure les espaces de noms.
using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;
Mettez à jour la signature de fonction Main pour qu’elle soit asynchrone.
static async Task Main(string[] args)
{
...
}
Authentifier le client
Les clients utilisant un numéro de téléphone peuvent être authentifiés grâce à la chaîne de connexion obtenue depuis une ressource Azure Communication Services dans le portail Azure.
// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Les clients de numéro de téléphone ont également la possibilité de s’authentifier à l’aide de l’authentification Microsoft Entra. Avec cette option, les variables d’environnement AZURE_CLIENT_SECRET, AZURE_CLIENT_ID et AZURE_TENANT_ID doivent être configurées pour l’authentification.
// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);
Gérer les numéros de téléphone
Rechercher les numéros de téléphone disponibles
Pour pouvoir acheter des numéros de téléphone, vous devez d’abord rechercher les numéros de téléphone disponibles. Pour rechercher des numéros de téléphone, fournissez le code de zone, le type d’affectation, les fonctionnalités de numéro de téléphone, le type de numéro de téléphone et la quantité. Notez que pour le type de numéro de téléphone gratuit, l’indicatif régional est facultatif.
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();
Acheter des numéros de téléphone
Le résultat de la recherche de numéros de téléphone correspond à PhoneNumberSearchResult. Ceci contient un SearchId qui peut être passé à l’API Acheter des numéros pour acquérir les numéros dans la recherche. Notez que l'appel de l'API Acheter des numéros de téléphone sera facturé sur votre compte Azure.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Obtenir le ou les numéros de téléphone
Après avoir acheté un numéro, vous pouvez le récupérer auprès du client.
var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");
Vous pouvez également récupérer tous les numéros de téléphone achetés.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}
Mettre à jour les fonctionnalités de numéro de téléphone
Avec un numéro acheté, vous pouvez mettre à jour les fonctionnalités.
var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();
Rendre disponible un numéro de téléphone
Vous pouvez libérer un numéro de téléphone acheté.
var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();
Exécuter le code
Exécutez l’application à partir de votre répertoire d’application avec la commande dotnet run.
dotnet run
Exemple de code
Vous pouvez télécharger l’exemple d’application à partir de GitHub.
Note
Rechercher le code finalisé pour ce guide de démarrage rapide sur GitHub
Prerequisites
- Compte Azure avec un abonnement actif. Créez gratuitement un compte.
- Java Development Kit (JDK) version 8 ou ultérieure.
- Apache Maven.
- Une ressource Communication Services déployée et sa chaîne de connexion. Créez une ressource Communication Services.
Configuration
Créer une application Java
Ouvrez votre fenêtre de terminal ou de commande. Accédez au répertoire dans lequel vous souhaitez créer votre application Java. Exécutez la commande ci-dessous pour générer le projet Java à partir du modèle maven-archetype-quickstart.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Vous remarquerez que la tâche « generate » a créé un répertoire portant le même nom que l’artifactId. Sous ce répertoire, le répertoire src/main/java contient le code source du projet, src/test/java directory contient la source de test, et le fichier pom.xml est le modèle objet du projet (le POM).
Installer le package
Ouvrez le fichier pom.xml dans votre éditeur de texte. Ajoutez les éléments de dépendance suivants au groupe de dépendances.
<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>
Configurer le framework d’application
À partir du répertoire de projet :
- Accédez au répertoire /src/main/java/com/communication/quickstart
- Ouvrez le fichier App.java dans votre éditeur
- Remplacez l’instruction
System.out.println("Hello world!"); - Ajouter des directives
import
Utilisez le code suivant pour commencer :
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
}
}
Authentifier les numéros de téléphone du client
PhoneNumberClientBuilder est activé pour utiliser l’authentification 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();
Il est également possible d'utiliser le point de terminaison et la clé d'accès de la ressource de communication pour l'authentification.
// 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();
Gérer les numéros de téléphone
Rechercher les numéros de téléphone disponibles
Pour pouvoir acheter des numéros de téléphone, vous devez d’abord rechercher les numéros de téléphone disponibles. Pour rechercher des numéros de téléphone, fournissez le code de zone, le type d’affectation, les fonctionnalités de numéro de téléphone, le type de numéro de téléphone et la quantité. Notez que pour le type de numéro de téléphone gratuit, l’indicatif régional est facultatif.
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());
}
Acheter des numéros de téléphone
Le résultat de la recherche de numéros de téléphone correspond à PhoneNumberSearchResult. Ceci contient un searchId qui peut être passé à l’API Acheter des numéros pour acquérir les numéros dans la recherche. Notez que l'appel de l'API Acheter des numéros de téléphone sera facturé sur votre compte Azure.
PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());
Obtenir le ou les numéros de téléphone
Après avoir acheté un numéro, vous pouvez le récupérer auprès du client.
PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Vous pouvez également récupérer tous les numéros de téléphone achetés.
PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Mettre à jour les fonctionnalités de numéro de téléphone
Avec un numéro acheté, vous pouvez mettre à jour les fonctionnalités.
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
}
Libérer un numéro de téléphone
Vous pouvez libérer un numéro de téléphone acheté.
PollResponse<PhoneNumberOperation> releaseResponse =
phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());
Exécuter le code
Accédez au répertoire contenant le fichier pom.xml, puis compilez le projet à l’aide de la commande mvn suivante.
mvn compile
Ensuite, générez le package.
mvn package
Exécutez la commande mvn suivante pour exécuter l’application.
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
La sortie de l’application décrit chaque action terminée :
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
Rechercher le code finalisé pour ce guide de démarrage rapide sur GitHub
Prerequisites
- Compte Azure avec un abonnement actif. Créez gratuitement un compte.
- Python 3.7+.
- Une ressource Communication Services déployée et sa chaîne de connexion. Créez une ressource Communication Services.
Configuration
Créer une application Python
Ouvrez votre terminal ou votre fenêtre de commande, créez un nouveau répertoire pour votre application, puis accédez-y.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Utilisez un éditeur de texte pour créer un fichier appelé phone_numbers_sample.py dans le répertoire racine du projet et ajoutez le code suivant. Nous allons ajouter le code de démarrage rapide restant dans les sections suivantes.
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)
Installer le package
Toujours dans le répertoire de l’application, installez le package de la bibliothèque de client Azure Communication Services Administration pour Python à l’aide de la commande pip install.
pip install azure-communication-phonenumbers
Authentifier les numéros de téléphone du client
PhoneNumbersClient est activé pour utiliser l’authentification Microsoft Entra. Pour commencer à utiliser Microsoft Entra ID, le plus simple consister à utiliser l’objet DefaultAzureCredential. Vous pouvez l’installer à l’aide de la commande pip install.
pip install azure-identity
Pour créer un objet DefaultAzureCredential, les variables d'environnement AZURE_CLIENT_ID, AZURE_CLIENT_SECRET et AZURE_TENANT_ID doivent déjà être définies avec les valeurs correspondantes de votre application Microsoft Entra inscrite.
Pour une introduction rapide sur comment obtenir ces variables d’environnement, vous pouvez suivre le Démarrage rapide pour configurer des principaux de service à partir du CLI.
Une fois la bibliothèque azure-identity installée, nous pouvons poursuivre l'authentification du 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)
Il est également possible d'utiliser le point de terminaison et la clé d'accès de la ressource de communication pour l'authentification.
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
Une fois le client PhoneNumbersClient authentifié, nous pouvons commencer à travailler sur les différentes fonctions qu'il peut remplir.
Rechercher les numéros de téléphone disponibles
Pour pouvoir acheter des numéros de téléphone, vous devez d'abord rechercher les numéros de téléphone disponibles. Pour rechercher des numéros de téléphone, indiquez le code de zone, le type d’affectation, les fonctionnalités de numéro de téléphone, le type de numéro de téléphone et la quantité (la quantité par défaut est définie sur 1). Notez que pour le type de numéro de téléphone gratuit, l’indicatif régional est facultatif.
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)
Acheter des numéros de téléphone
Le résultat de la recherche de numéros de téléphone correspond à PhoneNumberSearchResult. Ceci contient un searchId qui peut être passé à l’API Acheter des numéros pour acquérir les numéros dans la recherche. Notez que l'appel de l'API Acheter des numéros de téléphone sera facturé sur votre compte 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)
Obtenir le ou les numéros de téléphone achetés
Après avoir acheté un numéro, vous pouvez le récupérer auprès du 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)
Vous pouvez également récupérer tous les numéros de téléphone achetés.
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)
Mettre à jour les fonctionnalités de numéro de téléphone
Vous pouvez mettre à jour les fonctionnalités d'un numéro de téléphone précédemment acheté.
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())
Libérer un numéro de téléphone
Vous pouvez libérer un numéro de téléphone acheté.
release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())
Exécuter le code
À partir d’une invite de console, accédez au répertoire contenant le fichier phone_numbers_sample.py, puis exécutez la commande Python suivante pour lancer l’application.
python phone_numbers_sample.py
Note
Rechercher le code finalisé pour ce guide de démarrage rapide sur GitHub
Prerequisites
- Compte Azure avec un abonnement actif. Créez gratuitement un compte.
- Node.js versions Active LTS et Maintenance LTS (8.11.1 et 10.14.1 recommandées).
- Une ressource Communication Services active et sa chaîne de connexion. Créez une ressource Communication Services.
Vérification du prérequis
- Dans une fenêtre de terminal ou de commande, exécutez
node --versionpour vérifier que Node.js est installé.
Configuration
Créer une application Node.js
Pour commencer, ouvrez votre fenêtre de terminal ou de commande, créez un répertoire pour votre application, puis accédez-y.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Exécutez npm init -y pour créer un fichier package.json avec les paramètres par défaut.
npm init -y
Créez un fichier appelé phone-numbers-quickstart.js à la racine du répertoire que vous venez de créer. Ajoutez-lui l’extrait de code suivant :
async function main() {
// quickstart code will here
}
main();
Installer le package
Utilisez la commande npm install pour installer la bibliothèque de client Azure Communication Services Phone Numbers pour JavaScript.
npm install @azure/communication-phone-numbers --save
L’option --save ajoute la bibliothèque en tant que dépendance dans votre fichier package.json .
Authentifier le client
Importez PhoneNumbersClient à partir de la bibliothèque cliente et instanciez-le avec votre chaîne de connexion. Le code ci-dessous récupère la chaîne de connexion pour la ressource à partir d’une variable d’environnement nommée COMMUNICATION_SERVICES_CONNECTION_STRING. Découvrez comment gérer la chaîne de connexion de votre ressource.
Ajoutez le code suivant en haut de 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);
Gérer les numéros de téléphone
Rechercher les numéros de téléphone disponibles
Pour pouvoir acheter des numéros de téléphone, vous devez d’abord rechercher les numéros de téléphone disponibles. Pour rechercher des numéros de téléphone, fournissez le code de zone, le type d’affectation, les fonctionnalités de numéro de téléphone, le type de numéro de téléphone et la quantité. Notez que pour le type de numéro de téléphone gratuit, l’indicatif régional est facultatif.
Ajoutez l’extrait de code suivant à votre fonction 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}`);
Acheter un numéro de téléphone
Le résultat de la recherche de numéros de téléphone correspond à PhoneNumberSearchResult. Ceci contient un searchId qui peut être passé à l’API Acheter des numéros pour acquérir les numéros dans la recherche. Notez que l'appel de l'API Acheter des numéros de téléphone sera facturé sur votre compte Azure.
Ajoutez l’extrait de code suivant à votre fonction main.
/**
* Purchase Phone Number
*/
const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);
Mettre à jour les fonctionnalités de numéro de téléphone
Après avoir acheté un numéro de téléphone, ajoutez le code suivant pour mettre à jour ses fonctionnalités :
/**
* 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.");
Obtenir le ou les numéros de téléphone achetés
Après avoir acheté un numéro, vous pouvez le récupérer auprès du client. Ajoutez le code suivant à votre fonciton main pour obtenir le numéro de téléphone que vous venez d’acheter :
/**
* Get Purchased Phone Number
*/
const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");
Vous pouvez également récupérer tous les numéros de téléphone achetés.
const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();
for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}
Rendre disponible un numéro de téléphone
Vous pouvez maintenant libérer le numéro de téléphone acheté. Ajoutez l’extrait de code ci-dessous à votre fonction main :
/**
* Release Purchased Phone Number
*/
const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
Exécuter le code
Utilisez la node commande pour exécuter le code que vous avez ajouté au fichier phone-numbers-quickstart.js .
node phone-numbers-quickstart.js
Troubleshooting
Questions et problèmes courants :
Lorsqu’un numéro de téléphone est libéré, il apparaît dans votre ressource ACS sur le portail Azure jusqu’à la fin du cycle de facturation. Elle ne peut pas être rachetée jusqu’à la fin du cycle de facturation.
Lorsqu’une ressource Communication Services est supprimée, les numéros de téléphone associés à cette ressource sont, dans le même temps, automatiquement libérés.
Étapes suivantes
Dans ce guide de démarrage rapide, vous avez appris comment :
- Acheter un numéro de téléphone
- Gérer votre numéro de téléphone
- Libérer un numéro de téléphone
- Soumettre une application de vérification de numéro gratuit (voir si c’est nécessaire)