Azure Communication Administration-Clientbibliothek für JavaScript – Version 1.0.0-beta.3
Die Verwaltungsbibliothek wird zum Verwalten von Benutzern und Token für Azure Communication Services verwendet. Diese Bibliothek bietet auch Funktionen für die Verwaltung von Telefonnummern.
Erworbene Telefonnummern können je nach Land, Nummerntyp und Telefonplan viele Funktionen aufweisen. Beispiele für Funktionen sind die eingehende und ausgehende SMS-Nutzung, die eingehende und ausgehende PSTN-Nutzung. Telefonnummern können einem Bot auch über eine Webhook-URL zugewiesen werden.
Erste Schritte
Voraussetzungen
- Ein Azure-Abonnement.
- Eine vorhandene Communication Services-Ressource. Wenn Sie die Ressource erstellen müssen, können Sie das Azure-Portal oder die Azure CLI verwenden.
Installieren von
npm install @azure/communication-administration
Wichtige Begriffe
Clients
Das Verwaltungspaket macht zwei Clients verfügbar. Die CommunicationIdentityClient
stellt Methoden zum Verwalten von Benutzern und deren Token bereit. Die PhoneNumberAdministrationClient
bietet Methoden zum Verwalten von Telefonplänen und -nummern.
Übersicht über Telefonpläne
Telefonpläne gibt es in zwei Arten: Geografisch und gebührenfrei. Geografische Telefonpläne sind Telefonpläne, die einem Standort zugeordnet sind, dessen Vorwahlnummern der Vorwahl eines geografischen Standorts zugeordnet sind. Toll-Free Telefontarife sind Telefonpläne, die nicht dem Standort zugeordnet sind. In den USA können beispielsweise gebührenfreie Nummern mit Ortsvorwahlen wie 800 oder 888 enthalten.
Alle geografischen Telefonpläne innerhalb desselben Landes werden in einer Telefonplangruppe mit einem geografischen Telefonnummerntyp gruppiert. Alle Toll-Free Telefonpläne innerhalb desselben Landes werden in einer Telefonplangruppe gruppiert.
Suchen und Abrufen von Zahlen
Telefonnummern können über die API zur Erstellung der Suche durchsucht werden, indem Sie eine Telefonplan-ID, eine Ortsvorwahl und die Anzahl von Telefonnummern angeben. Die angegebene Anzahl von Telefonnummern wird für zehn Minuten reserviert. Diese Suche nach Telefonnummern kann entweder abgebrochen oder gekauft werden. Wenn die Suche abgebrochen wird, werden die Telefonnummern für andere personen verfügbar. Wenn die Suche erworben wird, werden die Telefonnummern für die Azure-Ressourcen abgerufen.
Konfigurieren und Zuweisen von Zahlen
Telefonnummern können einer Rückruf-URL über die API zum Konfigurieren von Nummern zugewiesen werden. Im Rahmen der Konfiguration benötigen Sie eine abgerufene Telefonnummer, Rückruf-URL und Anwendungs-ID.
Beispiele
Authentifizierung
Sie können einen Schlüssel und/oder eine Verbindungszeichenfolge aus Ihrer Communication Services-Ressource im Azure-Portal abrufen. Sobald Sie über einen Schlüssel verfügen, können Sie und CommunicationIdentityClient
PhoneNumberAdministrationClient
mit einer der folgenden Methoden authentifizieren:
Erstellen KeyCredential
mit AzureKeyCredential
vor dem Initialisieren des Clients
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);
Verwenden einer Verbindungszeichenfolge
import { PhoneNumberAdministrationClient } from "@azure/communication-administration";
const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Wenn Sie einen Schlüssel zum Initialisieren des Clients verwenden, müssen Sie auch den entsprechenden Endpunkt angeben. Sie können diesen Endpunkt über Ihre Communication Services-Ressource im Azure-Portal abrufen.
Verwendung
CommunicationIdentityClient
Erstellen einer Instanz von CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Erstellen eines neuen Benutzers
Verwenden Sie die createUser
-Methode, um einen neuen Benutzer zu erstellen.
const user = await client.createUser();
Erstellen und Aktualisieren eines Benutzertokens
Verwenden Sie die issueToken
-Methode, um ein Token für einen vorhandenen Benutzer auszustellen oder zu aktualisieren. Die -Methode übernimmt auch eine Liste von Kommunikationstokenbereichen. Zu den Bereichsoptionen gehören:
-
chat
(Chat) -
pstn
(Öffentliches Telefonnetz) -
voip
(Voice over IP)
let { token } = await client.issueToken(user, ["chat"]);
Um das Benutzertoken zu aktualisieren, geben Sie ein anderes Token für denselben Benutzer aus.
{ token } = await client.issueToken(user, ["chat"]);
Aufheben von Token für einen Benutzer
Verwenden Sie die revokeTokens
-Methode, um alle ausgestellten Token eines Benutzers zu widerrufen.
await client.revokeTokens(user);
revokeTokens
nimmt ein optionales zweites Argument, tokensValidFrom
. Wenn dieses Datum angegeben wird, revokeTokens
werden alle zuvor ausgestellten Token widerrufen. Andernfalls werden alle Token widerrufen.
Löschen eines Benutzers
Verwenden Sie die deleteUser
-Methode, um einen Benutzer zu löschen.
await client.deleteUser(user);
PhoneNumberAdministrationClient
Erstellen einer Instanz von PhoneNumberAdministrationClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Länder abrufen
Verwenden Sie die listSupportedCountries
-Methode, um eine Liste der unterstützten Länder abzurufen.
const countries = await client.listSupportedCountries();
for await (const country of countries) {
console.log(`Country code: ${country.countryCode}`);
console.log(`Country name: ${country.localizedName}`);
}
Abrufen von Telefonplangruppen
Telefonplangruppen gibt es in zwei Typen: Geographic und Toll-Free. Verwenden Sie die listPhonePlanGroups
-Methode, um sie abzurufen.
const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);
for await (const phonePlanGroup of phonePlanGroups) {
console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}
Abrufen von Standortoptionen
Für geografische Telefonpläne können Sie die verfügbaren geografischen Standorte abfragen. Die Standortoptionen sind wie die geografische Hierarchie eines Landes strukturiert. Beispielsweise haben die USA Bundesstaaten, und innerhalb jedes Bundesstaates sind Städte.
Verwenden Sie die getPhonePlanLocationOptions
-Methode, um die Optionen für einen Standort abzurufen.
const { locationOptions } = await client.getPhonePlanLocationOptions({
countryCode: "US",
phonePlanGroupId: "phonePlanGroupId",
phonePlanId: "phonePlanId"
});
console.log(`Got location options for: ${locationOptions.labelId}`);
Abrufen von Vorwahlen
Zum Abrufen von Ortscodes für geografische Telefonpläne sind die festgelegten Standortoptionenabfragen erforderlich. Sie müssen die Kette der geografischen Standorte einschließen, die das vom getPhonePlanLocationOptions
zurückgegebene Objekt der Standortoptionen durchlaufen.
Verwenden Sie die getAreaCodes
-Methode, um die Vorwahlen für geografische Telefonpläne abzurufen.
const { primaryAreaCodes } = await client.getAreaCodes({
locationType: "selection",
countryCode: "US",
phonePlanId: "phonePlanId",
locationOptionsQueries
});
Reservieren von Telefonnummern für den Kauf
Verwenden Sie die beginReservePhoneNumbers
-Methode, um nach Telefonnummern zu suchen und diese zu reservieren. Dieser Vorgang dauert lange.
const reservePoller = await client.beginReservePhoneNumbers({
name: "Phone number search 800",
description: "Search for 800 phone numbers"
phonePlanIds: ["phone-plan-id-1"],
areaCode: "800",
quantity: 3
});
Um die Ergebnisse der Reservierung abzurufen, verwenden Sie die pollUntilDone
-Methode für den von Ihnen erstellten Poller.
const phoneNumberReservation = await reservePoller.pollUntilDone();
Sie können die Abfrage und Reservierung abbrechen, indem Sie die Methode für den cancelOperation
von Ihnen erstellten Poller aufrufen.
await reservePoller.cancelOperation();
Erwerben von Telefonnummern aus einer Reservierung
Verwenden Sie die beginPurchasePhoneNumbers
-Methode, um die Telefonnummern aus Ihrer Reservierung zu erwerben. Das reservationId
von beginReservePhoneNumbers
zurückgegebene ist erforderlich.
beginPurchasePhoneNumbers
ist auch ein lang andauernder Vorgang.
const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);
Um die Ergebnisse des Kaufs zu erhalten, verwenden Sie die pollUntilDone
-Methode für den von Ihnen erstellten Kauf poller.
const results = await purchasePoller.pollUntilDone();
Problembehandlung
Nächste Schritte
Ausführliche Beispiele zur Verwendung dieser Bibliothek finden Sie im Beispielverzeichnis .
Mitwirken
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Verwandte Projekte
Azure SDK for JavaScript