Sdílet prostřednictvím


Rychlý start: Získání a správa telefonních čísel

Důležité

Možnosti sms a veřejné telefonní sítě závisí na telefonním čísle, které používáte, a na zemi nebo oblasti, ve které pracujete podle fakturační adresy Azure. Další informace najdete v dokumentaci k způsobilosti k předplatnému .

Důležité

V případě velkých objemových objednávek nebo v případě nedostupnosti požadovaného telefonního čísla navštivte tuto stránku a požádejte o další pomoc.

Požadavky

Zakoupení telefonního čísla

  1. Na webu Azure portal přejděte ke zdroji komunikační služby.

    Snímek obrazovky zobrazující hlavní stránku prostředku komunikační služby

  2. V přehledu prostředků Komunikační služby vyberte v nabídce vlevo možnost Telefonní čísla.

    Snímek obrazovky zobrazující stránku telefonních čísel prostředků komunikačních služeb.

  3. Vyberte Získat v levém horním rohu stránky a kupte si telefonní číslo. Výběrem tohoto příkazu spustíte našeho průvodce nákupy:

    Snímek obrazovky zobrazující průvodce vyhledáváním telefonního čísla v nákupním košíku.

  4. Zvolte zemi nebo oblast , ve které chcete zřídit telefonní číslo. Dostupnost podle země/regionu se odvíjí od umístění fakturace pro vaše předplatné Azure. Další informace o tom, jaká čísla jsou k dispozici pro každou zemi nebo oblast, najdete tady. V dalším kroku zvolíte typ čísla. Můžete si vybrat ze dvou typů telefonních čísel: místní a bezplatná linka.

Poznámka:

  • Hromadné objednávky čísel nebo některé země/oblasti, například Nizozemsko, vyžadují zvláštní objednávku telefonních čísel. Pokud je potřeba speciální objednávání, zobrazí se výzva, abyste postupovali podle níže uvedeného speciálního procesu objednávky.
  • V části Telefonní čísla klikněte na tlačítko Požádat o zvláštní objednávku.
  • Otevřete nový případ.
  • Jako profil zákazníka vyberte "Azure Communication Service".
  • Zvolte zemi nebo oblast, kde potřebujete telefonní čísla.
  • Jako typ případu vyberte "New TN Acquisition".
  • Vyplňte potřebné podrobnosti a odešlete žádost.
  1. Výběrem možnosti Hledat můžete načíst čísla, která splňují vybraná kritéria. K vyhledání čísla, které vyhovuje vašim potřebám, máte různé filtry, mezi které patří:

    • Případ použití: Toto číslo slouží k volání z aplikace (A2P) nebo z lidského agenta (P2P).
    • Volání: Toto je určení možností volání, které chcete pro své telefonní číslo: Volání a/nebo přijímání hovorů.
    • SMS: Toto je pro určení možností SMS, které chcete pro své telefonní číslo: Odesílání a/nebo příjem SMS zpráv.
    • Vlastní: Můžete také přidat vlastní filtry, abyste získali určitou předponu nebo sadu číslic v telefonním čísle.

    Snímek obrazovky zobrazující stránku nákupu telefonního čísla s dostupnými telefonními čísly

  2. Jakmile najdete telefonní číslo nebo čísla podle svého výběru, vyberte Přidat do košíku a čísla se budou uchovávat v telefonním košíku. Tato čísla se uchovávají po dobu 16 minut, než se košík automaticky vymaže.

    Snímek obrazovky zobrazující nákupní košík na telefonní čísla se dvěma čísly v košíku.

    Poznámka:

    Zobrazené ceny jsou měsíční opakované poplatky , které pokrývají náklady na pronájem vybraného telefonního čísla vám. V tomto zobrazení nejsou zahrnuty ceny podle spotřeby, které vzniknou při uskutečňování nebo přijímání hovorů. Ceníky jsou k dispozici tady. Tyto náklady závisí na druhu čísla a destinacích, na které se volalo. Například cena za minutu volání z regionálního čísla Seattlu do regionálního čísla v New Yorku a volání ze stejného čísla na mobilní číslo Ve Velké Británii se může lišit.

  3. Vyberte Další a zkontrolujte nákup. Nákup dokončíte tak, že vyberete Koupit.

    Snímek obrazovky znázorňující 2 telefonní čísla ke kontrole a nákupu

  4. Zakoupená čísla najdete zpět na stránce Telefonní čísla . Nastavení čísel může trvat několik minut.

    Snímek obrazovky se stránkou telefonních čísel s nově zakoupenými telefonními čísly s červeným ohraničením

Aktualizace možností telefonního čísla

Na stránce Telefonní čísla můžete vybrat telefonní číslo, které chcete nakonfigurovat.

Snímek obrazovky se stránkou funkcí aktualizace

Vyberte funkce z dostupných možností a pak vyberte Uložit , aby se výběr použil.

Uvolnit telefonní číslo

Na stránce Čísla můžete uvolnit telefonní čísla.

Snímek obrazovky se stránkou uvolněných telefonních čísel.

Vyberte telefonní číslo, které chcete uvolnit, a pak vyberte tlačítko Uvolnit .

Požadavky

Nastavení

Přidání rozšíření

Pomocí příkazu přidejte rozšíření Azure Communication Services pro Azure CLI az extension .

az extension add --name communication

Přihlášení k Azure CLI

Budete se muset přihlásit k Azure CLI. Můžete se přihlásit spuštěním az login příkazu z terminálu a zadat své přihlašovací údaje.

Operace

Seznam zakoupených telefonních čísel

Spusťte následující příkaz pro načtení všech zakoupených telefonních čísel.

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

Proveďte tuto náhradu v kódu:

  • Nahraďte <yourConnectionString> vaším připojovacím řetězcem.

Získání podrobností o zakoupených telefonních číslech

Spuštěním následujícího příkazu získejte podrobnosti o zakoupeném telefonním čísle.

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

Proveďte tyto nahrazení v kódu:

  • Nahraďte <purchasedPhoneNumber> telefonním číslem přidruženým k vašemu prostředku komunikační služby.
  • Nahraďte <yourConnectionString> vaším připojovacím řetězcem.

Poznámka:

Možnost Azure CLI poskytuje funkce pouze pro výpis a zobrazení telefonních čísel. Nepodporuje jiné operace, jako je vyhledávání, nákup, úpravy nebo vydávání telefonních čísel.

(Volitelné) Použití operací Azure CLI pro telefonní čísla bez předání připojovacího řetězce

Proměnnou AZURE_COMMUNICATION_CONNECTION_STRING prostředí můžete nakonfigurovat tak, abyste mohli provádět operace s telefonními čísly pomocí Azure CLI, aniž byste museli použít --connection_string k předání připojovacího řetězce. Pokud chcete nakonfigurovat proměnnou prostředí, otevřete okno konzoly a na následujících kartách vyberte operační systém. Nahraďte <yourConnectionString> skutečným připojovacím řetězcem.

Otevřete okno konzoly a zadejte následující příkaz:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Po přidání proměnné prostředí možná bude nutné restartovat všechny spuštěné programy, které budou potřebovat číst tuto proměnnou prostředí, a to včetně okna konzoly. Pokud například jako editor používáte Sadu Visual Studio, restartujte sadu Visual Studio před spuštěním příkladu.

Poznámka:

Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu

Požadavky

Kontrola předpokladů

  • V terminálu nebo příkazovém okně spusťte dotnet příkaz a zkontrolujte, jestli je nainstalovaná klientská knihovna .NET.

Nastavení

Vytvoření nové aplikace jazyka C#

V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new příkazu vytvořte novou konzolovou aplikaci s názvem PhoneNumbersQuickstart. Tento příkaz vytvoří jednoduchý projekt "Hello World" C# s jedním zdrojovým souborem: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Změňte adresář na nově vytvořenou složku aplikace a pomocí dotnet build příkazu zkompilujte aplikaci.

cd PhoneNumbersQuickstart
dotnet build

Nainstalujte balíček .

V adresáři aplikace nainstalujte klientskou knihovnu Azure Communication PhoneNumbers pro balíček .NET pomocí dotnet add package příkazu.

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

Přidejte direktivu using na začátek Program.cs , aby zahrnovala obory názvů.

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

Aktualizujte Main podpis funkce tak, aby byl asynchronní.

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

Ověření klienta

Klienti telefonního čísla se dají ověřit pomocí připojovacího řetězce získaného z prostředků Azure Communication Services na webu Azure Portal.

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

Klienti telefonní služby mají také možnost ověření pomocí služby Microsoft Entra. U této možnosti je potřeba nastavit proměnné prostředí AZURE_CLIENT_SECRET, AZURE_CLIENT_ID a AZURE_TENANT_ID pro ověřování.

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

Správa telefonních čísel

Vyhledání dostupných telefonních čísel

Abyste si mohli koupit telefonní čísla, musíte nejdřív vyhledat dostupná telefonní čísla. Pokud chcete vyhledat telefonní čísla, zadejte směrové číslo oblasti, typ přiřazení, funkce telefonního čísla, typ telefonního čísla a množství. Všimněte si, že pro typ bezplatného telefonního čísla je poskytnutí směrového čísla oblasti volitelné.

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

Nákup telefonních čísel

Výsledkem hledání telefonních čísel je PhoneNumberSearchResult. Obsahuje kód SearchId , který lze předat do rozhraní API nákupních čísel, aby bylo možné získat čísla ve vyhledávání. Všimněte si, že volání rozhraní API pro nákup telefonních čísel povede k poplatku na vašem účtu Azure.

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

Získání telefonních čísel

Když máte nákupní číslo, můžete ho získat od klienta.

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

Můžete také získat všechna zakoupená telefonní čísla.

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

Aktualizace možností telefonního čísla

S zakoupeným číslem můžete aktualizovat možnosti.

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

Uvolnit telefonní číslo

Zakoupené telefonní číslo můžete uvolnit.

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

Spuštění kódu

Spusťte aplikaci z adresáře aplikace pomocí dotnet run příkazu.

dotnet run

Ukázka kódu

Ukázkovou aplikaci si můžete stáhnout z GitHubu.

Poznámka:

Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu

Požadavky

Instalace

Vytvoření nové aplikace v Javě

Otevřete terminál nebo příkazové okno. Přejděte do adresáře, do kterého chcete vytvořit aplikaci v Javě. Spuštěním následujícího příkazu vygenerujte projekt Java ze šablony maven-archetype-quickstart.

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

Všimněte si, že úloha generování vytvořila adresář se stejným názvem jako .artifactId V tomto adresáři obsahuje adresář src/main/java zdrojový kód projektu, src/test/java directory zdroj testů a pom.xml soubor je projektový objektový model nebo POM projektu.

Nainstalujte balíček .

Otevřete soubor pom.xml v textovém editoru. Do skupiny závislostí přidejte následující prvky závislostí.

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

Nastavení architektury aplikace

Z adresáře projektu:

  1. Přejděte do adresáře /src/main/java/com/communication/quickstart .
  2. Otevření souboru App.java v editoru
  3. Nahraďte System.out.println("Hello world!"); příkaz
  4. Přidejte import pokyny

Začněte následujícím kódem:

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

Ověření telefonních čísel pro klienta

PhoneNumberClientBuilder je povolený pro použití ověřování Microsoft Entra.

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

Případně je také možné použít koncový bod a přístupový klíč z komunikačního prostředku k ověření.

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

Správa telefonních čísel

Vyhledání dostupných telefonních čísel

Abyste si mohli koupit telefonní čísla, musíte nejdřív vyhledat dostupná telefonní čísla. Pokud chcete vyhledat telefonní čísla, zadejte směrové číslo oblasti, typ přiřazení, funkce telefonního čísla, typ telefonního čísla a množství. Všimněte si, že pro typ bezplatného telefonního čísla je poskytnutí směrového čísla oblasti volitelné.

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

Nákup telefonních čísel

Výsledkem hledání telefonních čísel je PhoneNumberSearchResult. Obsahuje kód searchId , který lze předat do rozhraní API nákupních čísel, aby bylo možné získat čísla ve vyhledávání. Všimněte si, že volání rozhraní API pro nákup telefonních čísel povede k poplatku na vašem účtu Azure.

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

Získat telefonní čísla

Když máte nákupní číslo, můžete ho získat od klienta.

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

Můžete také získat všechna zakoupená telefonní čísla.

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

Aktualizace možností telefonního čísla

S zakoupeným číslem můžete aktualizovat možnosti.

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
}

Uvolnit telefonní číslo

Zakoupené telefonní číslo můžete uvolnit.

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

Spuštění kódu

Pomocí následujícího příkazu přejděte do adresáře obsahujícího mvn a zkompilujte projekt.

mvn compile

Pak balíček sestavte.

mvn package

Spuštěním následujícího mvn příkazu spusťte aplikaci.

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

Výstup aplikace popisuje každou dokončenou akci:

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

Poznámka:

Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu

Požadavky

Nastavení

Vytvoření nové aplikace v Pythonu

Otevřete terminál nebo příkazové okno a vytvořte pro aplikaci nový adresář a přejděte na něj.

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

Pomocí textového editoru vytvořte soubor s názvem phone_numbers_sample.py v kořenovém adresáři projektu a přidejte následující kód. Zbývající kód rychlého startu přidáme v následujících částech.

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)

Nainstalujte balíček .

Zatímco se stále nacházíte v adresáři aplikace, nainstalujte pomocí příkazu klientskou knihovnu pro správu služeb Azure Communication Services pro Python jako balíček pip install.

pip install azure-communication-phonenumbers

Ověření telefonních čísel pro klienta

Použití PhoneNumbersClient je povoleno k ověřování Microsoft Entra. Použití objektu DefaultAzureCredential je nejjednodušší způsob, jak začít s Microsoft Entra ID a můžete jej nainstalovat pomocí příkazu pip install.

pip install azure-identity

Vytvoření objektu DefaultAzureCredential vyžaduje, abyste měli AZURE_CLIENT_ID, AZURE_CLIENT_SECRETa AZURE_TENANT_ID již nastaven jako proměnné prostředí s odpovídajícími hodnotami z vaší registrované aplikace Microsoft Entra.

Pokud chcete rychle začít s získáním těchto proměnných prostředí, můžete postupovat podle rychlého průvodce pro nastavení služebních principálů z příkazového rozhraní.

Jakmile knihovnu azure-identity nainstalujete, můžeme pokračovat v ověřování klienta.

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)

Případně je také možné použít koncový bod a přístupový klíč z komunikačního prostředku k ověření.

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)

Funkce

PhoneNumbersClient Po ověření můžeme začít pracovat na různých funkcích, které může provádět.

Vyhledání dostupných telefonních čísel

Abyste si mohli koupit telefonní čísla, musíte nejdřív vyhledat všechna dostupná telefonní čísla. Pokud chcete vyhledat telefonní čísla, zadejte směrové číslo oblasti, typ přiřazení, funkce telefonního čísla, typ telefonního čísla a množství (výchozí množství je nastavené na 1). Všimněte si, že pro typ bezplatného telefonního čísla je poskytnutí směrového čísla oblasti volitelné.

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)

Nákup telefonních čísel

Výsledkem hledání telefonních čísel je PhoneNumberSearchResult. Obsahuje kód searchId , který lze předat do rozhraní API nákupních čísel, aby bylo možné získat čísla ve vyhledávání. Všimněte si, že volání rozhraní API pro nákup telefonních čísel povede k poplatku na vašem účtu Azure.

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)

Získejte zakoupená telefonní čísla

Když máte nákupní číslo, můžete ho získat od klienta.

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)

Můžete také získat všechna zakoupená telefonní čísla.

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)

Aktualizace možností telefonního čísla

Můžete aktualizovat možnosti dříve zakoupeného telefonního čísla.

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

Uvolnit telefonní číslo

Zakoupené telefonní číslo můžete uvolnit.

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

Spuštění kódu

Z příkazového řádku konzoly přejděte do adresáře obsahujícího soubor phone_numbers_sample.py a spusťte aplikaci spuštěním následujícího příkazu Pythonu.

python phone_numbers_sample.py

Poznámka:

Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu

Požadavky

Kontrola předpokladů

  • V terminálu nebo příkazovém okně spusťte kontrolu node --version , jestli je nainstalovaná Node.js.

Nastavení

Vytvoření nové aplikace Node.js

Nejprve otevřete terminál nebo příkazové okno, vytvořte pro aplikaci nový adresář a přejděte na něj.

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

Spuštěním příkazu npm init -y vytvořte souborpackage.json s výchozím nastavením.

npm init -y

Vytvořte soubor s názvem phone-numbers-quickstart.js v kořenovém adresáři, který jste právě vytvořili. Přidejte do něj následující fragment kódu:

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

main();

Nainstalujte balíček .

npm install Pomocí příkazu nainstalujte klientskou knihovnu telefonních čísel služeb Azure Communication Services pro JavaScript.

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

Tato --save možnost přidá knihovnu jako závislost do souboru package.json .

Ověření klienta

Importujte PhoneNumbersClient z klientské knihovny a vytvořte instanci pomocí připojovacího řetězce. Následující kód načte připojovací řetězec pro prostředek z proměnné prostředí s názvem COMMUNICATION_SERVICES_CONNECTION_STRING. Naučte se, jak spravovat připojovací řetězec vašeho prostředku.

Na začátek phone-numbers-quickstart.jspřidejte následující kód:

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

Správa telefonních čísel

Vyhledání dostupných telefonních čísel

Abyste si mohli koupit telefonní čísla, musíte nejdřív vyhledat dostupná telefonní čísla. Pokud chcete vyhledat telefonní čísla, zadejte směrové číslo oblasti, typ přiřazení, funkce telefonního čísla, typ telefonního čísla a množství. Všimněte si, že pro typ bezplatného telefonního čísla je poskytnutí směrového čísla oblasti volitelné.

Do funkce main přidejte následující fragment kódu:

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

Koupit telefonní číslo

Výsledkem hledání telefonních čísel je PhoneNumberSearchResult. Obsahuje kód searchId , který lze předat do rozhraní API nákupních čísel, aby bylo možné získat čísla ve vyhledávání. Všimněte si, že volání rozhraní API pro nákup telefonních čísel povede k poplatku na vašem účtu Azure.

Do funkce main přidejte následující fragment kódu:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Aktualizace možností telefonního čísla

Po zakoupení telefonního čísla přidejte následující kód pro aktualizaci svých možností:

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

Získejte zakoupená telefonní čísla

Když máte nákupní číslo, můžete ho získat od klienta. Přidejte do funkce main následující kód, abyste získali telefonní číslo, které jste právě zakoupili:

/**
 * Get Purchased Phone Number
 */

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

Můžete také získat všechna zakoupená telefonní čísla.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

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

Uvolnit telefonní číslo

Zakoupené telefonní číslo teď můžete uvolnit. Do své main funkce přidejte následující fragment kódu:

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

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

Spuštění kódu

node Pomocí příkazu spusťte kód, který jste přidali do souboruphone-numbers-quickstart.js.

node phone-numbers-quickstart.js

Řešení problému

Běžné dotazy a problémy:

  • Po uvolnění telefonního čísla se telefonní číslo zobrazuje ve vašem prostředku ACS na portálu Azure až do konce fakturačního období. Také se nedá znovu použít až do konce fakturačního období.

  • Po odstranění prostředku komunikační služby se telefonní čísla přidružená k ho prostředku automaticky uvolní současně.

Další kroky

V tomto rychlém průvodci jste se naučili:

  • Zakoupení telefonního čísla
  • Správa telefonního čísla
  • Uvolněte telefonní číslo
  • Odeslat žádost o bezplatné ověření (zjistěte, zda je to povinné)