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

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 getPhonePlanLocationOptionsprzez 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.

Wrażenia