Snelstart: Telefoonnummers op halen en beheren

Belangrijk

Telefoon-nummerbeschikbaarheid is momenteel beperkt tot Azure-abonnementen met een factureringsadres in de Verenigde Staten (met inbegrip van Moeten Moeten), het Verenigd Koninkrijk of Ierland. Ga voor meer informatie naar de documentatie Telefoon aantal typen.

Belangrijk

Voor orders met een groot volume of in het geval dat uw gewenste telefoonnummer niet beschikbaar is, vult u dit formulier in en e-mailt u het per e-mail naar met een onderwerpregel die begint met acstnrequest@microsoft.com ACS-nummeraanvraag: .

Vereisten

Een telefoonnummer aanvragen

Als u wilt beginnen met het inrichten van nummers, gaat u naar uw Communication Services-resource in de Azure-portal.

Schermopname van de hoofdpagina van een Communicatie Services-resource.

Zoeken naar Beschikbare Telefoon nummers

Ga naar de blade Telefoonnummers in het resourcemenu.

Schermopname van de telefoonnummerpagina van een Communicatie Services-resource.

Druk op de knop Ophalen om de wizard te starten. U wordt door de wizard op de blade Telefoonnummers door een reeks vragen begeleidt waarmee u het telefoonnummer kunt kiezen dat het beste bij uw scenario past.

U moet eerst bij het land of de regio kiezen waar u het telefoonnummer wilt inrichten. Nadat u een land/regio hebt geselecteerd, moet u de Use-case selecteren die het beste bij uw behoeften past.

Schermopname van de weergave voor het aanvragen van telefoonnummers.

Telefoonnummerfuncties selecteren

Het configureren van uw telefoonnummer is onderverdeeld in twee stappen:

  1. De selectie van het nummertype
  2. De selectie van de getalmogelijkheden

U kunt kiezen uit twee typen telefoonnummers: Lokaal en Gratis. Wanneer u een type nummer hebt geselecteerd, kunt u de functie kiezen.

In ons voorbeeld hebben we een gratis nummertype geselecteerd met Bellen en Sms-functies verzenden en ontvangen.

Schermopname van de weergave voor selectie van functies.

Klik hier op de knop Volgende: nummers onder aan de pagina om de telefoonnummers aan te passen die u wilt inrichten.

Telefoonnummers aanpassen

Op de pagina Nummers past u de telefoonnummers aan die u wilt inrichten.

Schermopname van de pagina voor het selecteren van nummers.

Notitie

In deze quickstart wordt de stroom voor het aanpassen van het nummertype Gratis weergegeven. De ervaring kan enigszins afwijken als u het lokale nummertype hebt gekozen, maar het eindresultaat hetzelfde is.

Kies het Netnummer in de lijst met beschikbare netnummers, voer het aantal nummers in dat u wilt inrichten en klik vervolgens op Zoeken om nummers te vinden die aan uw selectiecriteria voldoen. De telefoonnummers die aan uw criteria voldoen, worden samen met de kosten per maand weergegeven.

Schermopname van de pagina voor het selecteren van nummers, met gereserveerde nummers.

Notitie

De beschikbaarheid is afhankelijk van het nummertype, de locatie en de functies die u hebt geselecteerd. Nummers worden korte tijd gereserveerd voordat de transactie verloopt. Als de transactie verloopt, moet u de nummers opnieuw selecteren.

Als u het aankoopoverzicht wilt bekijken en uw bestelling wilt plaatsen, klikt u op de knop Volgende: overzicht onder aan de pagina.

Inkoop Telefoon nummers

Op de overzichtspagina worden het nummertype, de kenmerken, de telefoonnummers en de totale maandelijkse kosten voor het inrichten van de telefoonnummers weergegeven.

Notitie

De weergegeven prijzen zijn de maandelijks terugkerende kosten die aan u worden berekend voor het leasen van het geselecteerde telefoonnummer. Niet inbegrepen in deze weergave zijn de kosten voor betalen per gebruik, die u maakt voor binnenkomende of uitgaande oproepen. De prijslijsten zijn hier beschikbaar. Deze kosten zijn afhankelijk van het nummertype en van welke nummers u belt. Zo kan de prijs per minuut voor een gesprek van een regionaal nummer in Seattle naar een regionaal nummer in New York erg verschillen van de gesprekskosten voor een gesprek van datzelfde nummer in Seattle naar een mobiel nummer in het Verenigd Koninkrijk.

Klik ten slotte ter bevestiging op Bestelling plaatsen onder aan de pagina.

Schermopname van de overzichtspagina met het nummertype, de kenmerken, de telefoonnummers en de totale maandelijkse kosten.

Uw telefoonnummers zoeken in de Azure-portal

Navigeer naar Azure Communication Services resource op de Azure Portal:

Schermopname van de hoofdpagina van een Communication Services-resource.

Selecteer de blade Telefoonnummers in het menu om uw telefoonnummers te beheren.

Schermopname van de telefoonnummerpagina van een Communication Services-resource.

Notitie

Het kan enkele minuten duren voordat de ingerichte nummers op deze pagina worden weergegeven.

Mogelijkheden Telefoon aantal bijwerken

Op de Telefoon kunt u een telefoonnummer selecteren om dit te configureren.

Schermopname van de pagina met updatefuncties.

Selecteer de functies uit de beschikbare opties en klik vervolgens op Opslaan om uw selectie toe te passen.

Releasenummer Telefoon releasenummer

Op de pagina Nummers kunt u telefoonnummers vrijgeven.

Schermopname van de pagina releasetelefoonnummers.

Selecteer het telefoonnummer dat u wilt vrijgeven en klik vervolgens op de knop Release.

Notitie

Zoek de uiteindelijke code voor deze quickstart op GitHub

Vereisten

Controle van vereisten

  • Voer in een terminal- of opdrachtvenster de opdracht dotnet uit om te controleren of de .NET-clientbibliotheek is geïnstalleerd.

Instellen

Een nieuwe C#-toepassing maken

Gebruik in een consolevenster (zoals cmd, PowerShell of Bash) de opdracht dotnet new om een nieuwe console-app te maken met de naam PhoneNumbersQuickstart. Met deze opdracht maakt u een eenvoudig Hallo wereld-C#-project met één bronbestand: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Wijzig uw map in de zojuist gemaakte app-map en gebruik de opdracht dotnet build om uw toepassing te compileren.

cd PhoneNumbersQuickstart
dotnet build

Het pakket installeren

Terwijl u zich nog steeds in de toepassingsmap blijft, installeert u de Azure Communication PhoneNumbers-clientbibliotheek voor het .NET-pakket met behulp van de dotnet add package opdracht .

dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0

Voeg bovenaan using Program.cs een -richtlijn toe om de naamruimten op te nemen.

using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;

Werk Main functiehandtekening bij om asyncsyncatisch te zijn.

static async Task Main(string[] args)
{
  ...
}

De client verifiëren

Telefoon aantal clients kan worden geverifieerd met behulp van connection string verkregen van een Azure Communication Services-resources in de [Azure Portal][azure_portal].

// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);

Telefoon Number-clients hebben ook de optie om te verifiëren met Azure Active Directory Verificatie. Met deze optie AZURE_CLIENT_SECRET moeten AZURE_CLIENT_ID AZURE_TENANT_ID omgevingsvariabelen en worden ingesteld voor verificatie.

// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);

Telefoonnummers beheren

Zoeken naar beschikbare telefoonnummers

Als u telefoonnummers wilt kopen, moet u eerst zoeken naar beschikbare telefoonnummers. Als u wilt zoeken naar telefoonnummers, geeft u het gebiedscode, het toewijzingstype, demogelijkheden van het telefoonnummer, het type telefoonnummeren de hoeveelheid op. Houd er rekening mee dat voor het type gratis telefoonnummer het invoeren van de gebiedscode optioneel is.

var capabilities = new PhoneNumberCapabilities(calling:PhoneNumberCapabilityType.None, sms:PhoneNumberCapabilityType.Outbound);
var searchOptions = new PhoneNumberSearchOptions { AreaCode = "833", Quantity = 1 };

var searchOperation = await client.StartSearchAvailablePhoneNumbersAsync("US", PhoneNumberType.TollFree, PhoneNumberAssignmentType.Application, capabilities, searchOptions);
await searchOperation.WaitForCompletionAsync();

Telefoonnummers kopen

Het resultaat van het zoeken naar telefoonnummers is een PhoneNumberSearchResult . Dit bevat een SearchId die kan worden doorgegeven aan de API voor aankoopnummers om de getallen in de zoekopdracht te verkrijgen. Houd er rekening mee dat het aanroepen van de API voor aankooptelefoonnummers leidt tot kosten voor uw Azure-account.

var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();

Telefoonnummer(en) ontvangen

Na een aankoopnummer kunt u het ophalen van de client.

var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");

U kunt ook alle aangeschafte telefoonnummers ophalen.

var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
    Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}

Telefoonnummermogelijkheden bijwerken

Met een aangeschaft nummer kunt u de mogelijkheden bijwerken.

var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();

Telefoonnummer vrijgeven

U kunt een aangeschaft telefoonnummer vrijgeven.

var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();

De code uitvoeren

Voer de toepassing op vanuit uw toepassingsmap met de opdracht dotnet run.

dotnet run

Voorbeeldcode

U kunt de voorbeeld-app downloaden uit GitHub.

Notitie

Zoek de uiteindelijke code voor deze quickstart op GitHub

Vereisten

Instellen

Een nieuwe Java-toepassing maken

Open uw terminal-of opdrachtvenster. Navigeer naar de map waarin u uw Java-toepassing wilt maken. Voer de onderstaande opdracht uit om het Java-project te genereren op basis van de maven-archetype-snelstart-sjabloon.

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

U ziet dat de taak ' genereren ' een map heeft gemaakt met dezelfde naam als de artifactId. In deze map bevat de map src/main/Java de broncode van het project, de src/test/java directory bevat de testbron en het bestand pom.xml het projectobjectmodel van het project of POM.

Het pakket installeren

Open het bestand pom.xml in uw teksteditor. Voeg de volgende afhankelijkheidselementen toe aan de groep met afhankelijkheden.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-common</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-phonenumbers</artifactId>
    <version>1.0.0</version>
</dependency>

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-identity</artifactId>
    <version>1.2.3</version>
</dependency>

Het app-framework instellen

Ga als volgt te werk vanuit de projectmap:

  1. Ga naar de map /src/main/java/com/communication/quickstart
  2. Open het bestand App.java in uw editor
  3. De System.out.println("Hello world!");-instructie vervangen
  4. Voeg import-instructies toe

Gebruik de volgende code om te beginnen:

import com.azure.communication.phonenumbers.*;
import com.azure.communication.phonenumbers.models.*;
import com.azure.core.http.rest.*;
import com.azure.core.util.Context;
import com.azure.core.util.polling.LongRunningOperationStatus;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;
import com.azure.identity.*;
import java.io.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Phone Numbers Quickstart");
        // Quickstart code goes here
    }
}

De client Telefoon-nummers verifiëren

PhoneNumberClientBuilder is ingeschakeld voor het gebruik van Azure Active Directory verificatie

// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

U kunt ook het eindpunt en de toegangssleutel van de communicatieresource gebruiken om te verifiëren.

// You can find your connection string from your resource in the Azure portal
String connectionString = "endpoint=https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<ACCESS_KEY>";

PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Uw Telefoon beheren

Zoeken naar Beschikbare Telefoon nummers

Als u telefoonnummers wilt kopen, moet u eerst zoeken naar beschikbare telefoonnummers. Als u wilt zoeken naar telefoonnummers, geeft u de gebiedscode, het toewijzingstype, de mogelijkheden van hettelefoonnummer, het type telefoonnummeren de hoeveelheid op. Houd er rekening mee dat voor het type gratis telefoonnummer, het verstrekken van de gebiedscode optioneel is.

 PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities()
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);
PhoneNumberSearchOptions searchOptions = new PhoneNumberSearchOptions().setAreaCode("833").setQuantity(1);

SyncPoller<PhoneNumberOperation, PhoneNumberSearchResult> poller = phoneNumberClient
    .beginSearchAvailablePhoneNumbers("US", PhoneNumberType.TOLL_FREE, PhoneNumberAssignmentType.APPLICATION, capabilities, searchOptions, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
String searchId = "";

if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PhoneNumberSearchResult searchResult = poller.getFinalResult();
    searchId = searchResult.getSearchId();
    System.out.println("Searched phone numbers: " + searchResult.getPhoneNumbers());
    System.out.println("Search expires by: " + searchResult.getSearchExpiresBy());
    System.out.println("Phone number costs:" + searchResult.getCost().getAmount());
}

Inkoop Telefoon nummers

Het resultaat van het zoeken naar telefoonnummers is een PhoneNumberSearchResult. Deze bevat een searchId die kan worden doorgegeven aan de API voor aankoopnummers om de nummers in de zoekopdracht te verkrijgen. Houd er rekening mee dat het aanroepen van de API voor aankooptelefoonnummers leidt tot kosten voor uw Azure-account.

PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());

Een Telefoon(s)

Na een aankoopnummer kunt u het ophalen van de client.

PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

U kunt ook alle aangeschafte telefoonnummers ophalen.

PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());

Mogelijkheden Telefoon aantal bijwerken

Met een aangeschaft nummer kunt u de mogelijkheden bijwerken.

PhoneNumberCapabilities capabilities = new PhoneNumberCapabilities();
capabilities
    .setCalling(PhoneNumberCapabilityType.INBOUND)
    .setSms(PhoneNumberCapabilityType.INBOUND_OUTBOUND);

SyncPoller<PhoneNumberOperation, PurchasedPhoneNumber> poller = phoneNumberClient.beginUpdatePhoneNumberCapabilities("+18001234567", capabilities, Context.NONE);
PollResponse<PhoneNumberOperation> response = poller.waitForCompletion();
if (LongRunningOperationStatus.SUCCESSFULLY_COMPLETED == response.getStatus()) {
    PurchasedPhoneNumber phoneNumber = poller.getFinalResult();
    System.out.println("Phone Number Calling capabilities: " + phoneNumber.getCapabilities().getCalling()); //Phone Number Calling capabilities: inbound
    System.out.println("Phone Number SMS capabilities: " + phoneNumber.getCapabilities().getSms()); //Phone Number SMS capabilities: inbound+outbound
}

Releasenummer Telefoon

U kunt een aangeschaft telefoonnummer vrijgeven.

PollResponse<PhoneNumberOperation> releaseResponse =
    phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());

De code uitvoeren

Navigeer naar de map die het bestand pom.xml bevat en compileer het project met behulp van de volgende mvn-opdracht.

mvn compile

Bouw vervolgens het pakket.

mvn package

Voer de volgende mvn-opdracht uit om de app uit te voeren.

mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

De uitvoer van de app beschrijft elke actie die is voltooid:

Azure Communication Services - Phone Numbers Quickstart

Searched phone numbers: [+18001234567]

Purchase phone numbers operation is: SUCCESSFULLY_COMPLETED

Phone Number Country Code: US

Phone Number Calling capabilities: inbound

Phone Number SMS capabilities: inbound

Release phone number operation is: SUCCESSFULLY_COMPLETED

Notitie

Zoek de uiteindelijke code voor deze quickstart op GitHub

Vereisten

Instellen

Een nieuwe Python-toepassing maken

Open uw terminal- of opdrachtvenster, maak een nieuwe map voor uw app en navigeer er naartoe.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Gebruik een teksteditor om een bestand met de naam phone_numbers_sample.py te maken in de hoofdmap van het project en voeg de volgende code toe. In de volgende secties voegen we de resterende quickstart-code toe.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

try:
   print('Azure Communication Services - Phone Numbers Quickstart')
   # Quickstart code goes here
except Exception as ex:
   print('Exception:')
   print(ex)

Het pakket installeren

Blijf in de toepassingsmap en installeer met de opdracht pip install de clientbibliotheek voor het Azure Communications Services-beheer voor het Python-pakket.

pip install azure-communication-phonenumbers

De client Telefoon-nummers verifiëren

De PhoneNumbersClient is ingeschakeld voor het gebruik van Azure Active Directory verificatie. Het object is de eenvoudigste manier om aan de slag te gaan DefaultAzureCredential met Azure Active Directory en u kunt het installeren met behulp van de opdracht pip install .

pip install azure-identity

Voor het maken van een object moet u , en al hebben ingesteld als omgevingsvariabelen met de bijbehorende DefaultAzureCredential waarden uit uw geregistreerde Azure AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_TENANT_ID AD-toepassing.

Als u snel wilt weten hoe u deze omgevingsvariabelen kunt krijgen, kunt u de quickstart Service-principalsinstellen van CLI volgen.

Nadat u de bibliotheek hebt azure-identity geïnstalleerd, kunnen we doorgaan met het authenticeren van de client.

import os
from azure.communication.phonenumbers import PhoneNumbersClient
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
except Exception as ex:
    print('Exception:')
    print(ex)

U kunt ook het eindpunt en de toegangssleutel van de communicatieresource gebruiken om te verifiëren.

import os
from azure.communication.phonenumbers import PhoneNumbersClient

# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
    print('Exception:')
    print(ex)

Functions

Zodra de PhoneNumbersClient is geverifieerd, kunnen we aan de slag met de verschillende functies die het kan uitvoeren.

Zoeken naar beschikbare Telefoon nummers

Als u telefoonnummers wilt kopen, moet u eerst zoeken naar beschikbare telefoonnummers. Als u wilt zoeken naar telefoonnummers, geeft u het gebiedscode, het toewijzingstype, de mogelijkheden van het telefoonnummer,het type telefoonnummer en de hoeveelheid op (de standaardhoeveelheid is ingesteld op 1). Houd er rekening mee dat voor het type gratis telefoonnummer het invoeren van de gebiedscode optioneel is.

import os
from azure.communication.phonenumbers import PhoneNumbersClient, PhoneNumberCapabilityType, PhoneNumberAssignmentType, PhoneNumberType, PhoneNumberCapabilities
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        polling = True
    )
    search_result = search_poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

except Exception as ex:
    print('Exception:')
    print(ex)

Inkoopnummers Telefoon kopen

Het resultaat van het zoeken naar telefoonnummers is een PhoneNumberSearchResult . Dit bevat een searchId die kan worden doorgegeven aan de API voor aankoopnummers om de getallen in de zoekopdracht te verkrijgen. Houd er rekening mee dat het aanroepen van de API voor aankooptelefoonnummers leidt tot kosten voor uw Azure-account.

import os
from azure.communication.phonenumbers import (
    PhoneNumbersClient,
    PhoneNumberCapabilityType,
    PhoneNumberAssignmentType,
    PhoneNumberType,
    PhoneNumberCapabilities
)
from azure.identity import DefaultAzureCredential

# You can find your endpoint from your resource in the Azure portal
endpoint = 'https://<RESOURCE_NAME>.communication.azure.com'
try:
    print('Azure Communication Services - Phone Numbers Quickstart')
    credential = DefaultAzureCredential()
    phone_numbers_client = PhoneNumbersClient(endpoint, credential)
    capabilities = PhoneNumberCapabilities(
        calling = PhoneNumberCapabilityType.INBOUND,
        sms = PhoneNumberCapabilityType.INBOUND_OUTBOUND
    )
    search_poller = phone_numbers_client.begin_search_available_phone_numbers(
        "US",
        PhoneNumberType.TOLL_FREE,
        PhoneNumberAssignmentType.APPLICATION,
        capabilities,
        area_code="833",
        polling = True
    )
    search_result = poller.result()
    print ('Search id: ' + search_result.search_id)
    phone_number_list = search_result.phone_numbers
    print('Reserved phone numbers:')
    for phone_number in phone_number_list:
        print(phone_number)

    purchase_poller = phone_numbers_client.begin_purchase_phone_numbers(search_result.search_id, polling = True)
    purchase_poller.result()
    print("The status of the purchase operation was: " + purchase_poller.status())
except Exception as ex:
    print('Exception:')
    print(ex)

Aangeschaft telefoonnummer(en) ontvangen

Na een aankoopnummer kunt u het ophalen van de client.

purchased_phone_number_information = phone_numbers_client.get_purchased_phone_number("+18001234567")
print('Phone number: ' + purchased_phone_number_information.phone_number)
print('Country code: ' + purchased_phone_number_information.country_code)

U kunt ook alle aangeschafte telefoonnummers ophalen.

purchased_phone_numbers = phone_numbers_client.list_purchased_phone_numbers()
print('Purchased phone numbers:')
for purchased_phone_number in purchased_phone_numbers:
    print(purchased_phone_number.phone_number)

Mogelijkheden Telefoon aantal bijwerken

U kunt de mogelijkheden van een eerder gekocht telefoonnummer bijwerken.

update_poller = phone_numbers_client.begin_update_phone_number_capabilities(
    "+18001234567",
    PhoneNumberCapabilityType.OUTBOUND,
    PhoneNumberCapabilityType.OUTBOUND,
    polling = True
)
update_poller.result()
print('Status of the operation: ' + update_poller.status())

Releasenummer Telefoon release

U kunt een aangeschaft telefoonnummer vrijgeven.

release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())

De code uitvoeren

Navigeer vanuit een consoleprompt naar de map met het bestand phone_numbers_sample.py en voer vervolgens de volgende Python-opdracht uit om de app uit te voeren.

python phone_numbers_sample.py

Notitie

Zoek de uiteindelijke code voor deze quickstart op GitHub

Vereisten

Controle van vereisten

  • Voer node --version in een terminal of opdrachtvenster uit om te controleren of Node.js is geïnstalleerd.

Instellen

Een nieuwe Node.js-toepassing maken

Open eerst uw terminal of opdrachtvenster, maak een nieuwe map voor uw app en navigeer daar naartoe.

mkdir phone-numbers-quickstart && cd phone-numbers-quickstart

Voer npm init -y uit om een package.json-bestand te maken met de standaardinstellingen.

npm init -y

Maak een bestand met de phone-numbers-quickstart.js in de hoofdmap van de map die u zojuist hebt gemaakt. Voeg het volgende codefragment toe:

async function main() {
    // quickstart code will here
}

main();

Het pakket installeren

Gebruik de npm install opdracht om de clientbibliotheek Azure Communication Services Telefoon Numbers voor JavaScript te installeren.

npm install @azure/communication-phone-numbers --save

Met --save de optie wordt de bibliotheek als afhankelijkheid toegevoegd aan uw package.json-bestand.

De client verifiëren

Importeer de PhoneNumbersClient uit de clientbibliotheek en instantieer deze met uw connection string. Met de onderstaande code wordt de verbindingsreeks voor de resource opgehaald uit een omgevingsvariabele met de naam COMMUNICATION_SERVICES_CONNECTION_STRING. Meer informatie over het beheren van de connection string.

Voeg de volgende code toe aan het phone-numbers-quickstart.js:

const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);

Telefoonnummers beheren

Zoeken naar beschikbare telefoonnummers

Als u telefoonnummers wilt kopen, moet u eerst zoeken naar beschikbare telefoonnummers. Als u wilt zoeken naar telefoonnummers, geeft u de gebiedscode, het toewijzingstype, de mogelijkheden van hettelefoonnummer, het type telefoonnummeren de hoeveelheid op. Houd er rekening mee dat voor het type gratis telefoonnummer, het verstrekken van de gebiedscode optioneel is.

Voeg het volgende codefragment toe aan uw main functie:

/**
 * Search for Available Phone Number
 */

// Create search request
const searchRequest = {
    countryCode: "US",
    phoneNumberType: "tollFree",
    assignmentType: "application",
    capabilities: {
      sms: "outbound",
      calling: "none"
    },
    areaCode: "833",
    quantity: 1
  };

const searchPoller = await phoneNumbersClient.beginSearchAvailablePhoneNumbers(searchRequest);

// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();
const phoneNumber = phoneNumbers[0];

console.log(`Found phone number: ${phoneNumber}`);
console.log(`searchId: ${searchId}`);

Telefoonnummer kopen

Het resultaat van het zoeken naar telefoonnummers is een PhoneNumberSearchResult . Deze bevat een searchId die kan worden doorgegeven aan de API voor aankoopnummers om de nummers in de zoekopdracht te verkrijgen. Houd er rekening mee dat het aanroepen van de API voor aankooptelefoonnummers leidt tot kosten voor uw Azure-account.

Voeg het volgende codefragment toe aan uw main functie:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);

Telefoonnummermogelijkheden bijwerken

Nu u een telefoonnummer hebt aangeschaft, voegt u de volgende code toe om de mogelijkheden ervan bij te werken:

/**
 * Update Phone Number Capabilities
 */

// Create update request.
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
  sms: "inbound+outbound",
  calling: "outbound"
};

const updatePoller = await phoneNumbersClient.beginUpdatePhoneNumberCapabilities(
  phoneNumber,
  updateRequest
);

// Update is underway.
await updatePoller.pollUntilDone();
console.log("Phone number updated successfully.");

Aangeschaft telefoonnummer(en) ontvangen

Na een aankoopnummer kunt u het ophalen van de client. Voeg de volgende code toe aan uw main functie om het telefoonnummer op te halen dat u zojuist hebt aangeschaft:

/**
 * Get Purchased Phone Number
 */

const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");

U kunt ook alle aangeschafte telefoonnummers ophalen.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
  console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}

Telefoonnummer vrijgeven

U kunt nu het aangeschafte telefoonnummer vrijgeven. Voeg het onderstaande codefragment toe aan uw main functie:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");

De code uitvoeren

Gebruik de node opdracht om de code uit te voeren die u aan hetphone-numbers-quickstart.jshebt toegevoegd.

node phone-numbers-quickstart.js

Problemen oplossen

Veelvoorkomende vragen en problemen:

  • Wanneer een telefoonnummer wordt vrijgegeven, wordt het telefoonnummer pas vrijgegeven en kan het pas worden teruggekocht aan het einde van de factureringsperiode.

  • Wanneer een Communication Services-resource wordt verwijderd, worden de telefoonnummers die aan die resource zijn gekoppeld, automatisch op hetzelfde moment vrijgegeven.

Volgende stappen

In deze quickstart hebt u de volgende zaken geleerd:

  • Een telefoonnummer kopen
  • Uw telefoonnummer beheren
  • Een telefoonnummer vrijgeven