Démarrage rapide : obtenir et gérer des numéros de téléphone

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 relative à l’éligibilité des abonnements.

Important

Pour les commandes à volume élevé ou si le numéro de téléphone que vous souhaitez utiliser n’est pas disponible, consultez cette page pour obtenir de l’aide supplémentaire.

Prérequis

Obtenir un numéro de téléphone

Pour commencer le provisionnement de numéros, accédez à votre ressource Communication Services sur le portail Azure.

Capture d’écran montrant la page principale d’une ressource Communication Services.

Rechercher les numéros de téléphone disponibles

Accédez au panneau Numéros de téléphone dans le menu des ressources.

Capture d’écran montrant la page des numéros de téléphone d’une ressource Communication Services.

Appuyez sur le bouton Obtenir pour lancer l’Assistant. L’Assistant sur le panneau Numéros de téléphone vous présente une série de questions qui vous aideront à choisir le numéro de téléphone qui correspond le mieux à votre scénario.

Vous devez d’abord choisir le pays ou la région où vous souhaitez provisionner le numéro de téléphone. Après avoir sélectionné le pays ou la région, vous devrez sélectionner le Cas d’usage qui répond le mieux à vos besoins.

Capture d’écran montrant la vue Obtenir des numéros de téléphone.

Sélectionner les fonctionnalités de votre numéro de téléphone

La configuration de votre numéro de téléphone comprend deux étapes :

  1. La sélection du type de numéro
  2. La sélection des fonctionnalités de numéro

Vous avez le choix entre deux types de numéros de téléphone : Local et Gratuit. Une fois que vous avez sélectionné un type de numéro, vous pouvez choisir la fonctionnalité.

Dans notre exemple, nous avons sélectionné le type de numéro Gratuit avec les fonctionnalités Passer des appels et Envoyer et recevoir des messages SMS.

Capture d’écran montrant la vue Sélectionner les fonctionnalités

À partir de là, cliquez sur le bouton Suivant : Numéros au bas de la page pour personnaliser le ou les numéros de téléphone que vous souhaitez provisionner.

Personnalisation de numéros de téléphone

Dans la page Numéros, vous allez personnaliser le ou les numéros de téléphone que vous souhaitez provisionner.

Capture d’écran montrant la page de sélection des numéros.

Notes

Ce guide de démarrage rapide présente le flux de personnalisation du type de numéro Gratuit. L’expérience peut être légèrement différente si vous avez choisi le type de numéro Local, mais le résultat final sera le même.

Choisissez l’indicatif régional dans la liste des indicatifs régionaux disponibles, entrez la quantité que vous souhaitez provisionner, puis cliquez sur Rechercher pour rechercher les numéros qui répondent aux spécifications sélectionnées. Les numéros de téléphone qui répondent à vos besoins s’affichent avec leur coût mensuel.

Capture d’écran montrant la page de sélection des numéros avec des numéros réservés.

Notes

La disponibilité dépend du type de numéro, de l’emplacement et des fonctionnalités que vous avez sélectionnés. Les numéros sont réservés pendant une courte durée avant que la transaction n’expire. Si la transaction expire, vous devez resélectionner les numéros.

Pour afficher le récapitulatif de l’achat et passer votre commande, cliquez sur le bouton Suivant : Récapitulatif situé au bas de la page.

Acheter des numéros de téléphone

La page récapitulative passe en revue le type de numéro, les fonctionnalités, les numéros de téléphone et le coût mensuel total sélectionnés pour provisionner les numéros de téléphone.

Notes

Les tarifs indiqués sont les frais récurrents mensuels qui couvrent le coût de location du numéro de téléphone sélectionné pour vous. Cette vue n’inclut pas les coûts du paiement à l’utilisation qui sont engendrés quand vous passez ou recevez des appels. Les tarifs 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.

Enfin, cliquez sur Passer la commande en bas de la page pour confirmer.

Capture d’écran montrant la page récapitulative avec le type de numéro, les fonctionnalités, les numéros de téléphone et le coût mensuel total affichés.

Rechercher vos numéros de téléphone sur le portail Azure

Accédez à votre ressource Azure Communication Services sur le portail Azure :

Capture d’écran montrant la page principale d’une ressource Communication Services.

Sélectionnez le panneau Phone Numbers (Numéros de téléphone) dans le menu pour gérer vos numéros de téléphone.

Capture d’écran montrant la page des numéros de téléphone d’une ressource Communication Services.

Notes

L’affichage des numéros provisionnés sur cette page 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.

Capture d’écran montrant la page de mise à jour des fonctionnalités

Sélectionnez les fonctionnalités dans les options disponibles, puis cliquez sur Enregistrer pour appliquer votre sélection.

Libérer un numéro de téléphone

Sur la page Numéros, vous pouvez libérer des numéros de téléphone.

Capture d’écran montrant la page de libération de 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 .

Important

Cette fonctionnalité d’Azure Communication Services est actuellement en préversion.

Ces interfaces de programmation d’applications et kits de développement logiciel (SDK) en préversion sont fournis sans contrat au niveau du service. Nous vous recommandons de ne pas les utiliser pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

Pour plus d’informations, consultez Conditions d’utilisation supplémentaires relatives aux préversions de Microsoft Azure.

Azure Communication Services introduit une nouvelle expérience utilisateur pour l’achat de numéros de téléphone. Cette expérience est actuellement en cours de vol et vous pouvez être introduit dans cette expérience lors de l’achat d’un numéro de téléphone dans le portail Azure. Si vous avez des commentaires sur cette expérience, n’hésitez pas à l’envoyer via le bouton Envoyer des commentaires sur l’extension du portail Azure.

Prérequis

Acheter un numéro de téléphone

  1. Accédez à votre ressource App Service dans le portail Azure.

    Capture d’écran montrant la page principale d’une ressource Communication Services.

  2. Dans la vue d’ensemble des ressources Communication Services, sélectionnez l’option « Numéros de téléphone » dans le menu de gauche.

    Capture d’écran de l’option « Numéros de téléphone » de la page des ressources Communication Services.

  3. 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 :

    Capture d’écran montrant l’Assistant Recherche du panier d’achat du numéro de téléphone.

  4. Choisissez le pays/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. Vous trouverez ici plus d'informations sur les numéros disponibles pour chaque pays/région. Ensuite, vous allez choisir le type de nombre. Vous avez le choix entre deux types de numéros de téléphone : Local et Gratuit.

  5. Sélectionnez Recherche pour extraire des nombres répondant à 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 souhaitées 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.
    • Personnaliser : 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.

    Capture d’écran montrant la page d’achat du numéro de téléphone avec des numéros de téléphone disponibles.

  6. 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é.

    Capture d’écran montrant le panier d’achat du numéro de téléphone avec deux numéros de téléphone dans le panier.

    Remarque

    Les tarifs indiqués sont les frais récurrents mensuels qui couvrent le coût de location du numéro de téléphone sélectionné pour vous. Cette vue n’inclut pas les coûts du paiement à l’utilisation qui sont engendrés quand vous passez ou recevez des appels. Les tarifs 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.

  7. Sélectionnez Suivant pour passer en revue votre achat. Pour terminer votre achat, sélectionnez Acheter maintenant.

    Capture d’écran montrant 2 numéros de téléphone à examiner et acheter.

  8. Vous trouverez vos numéros achetés sur la page Numéros de téléphone. L’approvisionnement des nombres peut prendre quelques minutes.

    Capture d’écran de la page numéros de téléphone avec les numéros de téléphone nouvellement achetés boxés avec une bordure rouge.

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.

Capture d’écran montrant la page de mise à jour des fonctionnalités

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

Sur la page Numéros, vous pouvez libérer des numéros de téléphone.

Capture d’écran montrant la page de libération de 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.

Prérequis

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.

Remarque

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 transmettre de 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.

Remarque

Vous trouverez le code finalisé pour ce guide de démarrage rapide sur GitHub.

Prérequis

Vérification du prérequis

  • Dans une fenêtre de terminal ou de commande, exécutez la commande dotnet pour 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 de client Communication Services PhoneNumbers pour .NET à l’aide de la commande dotnet add package.

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

Ajoutez une directive using en haut du fichier 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 de numéro de téléphone peuvent être authentifiés à l’aide de la chaîne de connexion obtenue à partir d’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 l'indicatif régional, 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. Ce résultat contient un élément SearchId qui peut être transmis à l'API Acheter des numéros pour acquérir les numéros de 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 à partir 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();

Libérer 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.

Notes

Vous trouverez le code finalisé pour ce guide de démarrage rapide sur GitHub.

Prérequis

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 :

  1. Accédez au répertoire /src/main/java/com/communication/quickstart
  2. Ouvrez le fichier App.java dans votre éditeur
  3. Remplacez l’instruction System.out.println("Hello world!");
  4. Ajoutez 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 le client Numéros de téléphone

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 l'indicatif régional, 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. Ce résultat contient un élément searchId qui peut être transmis à l'API Acheter des numéros pour acquérir les numéros de 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 à partir 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

Notes

Vous trouverez le code finalisé pour ce guide de démarrage rapide sur GitHub.

Prérequis

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 le client Numéros de téléphone

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 savoir rapidement comment obtenir ces variables d’environnement, vous pouvez suivre le guide de démarrage rapide Configurer des principaux de service à partir de 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)

Fonctions

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, fournissez l'indicatif régional, 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 valeur par défaut est 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. Ce résultat contient un élément searchId qui peut être transmis à l'API Acheter des numéros pour acquérir les numéros de 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 à partir 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

Notes

Vous trouverez le code finalisé pour ce guide de démarrage rapide sur GitHub.

Prérequis

Vérification du prérequis

  • Dans une fenêtre de terminal ou de commande, exécutez node --version pour 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 le PhoneNumbersClient à partir de la bibliothèque de client 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 la ressource.

Ajoutez le code suivant au début du fichier 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 l'indicatif régional, 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. Ce résultat contient un élément searchId qui peut être transmis à l'API Acheter des numéros pour acquérir les numéros de 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 à partir 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}.`);
}

Libérer 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 commande node pour exécuter le code que vous avez ajouté au fichier phone-numbers-quickstart.js.

node phone-numbers-quickstart.js

Dépannage

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 nécessaire)