Udostępnij za pośrednictwem


Biblioteka klienta numerów telefonów usługi Azure Communication dla języka JavaScript — wersja 1.0.0

Biblioteka numerów telefonów zapewnia możliwości administracji numerami telefonów.

Zakupione numery telefonów mogą mieć wiele możliwości, w zależności od kraju, typu numeru i typu przypisania. 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-phone-numbers

Obsługa przeglądarki

Pakiet JavaScript

Aby użyć tej biblioteki klienta w przeglądarce, najpierw należy użyć narzędzia bundler. Aby uzyskać szczegółowe informacje o tym, jak to zrobić, zapoznaj się z naszą dokumentacją dotyczącą tworzenia pakietów.

Kluczowe pojęcia

Pakiet numerów telefonów uwidacznia PhoneNumbersClient metody zarządzania numerami telefonów.

Typy numerów telefonów

Numery telefonów są dostępne w dwóch typach; Geograficzne i bezpłatne. Geograficzne numery telefonów to numery telefonów skojarzone z lokalizacją, której kody obszarów są skojarzone z kodem obszaru lokalizacji geograficznej. Toll-Free numery telefonów 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 numery telefonów w tym samym kraju są pogrupowane w grupę planów telefonicznych z typem numeru telefonu geograficznego. Wszystkie Toll-Free numery telefonów w tym samym kraju są pogrupowane w grupę planów telefonicznych.

Wyszukiwanie i uzyskiwanie liczb

Numery telefonów można przeszukiwać za pomocą interfejsu API tworzenia wyszukiwania, podając typ numeru telefonu (geograficzny lub bezpłatny), typ przypisania (osoba lub aplikacja), możliwości połączeń i wiadomości SMS, numer kierunkowy i ilość numerów telefonów. Podana ilość numerów telefonów będzie zarezerwowana przez 15 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 zasobu platformy Azure.

Konfigurowanie numerów telefonów

Numery telefonów mogą mieć kombinację możliwości. Można je skonfigurować tak, aby obsługiwały połączenia przychodzące i/lub wychodzące albo nie będą używane do nawiązywania połączeń telefonicznych. To samo dotyczy możliwości wiadomości SMS.

Ważne jest, aby wziąć pod uwagę typ przypisania numeru telefonu. Niektóre możliwości są ograniczone do określonego typu przypisania.

Przykłady

Authentication

Aby utworzyć obiekt klienta w celu uzyskania dostępu do interfejsu API usług komunikacyjnych, potrzebny connection string będzie zasób usługi Communication Services lub endpoint oraz .credential Klient numery telefonów może używać poświadczeń usługi Azure Active Directory lub poświadczeń klucza interfejsu API do uwierzytelniania.

Klucz i/lub parametry połączenia można pobrać z zasobu usług Communication Services w witrynie Azure Portal. Punkt końcowy zasobu usług Communication Services można również znaleźć w witrynie Azure Portal.

Po utworzeniu klucza możesz uwierzytelnić element PhoneNumbersClient przy użyciu dowolnej z następujących metod:

Używanie parametrów połączenia

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

Używanie klucza dostępu z usługą AzureKeyCredential

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. Po utworzeniu klucza i punktu końcowego możesz uwierzytelnić się przy użyciu następującego kodu:

import { AzureKeyCredential } from "@azure/core-auth";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const credential = new AzureKeyCredential("<key-from-resource>");
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);

Używanie poświadczeń usługi Azure Active Directory

Uwierzytelnianie parametrów połączenia jest używane w większości przykładów, ale można również uwierzytelniać się w usłudze Azure Active Directory przy użyciu biblioteki tożsamości platformy Azure. Aby użyć podanego poniżej dostawcy DefaultAzureCredential lub innych dostawców poświadczeń dostarczanych z zestawem Azure SDK, zainstaluj @azure/identity pakiet:

npm install @azure/identity

Pakiet @azure/identity udostępnia różne typy poświadczeń, których aplikacja może użyć do tego celu. Plik README zawiera @azure/identity więcej szczegółów i przykładów, które ułatwiają rozpoczęcie pracy.

import { DefaultAzureCredential } from "@azure/identity";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

let credential = new DefaultAzureCredential();
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);

Użycie

Poniższe sekcje zawierają fragmenty kodu, które obejmują niektóre typowe zadania korzystające z klienta numerów telefonów Azure Communication Services. Scenariusze, które zostały tu omówione, składają się z następujących elementów:

Wyszukaj dostępne numery telefonów

beginSearchAvailablePhoneNumbers Użyj metody , aby wyszukać numery telefonów i zarezerwować je. Zwrócone numery telefonów są zarezerwowane przez 15 minut i można je kupić w tym okresie, podając searchId metodę beginPurchasePhoneNumbers .

beginSearchAvailablePhoneNumbers jest długotrwałą operacją i zwraca poller.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async function main() {
  const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    quantity: 1
  };

  const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);

  // The search is underway. Wait to receive searchId.
  const searchResults = searchPoller.pollUntilDone();
  console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);
  console.log(`searchId: ${searchResults.searchId}`);
}

main();

beginPurchasePhoneNumbers Użyj metody , aby kupić numery telefonów z wyszukiwania. Zakupione numery telefonów zostaną przypisane do zasobu usług komunikacyjnych używanego podczas inicjowania klienta. Zwrócony searchId element z beginSearchAvailablePhoneNumbers jest wymagany.

beginPurchasePhoneNumbers jest długotrwałą operacją i zwraca poller.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async function main() {
  const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    quantity: 1
  };

  const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);

  // The search is underway. Wait to receive searchId.
  const { searchId, phoneNumbers } = searchPoller.pollUntilDone();

  const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);

  // Purchase is underway.
  await purchasePoller.pollUntilDone();
  console.log(`Successfully purchased ${phoneNumbers[0]}`);
}

main();

Zwolnienie zakupionego numeru telefonu

beginReleasePhoneNumber Użyj metody , aby zwolnić wcześniej zakupiony numer telefonu. Zwolnione numery telefonów nie będą już skojarzone z zasobem usług komunikacyjnych i nie będą dostępne do użycia z innymi operacjami (np. Wiadomość SMS) zasobu. Numer telefonu, który jest zwalniany, jest wymagany.

beginReleasePhoneNumber jest długotrwałą operacją i zwraca poller.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async function main() {
  const phoneNumberToRelease = "<phone-number-to-release>";

  const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);

  // Release is underway.
  await releasePoller.pollUntilDone();
  console.log("Successfully release phone number.");
}

main();

Aktualizowanie możliwości numeru telefonu

beginUpdatePhoneNumberCapabilities Użyj metody , aby zaktualizować możliwości zakupionego numeru telefonu. Numery telefonów można skonfigurować tak, aby obsługiwały połączenia przychodzące i/lub wychodzące oraz wiadomości SMS lub nie.

beginUpdatePhoneNumberCapabilities jest długotrwałą operacją i zwraca poller.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async function main() {
  const phoneNumberToUpdate = "<phone-number-to-update>";

  // This will update phone number to send and receive sms, but only send calls.
  const updateRequest = {
    sms: "inbound+outbound",
    calling: "outbound"
  };

  const updatePoller = await client.beginUpdatePhoneNumberCapabilities(
    phoneNumberToUpdate,
    updateRequest
  );

  // Update is underway.
  const { capabilities } = await updatePoller.pollUntilDone();
  console.log(`These are the update capabilities: ${capabilities}`);
}

main();

Uzyskiwanie zakupionego numeru telefonu

getPurchasedPhoneNumber Użyj metody , aby uzyskać informacje o zakupionym numerze telefonu. Te informacje obejmują typ, możliwości, koszt i datę zakupu numeru telefonu.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async main function() {
  const phoneNumberToGet = "<phone-number-to-get>";

  const phoneNumber = await client.getPurchasedPhoneNumber(phoneNumberToGet);

  console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
  console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}

main();

Wyświetlanie listy zakupionych numerów telefonów

listPurchasedPhoneNumbers Użyj metody , aby stronicować wszystkie zakupione numery telefonów.

import { PhoneNumbersClient } from "@azure/communication-phone-numbers";

const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);

async main function() {
  const phoneNumbers = await client.listPurchasedPhoneNumbers();

  for await (const phoneNumber of phoneNumbers) {
    console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
    console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
  }
}

main();

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