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

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.

Imprese