Delen via


Azure Communication Phone Numbers-clientbibliotheek voor JavaScript - versie 1.0.0

De bibliotheek voor telefoonnummers biedt mogelijkheden voor het beheer van telefoonnummers.

Aangeschafte telefoonnummers kunnen veel mogelijkheden hebben, afhankelijk van het land, het nummertype en het toewijzingstype. 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

Installeren

npm install @azure/communication-phone-numbers

Browserondersteuning

JavaScript-bundel

Als u deze clientbibliotheek in de browser wilt gebruiken, moet u eerst een bundelaar gebruiken. Raadpleeg onze documentatie voor bundeling voor meer informatie over hoe u dit doet.

Belangrijkste concepten

Het pakket met telefoonnummers bevat de die methoden biedt voor het PhoneNumbersClient beheren van telefoonnummers.

Typen telefoonnummers

Telefoonnummers zijn er in twee typen: Geografisch en gratis. Geografische telefoonnummers zijn telefoonnummers die zijn gekoppeld aan een locatie, waarvan het netnummer is gekoppeld aan het netnummer van een geografische locatie. Toll-Free telefoonnummers zijn niet gekoppeld aan een locatie. In de VS kunnen gratis nummers bijvoorbeeld worden geleverd met netnummers zoals 800 of 888.

Alle geografische telefoonnummers binnen hetzelfde land worden gegroepeerd in een telefoonabonnementgroep met het type Geografisch telefoonnummer. Alle Toll-Free telefoonnummers binnen hetzelfde land worden gegroepeerd in een telefoonabonnementgroep.

Getallen zoeken en verkrijgen

Telefoonnummers kunnen worden doorzocht via de API voor het maken van zoekopdrachten door een telefoonnummertype (geografisch of gratis), toewijzingstype (persoon of toepassing), bel- en sms-mogelijkheden, een netnummer en het aantal telefoonnummers op te geven. Het opgegeven aantal telefoonnummers wordt gedurende 15 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 gekocht, worden de telefoonnummers verkregen voor de Azure-resource.

Telefoonnummers configureren

Telefoonnummers kunnen een combinatie van mogelijkheden hebben. Ze kunnen worden geconfigureerd om binnenkomende en/of uitgaande oproepen te ondersteunen, of geen van beide als u het telefoonnummer niet gebruikt om te bellen. Hetzelfde geldt voor sms-mogelijkheden.

Het is belangrijk om rekening te houden met het toewijzingstype van uw telefoonnummer. Sommige mogelijkheden zijn beperkt tot een bepaald toewijzingstype.

Voorbeelden

Verificatie

Als u een clientobject wilt maken voor toegang tot de Communication Services-API, hebt u een connection string of van endpoint uw Communication Services-resource en een credentialnodig. De phone numbers-client kan azure Active Directory-referenties of een API-sleutelreferentie gebruiken om te verifiëren.

U kunt een sleutel en/of connection string ophalen uit uw Communication Services-resource in Azure Portal. U kunt ook het eindpunt voor uw Communication Services-resource vinden in de Azure-portal.

Zodra u een sleutel hebt, kunt u de PhoneNumbersClient verifiëren met een van de volgende methoden:

Een connection string gebruiken

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

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

Een toegangssleutel gebruiken met AzureKeyCredential

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. Zodra u een sleutel en eindpunt hebt, kunt u zich verifiëren met de volgende code:

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

Een Azure Active Directory-referentie gebruiken

Verificatie van verbindingsreeksen wordt in de meeste voorbeelden gebruikt, maar u kunt zich ook verifiëren met Azure Active Directory met behulp van de Azure Identity-bibliotheek. Als u de DefaultAzureCredential-provider wilt gebruiken die hieronder wordt weergegeven, of andere referentieproviders die bij de Azure SDK worden geleverd, installeert u het @azure/identity pakket:

npm install @azure/identity

Het @azure/identity pakket biedt verschillende referentietypen die uw toepassing kan gebruiken om dit te doen. Leesmij voor @azure/identity biedt meer details en voorbeelden om u op weg te helpen.

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

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

Gebruik

De volgende secties bevatten codefragmenten die betrekking hebben op enkele veelvoorkomende taken met behulp van de client Azure Communication Services Telefoonnummers. De scenario's die hier worden behandeld, bestaan uit:

Zoeken naar beschikbare telefoonnummers

Gebruik de beginSearchAvailablePhoneNumbers methode om te zoeken naar telefoonnummers en deze te reserveren. De geretourneerde telefoonnummers zijn 15 minuten gereserveerd en kunnen tijdens deze periode worden gekocht door de searchId aan de beginPurchasePhoneNumbers methode op te geven.

beginSearchAvailablePhoneNumbers is een langdurige bewerking en retourneert een 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();

Gebruik de beginPurchasePhoneNumbers methode om de telefoonnummers van uw zoekopdracht te kopen. Aangeschafte telefoonnummers worden toegewezen aan de Communication Services-resource die wordt gebruikt bij het initiëren van de client. De searchId geretourneerde van beginSearchAvailablePhoneNumbers is vereist.

beginPurchasePhoneNumbers is een langdurige bewerking en retourneert een 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();

Een gekocht telefoonnummer vrijgeven

Gebruik de beginReleasePhoneNumber methode om een eerder gekocht telefoonnummer vrij te geven. Vrijgegeven telefoonnummers worden niet meer gekoppeld aan de Communication Services-resource en zijn niet beschikbaar voor gebruik met andere bewerkingen (bijvoorbeeld SMS) van de resource. Het telefoonnummer dat wordt vrijgegeven, is vereist.

beginReleasePhoneNumber is een langdurige bewerking en retourneert een 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();

Mogelijkheden voor telefoonnummers bijwerken

Gebruik de beginUpdatePhoneNumberCapabilities methode om de mogelijkheden van een gekocht telefoonnummer bij te werken. Telefoonnummers kunnen worden geconfigureerd om binnenkomende en/of uitgaande oproepen en sms-berichten te ondersteunen, of geen van beide.

beginUpdatePhoneNumberCapabilities is een langdurige bewerking en retourneert een 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();

Een gekocht telefoonnummer ophalen

Gebruik de getPurchasedPhoneNumber methode om informatie op te halen over een gekocht telefoonnummer. Deze informatie omvat het type telefoonnummer, de mogelijkheden, de kosten en de aankoopdatum.

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

Gekochte telefoonnummers weergeven

Gebruik de listPurchasedPhoneNumbers methode om door alle aangeschafte telefoonnummers te gaan.

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

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.

Weergaven