Partage via


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

Acheter un numéro de téléphone

  1. Accédez à votre ressource Communication 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 montrant la page des numéros de téléphone d’une ressource 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 de recherche de numéros de téléphone dans le panier d’achat.

  4. 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.
  1. 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.

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

  2. 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 un panier d’achat contenant deux numéros de téléphone.

    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.

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

  4. 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 des fonctionnalités de mise à jour.

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.

Capture d’écran montrant la page des numéros de téléphone de libération.

Sélectionnez le numéro de téléphone que vous souhaitez libérer, puis cliquez sur le bouton Libérer .

Prerequisites

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

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

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

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

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