Azure Communication Administration-clientbibliotheek voor JavaScript - versie 1.0.0-beta.3
De beheerbibliotheek wordt gebruikt voor het beheren van gebruikers en tokens voor Azure Communication Services. Deze bibliotheek biedt ook mogelijkheden voor het beheer van telefoonnummers.
Aangeschafte telefoonnummers kunnen worden geleverd met veel mogelijkheden, afhankelijk van het land, het nummertype en het telefoonabonnement. Voorbeelden van mogelijkheden zijn binnenkomende en uitgaande sms-gebruik, inkomend en uitgaand pstn-gebruik. Telefoonnummers kunnen ook worden toegewezen aan een bot via een webhook-URL.
Aan de slag
Vereisten
- Een Azure-abonnement.
- Een bestaande Communication Services-resource. Als u de resource wilt maken, kunt u azure portal of Azure CLI gebruiken.
Installeren
npm install @azure/communication-administration
Belangrijkste concepten
Clients
Het beheerpakket maakt twee clients beschikbaar. De CommunicationIdentityClient
biedt methoden voor het beheren van gebruikers en hun tokens. De PhoneNumberAdministrationClient
biedt methoden voor het beheren van telefoonabonnementen en nummers.
Overzicht van telefoonabonnementen
Telefoonabonnementen zijn er in twee soorten; Geografisch en gratis. Geografische telefoonabonnementen zijn telefoonabonnementen die zijn gekoppeld aan een locatie, waarvan de netnummers zijn gekoppeld aan het netnummer van een geografische locatie. Toll-Free telefoonabonnementen zijn geen gekoppelde locatie. In de VS kunnen gratis nummers bijvoorbeeld worden geleverd met netnummers zoals 800 of 888.
Alle geografische telefoonabonnementen binnen hetzelfde land worden gegroepeerd in een telefoonabonnementgroep met het type Geografisch telefoonnummer. Alle Toll-Free telefoonabonnementen binnen hetzelfde land worden gegroepeerd in een groep telefoonabonnementen.
Getallen zoeken en verkrijgen
Telefoonnummers kunnen worden gezocht via de API voor het maken van zoekopdrachten door een telefoonabonnement-id, een netnummer en het aantal telefoonnummers op te geven. Het opgegeven aantal telefoonnummers wordt tien minuten gereserveerd. Deze zoekopdracht van telefoonnummers kan worden geannuleerd of gekocht. Als de zoekopdracht wordt geannuleerd, worden de telefoonnummers beschikbaar voor anderen. Als de zoekopdracht is aangeschaft, worden de telefoonnummers verkregen voor de Azure-resources.
Nummers configureren en toewijzen
Telefoonnummers kunnen worden toegewezen aan een callback-URL via de api voor het configureren van nummers. Als onderdeel van de configuratie hebt u een verkregen telefoonnummer, callback-URL en toepassings-id nodig.
Voorbeelden
Verificatie
U kunt een sleutel en/of connection string ophalen uit uw Communication Services-resource in Azure Portal. Zodra u een sleutel hebt, kunt u de CommunicationIdentityClient
en PhoneNumberAdministrationClient
verifiëren met een van de volgende methoden:
Maken KeyCredential
met AzureKeyCredential
voordat u de client initialiseert
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);
Een connection string gebruiken
import { PhoneNumberAdministrationClient } from "@azure/communication-administration";
const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
Als u een sleutel gebruikt om de client te initialiseren, moet u ook het juiste eindpunt opgeven. U kunt dit eindpunt ophalen uit uw Communication Services-resource in Azure Portal.
Gebruik
CommunicationIdentityClient
Een exemplaar van CommunicationIdentityClient maken
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Een nieuwe gebruiker maken
Gebruik de createUser
methode om een nieuwe gebruiker te maken.
const user = await client.createUser();
Een gebruikerstoken maken en vernieuwen
Gebruik de issueToken
methode om een token uit te geven of te vernieuwen voor een bestaande gebruiker. De methode neemt ook een lijst met communicatietokenbereiken op. Bereikopties zijn onder andere:
-
chat
(Chatten) -
pstn
(Openbaar telefoonnetwerk) -
voip
(Voice over IP)
let { token } = await client.issueToken(user, ["chat"]);
Als u het gebruikerstoken wilt vernieuwen, geeft u een ander token uit met dezelfde gebruiker.
{ token } = await client.issueToken(user, ["chat"]);
Tokens intrekken voor een gebruiker
Gebruik de revokeTokens
methode om alle uitgegeven tokens van een gebruiker in te trekken.
await client.revokeTokens(user);
revokeTokens
gebruikt een optioneel tweede argument, tokensValidFrom
. Als deze datum is opgegeven, revokeTokens
worden alle tokens ingetrokken die eerder zijn uitgegeven. Anders worden alle tokens ingetrokken.
Een gebruiker verwijderen
Gebruik de deleteUser
methode om een gebruiker te verwijderen.
await client.deleteUser(user);
PhoneNumberAdministrationClient
Een instantie van PhoneNumberAdministrationClient maken
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Landen krijgen
Gebruik de listSupportedCountries
methode om een lijst met ondersteunde landen op te halen.
const countries = await client.listSupportedCountries();
for await (const country of countries) {
console.log(`Country code: ${country.countryCode}`);
console.log(`Country name: ${country.localizedName}`);
}
Telefoonabonnementgroepen ophalen
Telefoonabonnementgroepen zijn er in twee typen: geografisch en gratis. Gebruik de listPhonePlanGroups
methode om ze op te halen.
const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);
for await (const phonePlanGroup of phonePlanGroups) {
console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}
Locatieopties verkrijgen
Voor geografische telefoonabonnementen kunt u een query uitvoeren op de beschikbare geografische locaties. De opties voor locaties zijn gestructureerd als de geografische hiërarchie van een land. De VS heeft bijvoorbeeld staten en binnen elke staat zijn steden.
Gebruik de getPhonePlanLocationOptions
methode om de opties voor een locatie op te halen.
const { locationOptions } = await client.getPhonePlanLocationOptions({
countryCode: "US",
phonePlanGroupId: "phonePlanGroupId",
phonePlanId: "phonePlanId"
});
console.log(`Got location options for: ${locationOptions.labelId}`);
Netnummers verkrijgen
Voor het ophalen van netnummers voor geografische telefoonabonnementen zijn de ingestelde locatieopties vereist. U moet de keten met geografische locaties opnemen die het object locatieopties doorkruist dat wordt geretourneerd door de getPhonePlanLocationOptions
.
Gebruik de getAreaCodes
methode om de netnummers voor geografische telefoonabonnementen op te halen.
const { primaryAreaCodes } = await client.getAreaCodes({
locationType: "selection",
countryCode: "US",
phonePlanId: "phonePlanId",
locationOptionsQueries
});
Telefoonnummers reserveren voor aankoop
Gebruik de beginReservePhoneNumbers
methode om te zoeken naar telefoonnummers en deze te reserveren. Dit is een langdurige bewerking.
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
});
Als u de resultaten van de reservering wilt ophalen, gebruikt u de pollUntilDone
methode voor de poller die u hebt gemaakt.
const phoneNumberReservation = await reservePoller.pollUntilDone();
U kunt de polling en reservering annuleren door de cancelOperation
methode aan te roepen op de poller die u hebt gemaakt.
await reservePoller.cancelOperation();
Telefoonnummers kopen vanuit een reservering
Gebruik de beginPurchasePhoneNumbers
methode om de telefoonnummers van uw reservering te kopen. De reservationId
geretourneerde van beginReservePhoneNumbers
is vereist.
beginPurchasePhoneNumbers
is ook een langdurige bewerking.
const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);
Als u de resultaten van de aankoop wilt ophalen, gebruikt u de pollUntilDone
methode voor de aankooppeiling die u hebt gemaakt.
const results = await purchasePoller.pollUntilDone();
Problemen oplossen
Volgende stappen
Bekijk de map met voorbeelden voor gedetailleerde voorbeelden van het gebruik van deze bibliotheek.
Bijdragen
Als u een bijdrage wilt leveren aan deze bibliotheek, leest u de handleiding voor bijdragen voor meer informatie over het bouwen en testen van de code.
Verwante projecten
Azure SDK for JavaScript