Klientská knihovna azure Communication Administration pro JavaScript – verze 1.0.0-beta.3
Knihovna pro správu se používá ke správě uživatelů a tokenů pro Azure Communication Services. Tato knihovna také poskytuje možnosti pro správu telefonních čísel.
Získaná telefonní čísla můžou mít mnoho funkcí v závislosti na zemi, typu čísla a telefonním tarifu. Příklady funkcí jsou příchozí a odchozí využití SMS, příchozí a odchozí využití veřejné telefonní sítě. Telefonní čísla je možné robotovi přiřadit také prostřednictvím adresy URL webhooku.
Začínáme
Požadavky
- Předplatné Azure
- Existující prostředek komunikačních služeb. Pokud potřebujete vytvořit prostředek, můžete použít Azure Portal nebo Azure CLI.
Instalace
npm install @azure/communication-administration
Klíčové koncepty
Klienti
Balíček pro správu zveřejňuje dva klienty. Poskytuje CommunicationIdentityClient
metody pro správu uživatelů a jejich tokenů. Poskytuje PhoneNumberAdministrationClient
metody správy telefonních tarifů a čísel.
Přehled telefonních tarifů
Telefonní tarify mají dva typy; Geografická a bezplatná linka. Zeměpisné telefonní tarify jsou telefonní tarify spojené s místem, jehož směrová čísla jsou přidružená k směrovým kódům oblasti zeměpisného umístění. Toll-Free telefonní tarify jsou telefonní tarify, které nejsou přidružené místo. Například v USA můžou bezplatná čísla obsahovat směrová čísla oblastí 800 nebo 888.
Všechny geografické telefonní tarify v rámci stejné země jsou seskupené do skupiny telefonních tarifů s typem geografického telefonního čísla. Všechny Toll-Free telefonní tarify ve stejné zemi jsou seskupené do skupiny telefonních tarifů.
Vyhledávání a získávání čísel
Telefonní čísla je možné vyhledávat prostřednictvím rozhraní API pro vytváření hledání tak, že zadáte ID telefonního tarifu, směrové číslo oblasti a množství telefonních čísel. Zadané množství telefonních čísel bude rezervováno po dobu deseti minut. Toto vyhledávání telefonních čísel je možné zrušit nebo koupit. Pokud se hledání zruší, budou telefonní čísla dostupná ostatním uživatelům. Pokud je vyhledávání koupené, telefonní čísla se pořídí pro prostředky Azure.
Konfigurace a přiřazování čísel
Telefonní čísla je možné přiřadit k adrese URL zpětného volání prostřednictvím rozhraní API pro konfiguraci čísel. V rámci konfigurace budete potřebovat získané telefonní číslo, adresu URL zpětného volání a ID aplikace.
Příklady
Authentication
Klíč nebo připojovací řetězec můžete získat z prostředku Komunikační služby na webu Azure Portal. Jakmile budete mít klíč, můžete ověřit CommunicationIdentityClient
a PhoneNumberAdministrationClient
některou z následujících metod:
Vytvoření KeyCredential
pomocí AzureKeyCredential
před inicializací klienta
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);
Použití připojovacího řetězce
import { PhoneNumberAdministrationClient } from "@azure/communication-administration";
const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Pokud k inicializaci klienta použijete klíč, budete také muset zadat příslušný koncový bod. Tento koncový bod můžete získat z prostředku komunikačních služeb na webu Azure Portal.
Využití
CommunicationIdentityClient
Vytvoření instance CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Vytvoření nového uživatele
createUser
Pomocí metody vytvořte nového uživatele.
const user = await client.createUser();
Vytvoření a aktualizace tokenu uživatele
Použijte metodu issueToken
k vydání nebo aktualizaci tokenu pro existujícího uživatele. Metoda také přebírá seznam oborů komunikačních tokenů. Mezi možnosti oboru patří:
-
chat
(Chat) -
pstn
(Veřejná telefonní síť) -
voip
(Hlas přes IP adresu)
let { token } = await client.issueToken(user, ["chat"]);
Pokud chcete aktualizovat token uživatele, vyžáděte další token se stejným uživatelem.
{ token } = await client.issueToken(user, ["chat"]);
Odvolání tokenů pro uživatele
Použijte metodu revokeTokens
k odvolání všech vydaných tokenů uživatele.
await client.revokeTokens(user);
revokeTokens
používá volitelný druhý argument , tokensValidFrom
. Pokud je toto datum zadané, revokeTokens
odvolá všechny tokeny vydané před ním. V opačném případě budou všechny tokeny odvolány.
Odstranění uživatele
deleteUser
K odstranění uživatele použijte metodu .
await client.deleteUser(user);
PhoneNumberAdministrationClient
Vytvoření instance PhoneNumberAdministrationClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Získání zemí
Pomocí metody listSupportedCountries
získáte seznam podporovaných zemí.
const countries = await client.listSupportedCountries();
for await (const country of countries) {
console.log(`Country code: ${country.countryCode}`);
console.log(`Country name: ${country.localizedName}`);
}
Získání skupin telefonních tarifů
Skupiny telefonních tarifů mají dva typy, zeměpisné a bezplatné. Použijte metodu listPhonePlanGroups
k jejich získání.
const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);
for await (const phonePlanGroup of phonePlanGroups) {
console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}
Získání možností umístění
V případě telefonních tarifů pro zeměpisné oblasti se můžete dotazovat na dostupná geografická umístění. Možnosti umístění jsou strukturovány podobně jako zeměpisná hierarchie země. Například USA mají státy a v každém státě jsou města.
getPhonePlanLocationOptions
Pomocí metody získejte možnosti pro umístění.
const { locationOptions } = await client.getPhonePlanLocationOptions({
countryCode: "US",
phonePlanGroupId: "phonePlanGroupId",
phonePlanId: "phonePlanId"
});
console.log(`Got location options for: ${locationOptions.labelId}`);
Získání kódů oblastí
Načítání kódů oblastí pro geografické telefonní tarify bude vyžadovat nastavení dotazů na možnosti umístění. Musíte zahrnout řetězec geografických umístění procházejících dolů objektem možností umístění vráceným objektem getPhonePlanLocationOptions
.
Pomocí metody getAreaCodes
získejte kódy oblastí pro geografické telefonní tarify.
const { primaryAreaCodes } = await client.getAreaCodes({
locationType: "selection",
countryCode: "US",
phonePlanId: "phonePlanId",
locationOptionsQueries
});
Rezervace telefonních čísel pro nákup
Pomocí metody beginReservePhoneNumbers
vyhledejte telefonní čísla a zarezervujte si je. Jedná se o dlouhotrvající operaci.
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
});
Pokud chcete získat výsledky rezervace, použijte metodu pollUntilDone
na polleru, který jste vytvořili.
const phoneNumberReservation = await reservePoller.pollUntilDone();
Dotazování a rezervaci můžete zrušit voláním cancelOperation
metody na polleru, který jste vytvořili.
await reservePoller.cancelOperation();
Nákup telefonních čísel z rezervace
Použijte metodu beginPurchasePhoneNumbers
k nákupu telefonních čísel z vaší rezervace. Vrácené reservationId
z beginReservePhoneNumbers
je povinné.
beginPurchasePhoneNumbers
je také dlouhotrvající operace.
const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);
Pokud chcete získat výsledky nákupu, použijte metodu pollUntilDone
na nákupním polleru, který jste vytvořili.
const results = await purchasePoller.pollUntilDone();
Řešení potíží
Další kroky
Podrobné příklady použití této knihovny najdete v adresáři samples .
Přispívání
Pokud chcete přispívat do této knihovny, přečtěte si prosím průvodce přispívání , kde se dozvíte více o tom, jak sestavit a otestovat kód.
Související projekty
Azure SDK for JavaScript