Sdílet prostřednictvím


Klientská knihovna telefonních čísel služby Azure Communication pro JavaScript – verze 1.0.0

Knihovna telefonních čísel poskytuje funkce pro správu telefonních čísel.

Zakoupená telefonní čísla můžou obsahovat mnoho funkcí v závislosti na zemi, typu čísla a typu přiřazení. Mezi příklady možností patří využití příchozích a odchozích zpráv 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-phone-numbers

Podpora prohlížečů

JavaScript Bundle

Pokud chcete tuto klientskou knihovnu používat v prohlížeči, musíte nejprve použít nástroj bundler. Podrobnosti o tom, jak to udělat, najdete v naší dokumentaci k sdružování.

Klíčové koncepty

Balíček telefonních čísel zveřejňuje metodu PhoneNumbersClient pro správu telefonních čísel.

Typy telefonních čísel

Telefonní čísla mají dva typy; Zeměpisná a bezplatná linka. Zeměpisná telefonní čísla jsou telefonní čísla přidružená k místu, jehož směrová čísla oblastí jsou přidružená k směrovým kódům oblasti geografického umístění. Toll-Free telefonní čísla nejsou přidružená k umístění. Například v USA můžou bezplatná čísla obsahovat směrové číslo 800 nebo 888.

Všechna zeměpisná telefonní čísla ve stejné zemi jsou seskupena do skupiny telefonních tarifů s typem geografického telefonního čísla. Všechna Toll-Free telefonní čísla 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í vyhledávání tak, že zadáte typ telefonního čísla (zeměpisné nebo bezplatné linky), typ přiřazení (osoba nebo aplikace), funkce volání a SMS, směrové číslo oblasti a množství telefonních čísel. Poskytnuté množství telefonních čísel bude rezervováno na 15 minut. Toto hledá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é, pořídí se telefonní čísla pro prostředek Azure.

Konfigurace telefonních čísel

Telefonní čísla můžou mít kombinaci funkcí. Můžou být nakonfigurované tak, aby podporovaly příchozí a odchozí volání, nebo ani jedno, pokud k volání nebudete používat telefonní číslo. Totéž platí pro funkce sms.

Je důležité zvážit typ zadání vašeho telefonního čísla. Některé funkce jsou omezené na konkrétní typ přiřazení.

Příklady

Authentication

K vytvoření objektu klienta pro přístup k rozhraní API služby Communication Services budete potřebovat connection string nebo endpoint vašeho prostředku Communication Services a credential. Klient telefonních čísel může k ověření použít přihlašovací údaje Azure Active Directory nebo přihlašovací údaje klíče rozhraní API.

Klíč nebo připojovací řetězec můžete získat z prostředku Communication Services na webu Azure Portal. Koncový bod pro prostředek Communication Services najdete také na webu Azure Portal.

Jakmile budete mít klíč, můžete ho PhoneNumbersClient ověřit některou z následujících metod:

Použití připojovacího řetězce

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

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

Použití přístupového klíče s AzureKeyCredential

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 Communication Services na webu Azure Portal. Jakmile budete mít klíč a koncový bod, můžete provést ověření pomocí následujícího kódu:

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);

Použití přihlašovacích údajů Azure Active Directory

Ve většině příkladů se používá ověřování připojovacím řetězcem, ale můžete se také ověřit pomocí Azure Active Directory pomocí knihovny Azure Identity Library. Pokud chcete použít zprostředkovatele DefaultAzureCredential uvedeného níže nebo jiné zprostředkovatele přihlašovacích údajů poskytnuté se sadou Azure SDK, nainstalujte @azure/identity balíček :

npm install @azure/identity

Balíček @azure/identity poskytuje různé typy přihlašovacích údajů, které vaše aplikace k tomu může použít. Soubor README pro @azure/identity obsahuje další podrobnosti a ukázky, které vám pomůžou začít.

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

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

Využití

Následující části obsahují fragmenty kódu, které pokrývají některé běžné úlohy pomocí klienta Azure Communication Services Telefonní čísla. Scénáře, které jsou zde popsány, zahrnují:

Hledání dostupných telefonních čísel

Pomocí metody beginSearchAvailablePhoneNumbers vyhledejte telefonní čísla a zarezervujte si je. Vrácená telefonní čísla jsou rezervovaná na 15 minut a během této doby je možné zakoupit poskytnutím searchIdbeginPurchasePhoneNumbers metody .

beginSearchAvailablePhoneNumbers je dlouhotrvající operace a vrací 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();

Použijte metodu k beginPurchasePhoneNumbers nákupu telefonních čísel z hledání. Zakoupená telefonní čísla se přiřadí k prostředku Komunikační služby použitému při inicializování klienta. Hodnota vrácená searchId z beginSearchAvailablePhoneNumbers je povinná.

beginPurchasePhoneNumbers je dlouhotrvající operace a vrací 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();

Uvolnění zakoupeného telefonního čísla

Použijte metodu beginReleasePhoneNumber k uvolnění dříve zakoupeného telefonního čísla. Vydaná telefonní čísla už nebudou přidružená k prostředku Komunikační služby a nebudou k dispozici pro použití s jinými operacemi (např. SMS) prostředku. Telefonní číslo, které vydáváte, je povinné.

beginReleasePhoneNumber je dlouhotrvající operace a vrací 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();

Možnosti aktualizace telefonních čísel

beginUpdatePhoneNumberCapabilities Pomocí metody aktualizujte možnosti zakoupeného telefonního čísla. Telefonní čísla je možné nakonfigurovat tak, aby podporovala příchozí a odchozí volání a SMS nebo ani jedno.

beginUpdatePhoneNumberCapabilities je dlouhotrvající operace a vrací 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();

Získání zakoupeného telefonního čísla

Pomocí metody getPurchasedPhoneNumber získáte informace o zakoupeném telefonním čísle. Tyto informace zahrnují typ telefonního čísla, možnosti, náklady a datum nákupu.

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();

Výpis zakoupených telefonních čísel

Pomocí metody listPurchasedPhoneNumbers můžete stránkovat všechna zakoupená telefonní čísla.

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();

Řešení potíží

Další kroky

Podrobné příklady použití této knihovny najdete v adresáři ukázek .

Přispívání

Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.

Imprese