Biblioteka klienta azure Communication Administration dla języka JavaScript — wersja 1.0.0-beta.3
Biblioteka administracyjna służy do zarządzania użytkownikami i tokenami na potrzeby Azure Communication Services. Ta biblioteka udostępnia również funkcje administracji numerami telefonów.
Pozyskane numery telefonów mogą mieć wiele możliwości, w zależności od kraju, typu numeru i planu telefonu. Przykłady możliwości to użycie ruchu przychodzącego i wychodzącego programu SMS, użycie ruchu przychodzącego i wychodzącego PSTN. Numery telefonów można również przypisać do bota za pośrednictwem adresu URL elementu webhook.
Wprowadzenie
Wymagania wstępne
- Subskrypcja platformy Azure.
- Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Instalowanie
npm install @azure/communication-administration
Kluczowe pojęcia
Klienci
Pakiet administracyjny uwidacznia dwóch klientów. Udostępnia CommunicationIdentityClient
metody zarządzania użytkownikami i ich tokenami. Udostępnia PhoneNumberAdministrationClient
metody zarządzania planami i numerami telefonów.
Omówienie planów telefonicznych
Plany telefoniczne są dostępne w dwóch typach; Geograficzne i bezpłatne. Geograficzne plany telefoniczne są planami telefonów skojarzonymi z lokalizacją, której numery telefonów są skojarzone z kodem kierunkowym lokalizacji geograficznej. Toll-Free plany telefoniczne to plany telefoniczne, które nie są skojarzone z lokalizacją. Na przykład w Stanach Zjednoczonych numery bezpłatne mogą być dostarczane z kodami obszarów, takimi jak 800 lub 888.
Wszystkie geograficzne plany telefoniczne w tym samym kraju są pogrupowane w grupę planów telefonicznych z typem numeru telefonu geograficznego. Wszystkie plany telefoniczne Toll-Free w tym samym kraju są grupowane w grupę planów telefonicznych.
Wyszukiwanie i uzyskiwanie liczb
Numery telefonów można przeszukiwać za pomocą interfejsu API tworzenia wyszukiwania, podając identyfikator planu telefonu, numer kierunkowy i liczbę numerów telefonów. Podana ilość numerów telefonów będzie zarezerwowana przez dziesięć minut. To wyszukiwanie numerów telefonów można anulować lub kupić. Jeśli wyszukiwanie zostanie anulowane, numery telefonów staną się dostępne dla innych osób. Jeśli wyszukiwanie zostanie zakupione, numery telefonów zostaną uzyskane dla zasobów platformy Azure.
Konfigurowanie i przypisywanie liczb
Numery telefonów można przypisać do adresu URL wywołania zwrotnego za pośrednictwem interfejsu API konfigurowania numeru. W ramach konfiguracji potrzebny będzie uzyskany numer telefonu, adres URL wywołania zwrotnego i identyfikator aplikacji.
Przykłady
Authentication
Klucz i/lub parametry połączenia można pobrać z zasobu usług Communication Services w witrynie Azure Portal. Po utworzeniu klucza możesz uwierzytelnić CommunicationIdentityClient
elementy i PhoneNumberAdministrationClient
przy użyciu dowolnej z następujących metod:
Utwórz KeyCredential
element za pomocą AzureKeyCredential
przed zainicjowaniem klienta
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);
Używanie parametrów połączenia
import { PhoneNumberAdministrationClient } from "@azure/communication-administration";
const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Jeśli używasz klucza do inicjowania klienta, musisz również podać odpowiedni punkt końcowy. Ten punkt końcowy można uzyskać z zasobu usług Communication Services w witrynie Azure Portal.
Użycie
CommunicationIdentityClient
Tworzenie wystąpienia klasy CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Tworzenie nowego użytkownika
createUser
Użyj metody , aby utworzyć nowego użytkownika.
const user = await client.createUser();
Tworzenie i odświeżanie tokenu użytkownika
issueToken
Użyj metody , aby wystawiać lub odświeżać token dla istniejącego użytkownika. Metoda przyjmuje również listę zakresów tokenu komunikacji. Opcje zakresu obejmują:
-
chat
(Czat) -
pstn
(Publiczna przełączona sieć telefoniczna) -
voip
(Połączenie głosowe za pośrednictwem adresu IP)
let { token } = await client.issueToken(user, ["chat"]);
Aby odświeżyć token użytkownika, wydaj inny token dla tego samego użytkownika.
{ token } = await client.issueToken(user, ["chat"]);
Odwołowanie tokenów dla użytkownika
revokeTokens
Użyj metody , aby odwołać wszystkie wystawione tokeny użytkownika.
await client.revokeTokens(user);
revokeTokens
przyjmuje opcjonalny drugi argument: tokensValidFrom
. Jeśli ta data zostanie podana, revokeTokens
odwoła wszystkie wystawione wcześniej tokeny. W przeciwnym razie wszystkie tokeny zostaną odwołane.
Usuwanie użytkownika
deleteUser
Użyj metody , aby usunąć użytkownika.
await client.deleteUser(user);
PhoneNumberAdministrationClient
Tworzenie wystąpienia klasy PhoneNumberAdministrationClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Uzyskiwanie krajów
listSupportedCountries
Użyj metody , aby uzyskać listę obsługiwanych krajów.
const countries = await client.listSupportedCountries();
for await (const country of countries) {
console.log(`Country code: ${country.countryCode}`);
console.log(`Country name: ${country.localizedName}`);
}
Pobieranie grup planów telefonicznych
Grupy planów telefonicznych są dostępne w dwóch typach: Geographic i Toll-Free.
listPhonePlanGroups
Użyj metody , aby je pobrać.
const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);
for await (const phonePlanGroup of phonePlanGroups) {
console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}
Pobieranie opcji lokalizacji
W przypadku planów geograficznych telefonów można wykonywać zapytania dotyczące dostępnych lokalizacji geograficznych. Opcje lokalizacji mają strukturę, podobnie jak hierarchia geograficzna kraju. Na przykład Stany Zjednoczone mają stany i w każdym stanie to miasta.
getPhonePlanLocationOptions
Użyj metody , aby uzyskać opcje lokalizacji.
const { locationOptions } = await client.getPhonePlanLocationOptions({
countryCode: "US",
phonePlanGroupId: "phonePlanGroupId",
phonePlanId: "phonePlanId"
});
console.log(`Got location options for: ${locationOptions.labelId}`);
Pobieranie kodów obszarów
Pobieranie kodów obszarów dla planów geograficznych na telefony będzie wymagało zestawów zapytań dotyczących opcji lokalizacji. Należy uwzględnić łańcuch lokalizacji geograficznych przechodzących w dół obiektu opcji lokalizacji zwróconego getPhonePlanLocationOptions
przez obiekt .
getAreaCodes
Użyj metody , aby uzyskać kody obszarów dla planów geograficznych telefonów.
const { primaryAreaCodes } = await client.getAreaCodes({
locationType: "selection",
countryCode: "US",
phonePlanId: "phonePlanId",
locationOptionsQueries
});
Rezerwowanie numerów telefonów do zakupu
beginReservePhoneNumbers
Użyj metody , aby wyszukać numery telefonów i zarezerwować je. Jest to długotrwała operacja.
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
});
Aby uzyskać wyniki rezerwacji, użyj pollUntilDone
metody w utworzonej galerii.
const phoneNumberReservation = await reservePoller.pollUntilDone();
Możesz anulować sondowanie i rezerwację, wywołując metodę cancelOperation
w utworzonej galerii.
await reservePoller.cancelOperation();
Kupowanie numerów telefonów z rezerwacji
beginPurchasePhoneNumbers
Użyj metody , aby kupić numery telefonów z rezerwacji. Zwrócony reservationId
element z beginReservePhoneNumbers
jest wymagany.
beginPurchasePhoneNumbers
jest również długotrwałą operacją.
const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);
Aby uzyskać wyniki zakupu, użyj pollUntilDone
metody utworzonej przez Ciebie galerii zakupu.
const results = await purchasePoller.pollUntilDone();
Rozwiązywanie problemów
Następne kroki
Zapoznaj się z katalogiem samples , aby zapoznać się ze szczegółowymi przykładami dotyczącymi korzystania z tej biblioteki.
Współtworzenie
Jeśli chcesz współtworzyć tę bibliotekę, przeczytaj przewodnik współtworzenia , aby dowiedzieć się więcej na temat tworzenia i testowania kodu.
Powiązane projekty
Azure SDK for JavaScript