Dela via


Snabbstart: Hämta och hantera telefonnummer

Viktigt!

SMS- och PSTN-funktioner beror på vilket telefonnummer du använder och det land/den region som du arbetar inom enligt din Azure-faktureringsadress. Mer information finns i dokumentationen om prenumerationsberättigande.

Viktigt!

För beställningar med stora volymer eller om det önskade telefonnumret inte är tillgängligt kan du gå till den här sidan för ytterligare hjälp.

Förutsättningar

Hämta ett telefonnummer

Om du vill börja etablera nummer går du till din Communication Services-resurs på Azure Portal.

Skärmbild som visar huvudsidan för en Communication Services-resurs.

Sök efter tillgängliga telefonnummer

Gå till bladet Telefonnummer på resursmenyn.

Skärmbild som visar en Communication Services-resursens telefonsida.

Tryck på knappen Hämta för att starta guiden. Guiden på bladet Telefonnummer vägleder dig genom en rad frågor som hjälper dig att välja det telefonnummer som passar bäst för ditt scenario.

Du måste först välja det land/den region där du vill etablera telefonnumret. När du har valt Land/region måste du sedan välja det användningsfall som passar bäst för dina behov.

Skärmbild som visar vyn Hämta telefonnummer.

Välj telefonnummerfunktioner

Konfigurationen av ditt telefonnummer är uppdelad i två steg:

  1. Valet av taltyp
  2. Valet av antal funktioner

Du kan välja mellan två typer av telefonnummer: Lokal och Avgiftsfri. När du har valt en nummertyp kan du sedan välja funktionen.

I vårt exempel har vi valt en avgiftsfri nummertyp med funktionen Ringa samtal och Skicka och ta emot SMS.

Skärmbild som visar vyn Välj funktioner.

Härifrån klickar du på knappen Nästa: Nummer längst ned på sidan för att anpassa de telefonnummer som du vill etablera.

Anpassa telefonnummer

På sidan Nummer anpassar du de telefonnummer som du vill etablera.

Skärmbild som visar sidan Val av tal.

Kommentar

Den här snabbstarten visar anpassningsflödet för avgiftsfria nummertyper. Upplevelsen kan vara något annorlunda om du har valt typen Lokalt nummer, men slutresultatet blir detsamma.

Välj riktnummer i listan över tillgängliga riktnummer och ange den kvantitet som du vill etablera och klicka sedan på Sök för att hitta nummer som uppfyller dina valda krav. De telefonnummer som uppfyller dina behov visas tillsammans med deras månadskostnad.

Skärmbild som visar sidan Nummerval med reserverade nummer.

Kommentar

Tillgänglighet beror på nummertyp, plats och de funktioner som du har valt. Tal reserveras under en kort tid innan transaktionen upphör att gälla. Om transaktionen upphör att gälla måste du välja om numren.

Om du vill visa inköpssammanfattningen och placera din beställning klickar du på knappen Nästa: Sammanfattning längst ned på sidan.

Köp telefonnummer

Sammanfattningssidan granskar nummertypen, funktioner, telefonnummer och total månadskostnad för att etablera telefonnummer.

Kommentar

Priserna som visas är de månatliga återkommande avgifterna som täcker kostnaden för att hyra ut det valda telefonnumret till dig. Ingår inte i den här vyn är de betala per användning-kostnader som uppstår när du ringer eller tar emot samtal. Prislistorna finns här. Dessa kostnader beror på nummertyp och mål som anropas. Till exempel kan pris per minut för ett samtal från ett regionalt nummer i Seattle till ett regionalt nummer i New York och ett samtal från samma nummer till ett brittiskt mobilnummer vara annorlunda.

Klicka slutligen på Placera ordning längst ned på sidan för att bekräfta.

Skärmbild som visar sidan Sammanfattning med nummertypen, funktioner, telefonnummer och total månadskostnad som visas.

Hitta dina telefonnummer på Azure Portal

Gå till din Azure Communication Services-resurs på Azure Portal:

Skärmbild som visar huvudsidan för en Communication Services-resurs.

Välj bladet Telefonnummer på menyn för att hantera dina telefonnummer.

Skärmbild som visar en kommunikationstjänstresurss telefonnummersida.

Kommentar

Det kan ta några minuter innan de etablerade numren visas på den här sidan.

Uppdatera funktioner för telefonnummer

På sidan Telefonnummer kan du välja ett telefonnummer för att konfigurera det.

Skärmbild som visar sidan med uppdateringsfunktioner.

Välj funktionerna från de tillgängliga alternativen och klicka sedan på Spara för att tillämpa ditt val.

Versionstelefonnummer

På sidan Nummer kan du släppa telefonnummer.

Skärmbild som visar sidan med versionstelefonnummer.

Välj det telefonnummer som du vill släppa och klicka sedan på knappen Släpp .

Viktigt!

Den här funktionen i Azure Communication Services är för närvarande i förhandsversion.

Förhandsversions-API:er och SDK:er tillhandahålls utan ett serviceavtal. Vi rekommenderar att du inte använder dem för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds, eller så kan de ha begränsade funktioner.

Mer information finns i Kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Azure Communication Services introducerar en ny användarupplevelse för att köpa telefonnummer. Den här upplevelsen flygs för närvarande, och du kan komma att introduceras för den här upplevelsen när du köper ett telefonnummer i Azure Portal. Om du har feedback om den här upplevelsen, tveka inte att ge den via knappen Ge feedback om Azure Portal tillägg.

Förutsättningar

Köpa ett telefonnummer

  1. Gå till kommunikationstjänstens resurs i Azure Portal.

    Skärmbild som visar huvudsidan för en Communication Services-resurs.

  2. I resursöversikten för Communication Services väljer du alternativet "Telefonnummer" i den vänstra menyn.

    Skärmbild som visar en Communication Services-resurss telefonnummersida.

  3. Välj Hämta längst upp till vänster på sidan för att köpa ditt telefonnummer. När du väljer det här startas vår shoppingguide:

    Skärmbild som visar sökguiden för kundvagn för telefonnummer.

  4. Välj det land/den region där du vill etablera telefonnumret. Tillgänglighet för land/region baseras på faktureringsplatsen för din Azure-prenumeration. Mer information om vilka siffror som är tillgängliga för varje land/region finns här. Därefter väljer du nummertypen. Du kan välja mellan två typer av telefonnummer: Lokal och Avgiftsfri.

  5. Välj Sök för att hämta nummer som uppfyller dina valda villkor. Du har olika filter för att söka efter det nummer som passar dina behov, inklusive:

    • Användningsfall: Detta gäller om du använder det här numret för att anropa från ett program (A2P) eller från en mänsklig agent (P2P).
    • Samtal: Detta är för att fastställa vilka samtalsfunktioner du vill ha för ditt telefonnummer: Ringa samtal och/eller ta emot samtal.
    • SMS: Detta är för att fastställa vilka SMS-funktioner du vill ha för ditt telefonnummer: Skicka och/eller ta emot SMS.
    • Anpassad: Du kan också lägga till anpassade filter för att hämta ett visst prefix eller en uppsättning siffror i ditt telefonnummer.

    Skärmbild som visar sidan för köp av telefonnummer med tillgängliga telefonnummer.

  6. När du har hittat det telefonnummer eller nummer du väljer väljer du Lägg till i kundvagn för att lagra numren i telefonvagnen. Dessa nummer lagras i 16 minuter innan din kundvagn rensas automatiskt.

    Skärmbild som visar telefonnumrets kundvagn med två telefonnummer i kundvagnen.

    Kommentar

    Priserna som visas är de månatliga återkommande avgifterna som täcker kostnaden för att hyra ut det valda telefonnumret till dig. Ingår inte i den här vyn är de betala per användning-kostnader som uppstår när du ringer eller tar emot samtal. Prislistorna finns här. Dessa kostnader beror på nummertyp och mål som anropas. Till exempel kan pris per minut för ett samtal från ett regionalt nummer i Seattle till ett regionalt nummer i New York och ett samtal från samma nummer till ett brittiskt mobilnummer vara annorlunda.

  7. Välj Nästa för att granska ditt köp. Slutför köpet genom att välja Köp nu.

    Skärmbild som visar 2 telefonnummer att granska och köpa.

  8. Du hittar dina köpta nummer på sidan Telefonnummer . Det kan ta några minuter innan talen etableras.

    Skärmbild av sidan telefonnummer med de nyinköpta telefonnumren rutade med en röd kantlinje.

Uppdatera funktioner för telefonnummer

På sidan Telefonnummer kan du välja ett telefonnummer för att konfigurera det.

Skärmbild som visar sidan med uppdateringsfunktioner.

Välj funktionerna från de tillgängliga alternativen och välj sedan Spara för att tillämpa ditt val.

Versionstelefonnummer

På sidan Nummer kan du släppa telefonnummer.

Skärmbild som visar sidan med versionstelefonnummer.

Välj det telefonnummer som du vill släppa och välj sedan på knappen Släpp .

Förutsättningar

Konfigurera

Lägga till tillägget

Lägg till Azure Communication Services-tillägget för Azure CLI med hjälp az extension av kommandot .

az extension add --name communication

Logga in på Azure CLI

Du måste logga in på Azure CLI. Du kan logga in med az login kommandot från terminalen och ange dina autentiseringsuppgifter.

Operations

Lista köpta telefonnummer

Kör följande kommando för att hämta alla köpta telefonnummer.

az communication phonenumber list --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.

Hämta information om köpta telefonnummer

Kör följande kommando för att hämta telefonnummerinformationen för ett köpt telefonnummer.

az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"

Gör följande ersättningar i koden:

  • Ersätt <purchasedPhoneNumber> med ett telefonnummer som är associerat med din Communication Services-resurs.
  • Ersätt <yourConnectionString> med din anslutningssträng.

Kommentar

Azure CLI-alternativet innehåller endast funktioner för att lista och visa telefonnummer. Det stöder inte andra åtgärder som att söka, köpa, redigera eller släppa telefonnummer.

(Valfritt) Använda Azure CLI-telefonnummeråtgärder utan att skicka in en anslutningssträng

Du kan konfigurera AZURE_COMMUNICATION_CONNECTION_STRING miljövariabeln så att den använder Azure CLI-telefonnummeråtgärder utan att behöva använda --connection_string för att skicka in anslutningssträng. Om du vill konfigurera en miljövariabel öppnar du ett konsolfönster och väljer ditt operativsystem på flikarna nedan. Ersätt <yourConnectionString> med din faktiska anslutningssträng.

Öppna ett konsolfönster och ange följande kommando:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

När du har lagt till miljövariabeln kan du behöva starta om alla program som körs och som behöver läsa in miljövariabeln, däribland konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.

Kommentar

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I ett terminal- eller kommandofönster kör du dotnet kommandot för att kontrollera att .NET-klientbiblioteket är installerat.

Konfigurera

Skapa ett nytt C#-program

I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du dotnet new kommandot för att skapa en ny konsolapp med namnet PhoneNumbersQuickstart. Det här kommandot skapar ett enkelt "Hello World"-C#-projekt med en enda källfil: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Ändra katalogen till den nyligen skapade appmappen dotnet build och använd kommandot för att kompilera programmet.

cd PhoneNumbersQuickstart
dotnet build

Installera -paketet

Installera Azure Communication PhoneNumbers-klientbiblioteket för .NET-paketet med hjälp av kommandot medan du fortfarande är i programkatalogen dotnet add package .

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

Lägg till ett using direktiv överst i Program.cs för att inkludera namnrymderna.

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

Uppdatera Main funktionssignaturen så att den är asynkron.

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

Autentisera klienten

Telefonnummerklienter kan autentiseras med hjälp av anslutningssträng som hämtats från en Azure Communication Services-resurser i Azure Portal.

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

Telefonnummerklienter har också möjlighet att autentisera med Microsoft Entra-autentisering. Med det här alternativet AZURE_CLIENT_SECRETAZURE_CLIENT_ID måste miljövariabler och AZURE_TENANT_ID miljövariabler konfigureras för autentisering.

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

Hantera telefonnummer

Sök efter tillgängliga telefonnummer

För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.

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

Köpa telefonnummer

Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult. Detta innehåller en SearchId som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.

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

Hämta telefonnummer

Efter ett inköpsnummer kan du hämta det från klienten.

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

Du kan också hämta alla köpta telefonnummer.

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

Uppdatera funktioner för telefonnummer

Med ett köpt nummer kan du uppdatera funktionerna.

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

Versionstelefonnummer

Du kan släppa ett köpt telefonnummer.

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

Kör koden

Kör programmet från programkatalogen dotnet run med kommandot .

dotnet run

Exempelkod

Du kan ladda ned exempelappen från GitHub

Kommentar

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Inrätta

Skapa ett nytt Java-program

Öppna terminalen eller kommandofönstret. Navigera till katalogen där du vill skapa ditt Java-program. Kör kommandot nedan för att generera Java-projektet från mallen maven-archetype-quickstart.

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

Du kommer att märka att aktiviteten "generera" skapade en katalog med samma namn som artifactId. Under den här katalogen innehåller katalogen src/main/java projektkällkoden, src/test/java directory innehåller testkällan och pom.xml filen är projektets projektobjektmodell eller POM.

Installera -paketet

Öppna filen pom.xml i textredigeraren. Lägg till följande beroendeelement i gruppen med beroenden.

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

Konfigurera appramverket

Från projektkatalogen:

  1. Navigera till katalogen /src/main/java/com/communication/quickstart
  2. Öppna filen App.java i redigeringsprogrammet
  3. Ersätt -instruktionen System.out.println("Hello world!");
  4. Lägga till import direktiv

Börja med följande kod:

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

Autentisera telefonnummerklienten

PhoneNumberClientBuilder är aktiverad för att använda Microsoft Entra-autentisering

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

Du kan också använda slutpunkten och åtkomstnyckeln från kommunikationsresursen för att autentisera.

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

Hantera telefonnummer

Sök efter tillgängliga telefonnummer

För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.

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

Köp telefonnummer

Resultatet av att söka efter telefonnummer är phoneNumberSearchResult. Detta innehåller en searchId som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.

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

Hämta telefonnummer

Efter ett inköpsnummer kan du hämta det från klienten.

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

Du kan också hämta alla köpta telefonnummer.

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

Uppdatera funktioner för telefonnummer

Med ett köpt nummer kan du uppdatera funktionerna.

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
}

Versionstelefonnummer

Du kan släppa ett köpt telefonnummer.

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

Kör koden

Navigera till katalogen som innehåller pom.xml-filen och kompilera projektet med hjälp av följande mvn kommando.

mvn compile

Skapa sedan paketet.

mvn package

Kör följande mvn kommando för att köra appen.

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

Utdata från appen beskriver varje åtgärd som har slutförts:

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

Kommentar

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Konfigurera

Skapa ett nytt Python-program

Öppna terminalen eller kommandofönstret och skapa en ny katalog för din app och navigera sedan till den.

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

Använd en textredigerare för att skapa en fil med namnet phone_numbers_sample.py i projektrotkatalogen och lägga till följande kod. Vi lägger till den återstående snabbstartskoden i följande avsnitt.

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)

Installera -paketet

Installera Azure Communication Services Administration-klientbiblioteket för Python-paketet med hjälp av kommandot medan du fortfarande är i programkatalogen pip install .

pip install azure-communication-phonenumbers

Autentisera telefonnummerklienten

PhoneNumbersClient Är aktiverad för att använda Microsoft Entra-autentisering. DefaultAzureCredential Att använda objektet är det enklaste sättet att komma igång med Microsoft Entra-ID och du kan installera det med hjälp av pip install kommandot .

pip install azure-identity

Om du skapar ett DefaultAzureCredential objekt måste du ha AZURE_CLIENT_ID, AZURE_CLIENT_SECREToch AZURE_TENANT_ID redan angett som miljövariabler med motsvarande värden från ditt registrerade Microsoft Entra-program.

Om du vill ha en snabb upprampning av hur du hämtar dessa miljövariabler kan du följa snabbstarten Konfigurera tjänstens huvudnamn från CLI.

När du har installerat azure-identity biblioteket kan vi fortsätta att autentisera klienten.

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)

Du kan också använda slutpunkten och åtkomstnyckeln från kommunikationsresursen för att autentisera.

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)

Funktioner

När har autentiserats PhoneNumbersClient kan vi börja arbeta med de olika funktioner som kan utföras.

Sök efter tillgängliga telefonnummer

För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet (standardkvantitet är inställt på 1). Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.

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)

Köp telefonnummer

Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult. Detta innehåller en searchId som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.

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)

Hämta köpta telefonnummer

Efter ett inköpsnummer kan du hämta det från klienten.

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)

Du kan också hämta alla köpta telefonnummer.

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)

Uppdatera funktioner för telefonnummer

Du kan uppdatera funktionerna i ett tidigare köpt telefonnummer.

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

Versionstelefonnummer

Du kan släppa ett köpt telefonnummer.

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

Kör koden

Gå till katalogen som innehåller phone_numbers_sample.py-filen från en konsolprompt och kör sedan följande Python-kommando för att köra appen.

python phone_numbers_sample.py

Kommentar

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • I ett terminal- eller kommandofönster kör du node --version för att kontrollera att Node.js är installerat.

Konfigurera

Skapa ett nytt Node.js-program

Öppna först terminalen eller kommandofönstret, skapa en ny katalog för din app och navigera till den.

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

Kör npm init -y för att skapa en package.json fil med standardinställningar.

npm init -y

Skapa en fil med namnet phone-numbers-quickstart.js i roten på den katalog som du nyss skapade. Lägg till följande kodfragment i det:

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

main();

Installera -paketet

npm install Använd kommandot för att installera Azure Communication Services Phone Numbers-klientbiblioteket för JavaScript.

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

Alternativet --save lägger till biblioteket som ett beroende i din package.json-fil .

Autentisera klienten

Importera PhoneNumbersClient från klientbiblioteket och instansiera det med din anslutningssträng. Koden nedan hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING. Lär dig hur du hanterar resursens anslutningssträng.

Lägg till följande kod överst i 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);

Hantera telefonnummer

Sök efter tillgängliga telefonnummer

För att kunna köpa telefonnummer måste du först söka efter tillgängliga telefonnummer. Om du vill söka efter telefonnummer anger du riktnummer, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet. Observera att för den avgiftsfria telefonnummertypen är det valfritt att ange riktnummer.

Lägg till följande kodfragment i funktionen main :

/**
 * 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}`);

Köpa telefonnummer

Resultatet av att söka efter telefonnummer är en PhoneNumberSearchResult. Detta innehåller en searchId som kan skickas till API:et för inköpsnummer för att hämta numren i sökningen. Observera att om du anropar API:et för inköpstelefonnummer debiteras ditt Azure-konto.

Lägg till följande kodfragment i funktionen main :

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Uppdatera funktioner för telefonnummer

När ett telefonnummer nu har köpts lägger du till följande kod för att uppdatera dess funktioner:

/**
 * 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.");

Hämta köpta telefonnummer

Efter ett inköpsnummer kan du hämta det från klienten. Lägg till följande kod i funktionen main för att hämta det telefonnummer som du precis har köpt:

/**
 * Get Purchased Phone Number
 */

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

Du kan också hämta alla köpta telefonnummer.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

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

Versionstelefonnummer

Nu kan du släppa det köpta telefonnumret. Lägg till kodfragmentet nedan i funktionen main :

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

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

Kör koden

node Använd kommandot för att köra koden som du lade till i filen phone-numbers-quickstart.js.

node phone-numbers-quickstart.js

Felsökning

Vanliga frågor och problem:

  • När ett telefonnummer släpps visas telefonnumret i din ACS-resurs på Azure Portal till slutet av faktureringsperioden. Det kan inte heller köpas om förrän i slutet av faktureringsperioden.

  • När en Communication Services-resurs tas bort släpps de telefonnummer som är associerade med resursen automatiskt samtidigt.

Nästa steg

I den här snabbstarten lärde du dig att:

  • Köpa ett telefonnummer
  • Hantera ditt telefonnummer
  • Släpp ett telefonnummer
  • Skicka in ett avgiftsfritt verifieringsprogram (se om det behövs)