Bibliothèque cliente Azure Communication Phone Numbers pour JavaScript - version 1.0.0
La bibliothèque de numéros de téléphone fournit des fonctionnalités pour l’administration des numéros de téléphone.
Les numéros de téléphone achetés peuvent être fournis avec de nombreuses fonctionnalités, selon le pays, le type de numéro et le type d’affectation. L’utilisation entrante et sortante de SMS, l’utilisation RTC entrante et sortante sont des exemples de fonctionnalités. Les numéros de téléphone peuvent également être attribués à un bot via une URL de webhook.
Prise en main
Prérequis
- Un abonnement Azure.
- Une ressource Communication Services existante. Si vous avez besoin de créer la ressource, vous pouvez utiliser le portail Azure, le Azure PowerShell ou Azure CLI.
Installation de
npm install @azure/communication-phone-numbers
Prise en charge des navigateurs
Ensemble JavaScript
Pour utiliser cette bibliothèque cliente dans le navigateur, vous devez d’abord utiliser un bundler. Pour plus d’informations sur la façon de procéder, reportez-vous à notre documentation sur le regroupement.
Concepts clés
Le package de numéros de téléphone expose le PhoneNumbersClient
qui fournit des méthodes pour gérer les numéros de téléphone.
Types de numéro de téléphone
Les numéros de téléphone sont de deux types ; Géographique et gratuit. Les numéros de téléphone géographiques sont des numéros de téléphone associés à un emplacement, dont les indicatifs régionaux sont associés à l’indicatif régional d’un emplacement géographique. Toll-Free numéros de téléphone ne sont pas associés à un emplacement. Par exemple, aux États-Unis, les numéros gratuits peuvent être fournis avec des indicatifs régionaux tels que 800 ou 888.
Tous les numéros de téléphone géographiques d’un même pays sont regroupés dans un groupe de forfait téléphonique avec un type de numéro de téléphone géographique. Tous les numéros de téléphone Toll-Free dans le même pays sont regroupés dans un groupe de forfait téléphonique.
Recherche et acquisition de nombres
Les numéros de téléphone peuvent être recherchés via l’API de création de recherche en fournissant un type de numéro de téléphone (géographique ou gratuit), un type d’affectation (personne ou application), des fonctionnalités d’appel et de sms, un indicatif régional et une quantité de numéros de téléphone. La quantité de numéros de téléphone fournie sera réservée pendant 15 minutes. Cette recherche de numéros de téléphone peut être annulée ou achetée. Si la recherche est annulée, les numéros de téléphone deviennent disponibles pour d’autres personnes. Si la recherche est achetée, les numéros de téléphone sont acquis pour la ressource Azure.
Configuration des numéros de téléphone
Les numéros de téléphone peuvent avoir une combinaison de fonctionnalités. Ils peuvent être configurés pour prendre en charge les appels entrants et/ou sortants, ou non si vous n’utilisez pas le numéro de téléphone pour appeler. Il en est de même pour les fonctionnalités sms.
Il est important de prendre en compte le type d’affectation de votre numéro de téléphone. Certaines fonctionnalités sont limitées à un type d’affectation particulier.
Exemples
Authentification
Pour créer un objet client afin d’accéder à l’API Communication Services, vous aurez besoin d’un connection string
ou endpoint
de votre ressource Communication Services et d’un credential
. Le client Numéros de téléphone peut utiliser des informations d’identification Azure Active Directory ou des informations d’identification de clé API pour s’authentifier.
Vous pouvez obtenir une clé et/ou une chaîne de connexion à partir de votre ressource Communication Services dans le portail Azure. Vous pouvez également trouver le point de terminaison de votre ressource Communication Services dans le portail Azure.
Une fois que vous avez une clé, vous pouvez authentifier le avec l’une PhoneNumbersClient
des méthodes suivantes :
A l'aide d'une chaîne de connexion
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
Utilisation d’une clé d’accès avec AzureKeyCredential
Si vous utilisez une clé pour initialiser le client, vous devez également fournir le point de terminaison approprié. Vous pouvez obtenir ce point de terminaison à partir de votre ressource Communication Services dans le portail Azure. Une fois que vous avez une clé et un point de terminaison, vous pouvez vous authentifier avec le code suivant :
import { AzureKeyCredential } from "@azure/core-auth";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const credential = new AzureKeyCredential("<key-from-resource>");
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Utilisation d’informations d’identification Azure Active Directory
L’authentification par chaîne de connexion est utilisée dans la plupart des exemples, mais vous pouvez également vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le Kit de développement logiciel (SDK) Azure, installez le @azure/identity
package :
npm install @azure/identity
Le @azure/identity
package fournit divers types d’informations d’identification que votre application peut utiliser pour ce faire. LE FICHIER README pour @azure/identity
fournit plus de détails et d’exemples pour vous aider à démarrer.
import { DefaultAzureCredential } from "@azure/identity";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
let credential = new DefaultAzureCredential();
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Utilisation
Les sections suivantes fournissent des extraits de code qui couvrent certaines des tâches courantes à l’aide du client numéros de téléphone Azure Communication Services. Les scénarios abordés ici sont les suivants :
- Rechercher les numéros de téléphone disponibles
- Acheter des numéros de téléphone à partir d’une recherche
- Libérer un numéro de téléphone acheté
- Mettre à jour les fonctionnalités de numéro de téléphone
- Obtenir un numéro de téléphone acheté
- Répertorier les numéros de téléphone achetés
Rechercher les numéros de téléphone disponibles
Utilisez la beginSearchAvailablePhoneNumbers
méthode pour rechercher des numéros de téléphone et les réserver. Les numéros de téléphone retournés sont réservés pendant 15 minutes et peuvent être achetés pendant cette période en fournissant à searchId
la beginPurchasePhoneNumbers
méthode .
beginSearchAvailablePhoneNumbers
est une opération de longue durée et retourne un pollueur.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const searchResults = searchPoller.pollUntilDone();
console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);
console.log(`searchId: ${searchResults.searchId}`);
}
main();
Acheter des numéros de téléphone à partir d’une recherche
Utilisez la beginPurchasePhoneNumbers
méthode pour acheter les numéros de téléphone de votre recherche. Les numéros de téléphone achetés seront attribués à la ressource Communication Services utilisée lors du lancement du client. Le searchId
retourné à partir de beginSearchAvailablePhoneNumbers
est obligatoire.
beginPurchasePhoneNumbers
est une opération de longue durée et retourne un pollueur.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = searchPoller.pollUntilDone();
const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumbers[0]}`);
}
main();
Libérer un numéro de téléphone acheté
Utilisez la beginReleasePhoneNumber
méthode pour libérer un numéro de téléphone précédemment acheté. Les numéros de téléphone libérés ne seront plus associés à la ressource Communication Services et ne seront pas disponibles pour une utilisation avec d’autres opérations (par exemple, SMS) de la ressource. Le numéro de téléphone libéré est obligatoire.
beginReleasePhoneNumber
est une opération de longue durée et retourne un pollueur.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToRelease = "<phone-number-to-release>";
const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
}
main();
Mettre à jour les fonctionnalités de numéro de téléphone
Utilisez la beginUpdatePhoneNumberCapabilities
méthode pour mettre à jour les fonctionnalités d’un numéro de téléphone acheté. Les numéros de téléphone peuvent être configurés pour prendre en charge les appels et sms entrants et/ou sortants, ou aucun des deux.
beginUpdatePhoneNumberCapabilities
est une opération de longue durée et retourne un pollueur.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToUpdate = "<phone-number-to-update>";
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
sms: "inbound+outbound",
calling: "outbound"
};
const updatePoller = await client.beginUpdatePhoneNumberCapabilities(
phoneNumberToUpdate,
updateRequest
);
// Update is underway.
const { capabilities } = await updatePoller.pollUntilDone();
console.log(`These are the update capabilities: ${capabilities}`);
}
main();
Obtenir un numéro de téléphone acheté
Utilisez la getPurchasedPhoneNumber
méthode pour obtenir des informations sur un numéro de téléphone acheté. Ces informations incluent le type, les fonctionnalités, le coût et la date d’achat du numéro de téléphone.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumberToGet = "<phone-number-to-get>";
const phoneNumber = await client.getPurchasedPhoneNumber(phoneNumberToGet);
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
main();
Répertorier les numéros de téléphone achetés
Utilisez la listPurchasedPhoneNumbers
méthode pour parcourir tous les numéros de téléphone achetés.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumbers = await client.listPurchasedPhoneNumbers();
for await (const phoneNumber of phoneNumbers) {
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
}
main();
Dépannage
Étapes suivantes
Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.
Contribution
Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.
Projets associés