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
- Subskrypcja platformy Azure.
- Istniejący zasób usług komunikacyjnych. Jeśli musisz utworzyć zasób, możesz użyć witryny Azure Portal, witryny Azure PowerShell lub interfejsu wiersza polecenia platformy Azure.
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
- Kupowanie numerów telefonów w wyszukiwaniu
- Zwolnienie zakupionego numeru telefonu
- Aktualizowanie możliwości numeru telefonu
- Uzyskiwanie zakupionego numeru telefonu
- Wyświetlanie listy zakupionych numerów telefonó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();
Kupowanie numerów telefonów w wyszukiwaniu
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.
Powiązane projekty