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
- Een Azure-abonnement.
- Een bestaande Communication Services-resource. Als u de resource moet maken, kunt u de Azure-portal, de Azure PowerShell of de Azure CLI gebruiken.
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 credential
nodig. 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
- Telefoonnummers kopen via een zoekopdracht
- Een gekocht telefoonnummer vrijgeven
- Mogelijkheden voor telefoonnummers bijwerken
- Een gekocht telefoonnummer ophalen
- Gekochte telefoonnummers weergeven
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();
Telefoonnummers kopen via een zoekopdracht
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.
Verwante projecten