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
- Předplatné Azure
- Existující prostředek komunikačních služeb. Pokud potřebujete prostředek vytvořit, můžete použít Azure Portal, Azure PowerShell nebo Azure CLI.
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
- Nákup telefonních čísel z vyhledávání
- Uvolnění zakoupeného telefonního čísla
- Možnosti aktualizace telefonních čísel
- Získání zakoupeného telefonního čísla
- Výpis zakoupených telefonních čísel
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 searchId
beginPurchasePhoneNumbers
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();
Nákup telefonních čísel z vyhledávání
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.
Související projekty