Azure Communication Administration-klientbibliotek för JavaScript – version 1.0.0-beta.3

Administrationsbiblioteket används för att hantera användare och token för Azure Communication Services. Det här biblioteket innehåller även funktioner för telefonnummeradministration.

Köpta telefonnummer kan ha många funktioner, beroende på land, nummertyp och telefonplan. Exempel på funktioner är inkommande och utgående SMS-användning, inkommande och utgående PSTN-användning. Telefonnummer kan också tilldelas till en robot via en webhook-URL.

Komma igång

Förutsättningar

Installation

npm install @azure/communication-administration

Viktiga begrepp

Klienter

Administrationspaketet exponerar två klienter. Tillhandahåller CommunicationIdentityClient metoder för att hantera användare och deras token. Tillhandahåller PhoneNumberAdministrationClient metoder för att hantera telefonabonnemang och telefonnummer.

Översikt över telefonplaner

Telefonplaner finns i två typer; Geografisk och avgiftsfri. Geografiska telefonplaner är telefonplaner som är associerade med en plats, vars telefonnummers riktnummer är associerade med riktnumret för en geografisk plats. Toll-Free telefonabonnemang är telefonplaner som inte är associerade platser. I USA kan till exempel avgiftsfria nummer komma med riktnummer som 800 eller 888.

Alla geografiska telefonplaner i samma land är grupperade i en telefonplansgrupp med en geografisk telefonnummertyp. Alla Toll-Free telefonabonnemang i samma land grupperas i en telefonplansgrupp.

Söka efter och hämta nummer

Telefonnummer kan söka igenom API:et för att skapa sökningar genom att ange ett telefonplans-ID, ett riktnummer och en mängd telefonnummer. Den angivna mängden telefonnummer reserveras i tio minuter. Den här sökningen av telefonnummer kan antingen avbrytas eller köpas. Om sökningen avbryts blir telefonnumren tillgängliga för andra. Om sökningen köps hämtas telefonnumren för Azure-resurserna.

Konfigurera och tilldela nummer

Telefonnummer kan tilldelas till en återanrops-URL via API:et för konfigurerat nummer. Som en del av konfigurationen behöver du ett anskaffat telefonnummer, återanrops-URL och program-ID.

Exempel

Autentisering

Du kan hämta en nyckel och/eller anslutningssträng från din Communication Services-resurs i Azure-portalen. När du har en nyckel kan du autentisera CommunicationIdentityClient och PhoneNumberAdministrationClient med någon av följande metoder:

Skapa KeyCredential med AzureKeyCredential innan klienten initieras

import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";

const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);

Använda en anslutningssträng

import { PhoneNumberAdministrationClient } from "@azure/communication-administration";

const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);

Om du använder en nyckel för att initiera klienten måste du också ange lämplig slutpunkt. Du kan hämta den här slutpunkten från din Communication Services-resurs i Azure-portalen.

Användning

CommunicationIdentityClient

Skapa en instans av CommunicationIdentityClient

import { CommunicationIdentityClient } from "@azure/communication-administration";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Skapa en ny användare

createUser Använd metoden för att skapa en ny användare.

const user = await client.createUser();

Skapa och uppdatera en användartoken

issueToken Använd metoden för att utfärda eller uppdatera en token för en befintlig användare. Metoden tar också in en lista över omfång för kommunikationstoken. Omfångsalternativen omfattar:

  • chat (Chatt)
  • pstn (Offentligt växlat telefonnät)
  • voip (Röst över IP)
let { token } = await client.issueToken(user, ["chat"]);

Om du vill uppdatera användartoken utfärdar du en annan token med samma användare.

{ token } = await client.issueToken(user, ["chat"]);

Återkalla token för en användare

revokeTokens Använd metoden för att återkalla alla utfärdade token för en användare.

await client.revokeTokens(user);

revokeTokens tar ett valfritt andra argument, tokensValidFrom. Om det här datumet anges revokeTokens återkallas alla token som utfärdats före det. Annars återkallas alla token.

Ta bort en användare

deleteUser Använd metoden för att ta bort en användare.

await client.deleteUser(user);

PhoneNumberAdministrationClient

Skapa en instans av PhoneNumberAdministrationClient

import { CommunicationIdentityClient } from "@azure/communication-administration";

const client = new CommunicationIdentityClient(CONNECTION_STRING);

Hämta länder

listSupportedCountries Använd metoden för att hämta en lista över de länder som stöds.

const countries = await client.listSupportedCountries();

for await (const country of countries) {
  console.log(`Country code: ${country.countryCode}`);
  console.log(`Country name: ${country.localizedName}`);
}

Hämta telefonplansgrupper

Telefonplansgrupper finns i två typer, Geografisk och Avgiftsfri. listPhonePlanGroups Använd metoden för att hämta dem.

const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);

for await (const phonePlanGroup of phonePlanGroups) {
  console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}

Hämta platsalternativ

För Geografiska telefonplaner kan du fråga de tillgängliga geografiska platserna. Platsalternativen är strukturerade som den geografiska hierarkin i ett land. Usa har till exempel delstater och inom varje delstat finns städer.

getPhonePlanLocationOptions Använd metoden för att hämta alternativen för en plats.

const { locationOptions } = await client.getPhonePlanLocationOptions({
  countryCode: "US",
  phonePlanGroupId: "phonePlanGroupId",
  phonePlanId: "phonePlanId"
});

console.log(`Got location options for: ${locationOptions.labelId}`);

Hämta riktnummer

Om du hämtar riktnummer för geografiska telefonplaner måste du ange de platsalternativ som ställs in. Du måste inkludera kedjan med geografiska platser som bläddrar nedåt i platsalternativobjektet getPhonePlanLocationOptionssom returneras av .

getAreaCodes Använd metoden för att hämta riktnummer för geografiska telefonplaner.

const { primaryAreaCodes } = await client.getAreaCodes({
  locationType: "selection",
  countryCode: "US",
  phonePlanId: "phonePlanId",
  locationOptionsQueries
});

Reservera telefonnummer för köp

beginReservePhoneNumbers Använd metoden för att söka efter telefonnummer och reservera dem. Det här är en tidskrävande åtgärd.

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

Om du vill hämta resultatet av reservationen använder pollUntilDone du metoden på den poller som du skapade.

const phoneNumberReservation = await reservePoller.pollUntilDone();

Du kan avbryta avsökningen och reservationen cancelOperation genom att anropa metoden på den poller som du skapade.

await reservePoller.cancelOperation();

Köpa telefonnummer från en reservation

beginPurchasePhoneNumbers Använd metoden för att köpa telefonnummer från din reservation. Den reservationId som returneras från beginReservePhoneNumbers krävs. beginPurchasePhoneNumbers är också en tidskrävande åtgärd.

const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);

Om du vill få resultatet av köpet använder pollUntilDone du metoden för den köpröst som du skapade.

const results = await purchasePoller.pollUntilDone();

Felsökning

Nästa steg

Ta en titt på exempelkatalogen för detaljerade exempel på hur du använder det här biblioteket.

Bidra

Om du vill bidra till det här biblioteket kan du läsa bidragsguiden för att lära dig mer om hur du skapar och testar koden.

Visningar