Snabbstart: Hämta och hantera telefonnummer

Viktigt

Telefon antal är för närvarande begränsat till Azure-prenumerationer som har en faktureringsadress i USA (inklusiveFältet), Storbritannien eller Irland. Mer information finns i dokumentationen om Telefon-nummertyper.

Viktigt

För beställningar med stora volymer eller om önskat telefonnummer inte är tillgängligt fyller du i det här formuläret och skickar det via e-post med en ämnesrad som börjar med acstnrequest@microsoft.com "ACS-nummerbegäran:".

Förutsättningar

Hämta ett telefonnummer

Börja etablera nummer genom att gå till Communication Services resurs på Azure Portal.

Skärmbild som Communication Services en resurss huvudsida.

Sök efter Tillgängliga Telefon nummer

Gå till Telefon bladet Siffror på resursmenyn.

Skärmbild som Communication Services en resurss telefonsida.

Tryck på knappen Hämta för att starta guiden. Guiden på bladet Telefon visar en serie 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 land/region där du vill etablera telefonnumret. När du har valt Land/region måste du välja användningsfallet som bäst passar dina behov.

Skärmbild som visar vyn Hämta telefonnummer.

Välj funktioner för ditt telefonnummer

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

  1. Valet av nummertyp
  2. Valet av nummerfunktioner

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

I vårt exempel har vi valt en nummertyp utan kostnad med funktionerna Gör anrop och Skicka och ta emot SMS.

Skärmbild som visar vyn Välj funktioner.

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

Anpassa telefonnummer

sidan Nummer anpassar du de telefonnummer som du vill etablera.

Skärmbild som visar sidan Talval.

Anteckning

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

Välj Områdeskod i listan över tillgängliga areakoder och ange den kvantitet som du vill etablera. Klicka sedan på Sök för att hitta tal som uppfyller dina valda krav. De telefonnummer som uppfyller dina behov visas tillsammans med månadskostnaden.

Skärmbild som visar sidan Numbers selection (Nummerval) med reserverade nummer.

Anteckning

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

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

Köp Telefon nummer

Sammanfattningssidan visar nummertyp, funktioner, Telefon nummer och total månadskostnad för att etablera telefonnumren.

Anteckning

De priser som visas är de månatliga återkommande avgifterna som täcker kostnaden för att leasa det valda telefonnumret till dig. Inte inkluderad i den här vyn är de betala-enligt-kostnader som uppstår när du gör eller tar emot anrop. 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 Seattle-nummer till ett regionalt nummer i New York och ett anrop från samma nummer till ett mobilnummer i Storbritannien vara annorlunda.

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

Skärmbild som visar sidan Sammanfattning med nummertyp, funktioner, Telefon nummer och total månadskostnad som visas.

Hitta dina telefonnummer på Azure Portal

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

Skärmbild som Communication Services en resurss huvudsida.

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

Skärmbild som Communication Services en resurss telefonnummersida.

Anteckning

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

Uppdatera Telefon för antal

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

Skärmbild som visar sidan med uppdateringsfunktioner.

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

Versionsnummer Telefon version

På sidan Nummer kan du släppa telefonnummer.

Skärmbild som visar sidan med lanseringstelefonnummer.

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

Anteckning

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

Förutsättningar

Kravkontroll

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

Inrätta

Skapa ett nytt C#-program

I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du kommandot för att skapa en ny dotnet new 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 och använd kommandot dotnet build för att kompilera programmet.

cd PhoneNumbersQuickstart
dotnet build

Installera paketet

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

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

Lägg till using ett -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

Telefon Number-klienter kan autentiseras med hjälp av en anslutningssträng som har köpts från Azure Communication Services resurser i [Azure Portal][azure_portal].

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

Telefon Number-klienter har också möjlighet att autentisera med Azure Active Directory autentisering. Med det här AZURE_CLIENT_SECRET alternativet AZURE_CLIENT_ID måste AZURE_TENANT_ID miljövariablerna , och 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 områdeskod, tilldelningstyp, telefonnummerfunktioner, telefonnummertypoch kvantitet. Observera att för typen av kostnadsfritt telefonnummer är det valfritt att ange områdeskoden.

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öp telefonnummer

Resultatet av att söka efter telefonnummer är PhoneNumberSearchResult en . Detta innehåller en SearchId som kan skickas till API:et för köpnummer för att hämta talen 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}");
}

Funktioner för att uppdatera 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();

Utgivningstelefonnummer

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 med dotnet run kommandot .

dotnet run

Exempelkod

Du kan ladda ned exempelappen från GitHub

Anteckning

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. Gå till katalogen där du vill skapa Java-programmet. 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 ser att aktiviteten "generate" skapade en katalog med samma namn som artifactId . Under den här katalogen innehåller katalogen src/main/java projektkällkoden, innehåller testkällan och filen är projektets src/test/java directory Project Object Model eller pom.xml POM.

Installera paketet

Öppna 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. Gå till katalogen /src/main/java/com/communication/quickstart
  2. Öppna filen App.java i redigeringsredigeraren
  3. Ersätt System.out.println("Hello world!"); -instruktionen
  4. Lägga till import direktiv

Använd följande kod för att börja:

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 Telefon numbers-klienten

PhoneNumberClientBuilder har aktiverats för att använda Azure Active Directory 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 Telefon nummer

Sök efter tillgängliga Telefon nummer

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 områdeskod, tilldelningstyp, telefonnummerfunktioner, telefonnummertypoch kvantitet. Observera att för typen av kostnadsfritt telefonnummer är det valfritt att ange områdeskoden.

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

Inköpsnummer Telefon köp

Resultatet av att söka efter telefonnummer är PhoneNumberSearchResult. Detta innehåller en searchId som kan skickas till API:et för köpnummer för att hämta talen 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 Telefon(er)

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

Funktioner Telefon Uppdateringsnummer

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
}

Versionsnummer Telefon version

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

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

Anteckning

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

Förutsättningar

Inrätta

Skapa ett nytt Python-program

Öppna terminal- 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 projektets rotkatalog och lägg till följande kod. Vi kommer att lägga 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

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

pip install azure-communication-phonenumbers

Autentisera Telefon numbers-klienten

PhoneNumbersClientär aktiverat för att använda Azure Active Directory autentisering. Att använda DefaultAzureCredential objektet är det enklaste sättet att komma igång Azure Active Directory och du kan installera det med pip install kommandot .

pip install azure-identity

När du skapar ett -objekt måste du ha , och redan angett som miljövariabler med DefaultAzureCredential motsvarande värden från ditt registrerade Azure AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_TENANT_ID AD-program.

Om du vill ha en snabb översikt över 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 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)

Functions

När PhoneNumbersClient har autentiserats kan vi börja arbeta med de olika funktioner som den kan göra.

Sök efter Tillgängliga Telefon nummer

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 områdeskod, tilldelningstyp, telefonnummerfunktioner, telefonnummertyp och kvantitet (standardkvantiteten är inställd på 1). Observera att för den kostnadsfria telefonnummertypen är det valfritt att ange områdeskoden.

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

Resultatet av att söka efter telefonnummer är PhoneNumberSearchResult en . Detta innehåller en searchId som kan skickas till API:et för köpnummer för att hämta talen 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 Telefon för antal

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

Versionsnummer Telefon version

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 filen phone_numbers_sample.py från en konsolfråga och kör sedan följande python-kommando för att köra appen.

python phone_numbers_sample.py

Anteckning

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

Förutsättningar

Kravkontroll

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

Inrätta

Skapa ett nytt Node.js program

Öppna först terminal- eller kommandofönstret, skapa en ny katalog för appen 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 phone-numbers-quickstart.js i roten av den katalog som du nyss skapade. Lägg till följande kodfragment i det:

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

main();

Installera paketet

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

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

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

Autentisera klienten

Importera PhoneNumbersClient från klientbiblioteket och instantiera den med anslutningssträngen. Koden nedan hämtar anslutningssträngen 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 områdeskod, tilldelningstyp, telefonnummerfunktioner, telefonnummertypoch kvantitet. Observera att för typen av kostnadsfritt telefonnummer är det valfritt att ange områdeskoden.

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

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

Telefonnummer för köp

Resultatet av att söka efter telefonnummer är PhoneNumberSearchResult en . Detta innehåller en searchId som kan skickas till API:et för köpnummer för att hämta talen 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 main funktionen:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Funktioner för att uppdatera telefonnummer

När du har köpt ett telefonnummer 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.");

Skaffa 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}.`);
}

Utgivningstelefonnummer

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

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

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

node phone-numbers-quickstart.js

Felsökning

Vanliga frågor och problem:

  • När ett telefonnummer släpps släpps inte telefonnumret eller kan köpas på nytt förrän faktureringsperioden är slut.

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

Nästa steg

I den här snabbstarten har du lärt dig att:

  • Köpa ett telefonnummer
  • Hantera ditt telefonnummer
  • Släpp ett telefonnummer