Hızlı başlangıç: telefon numaralarını edinme ve yönetme

Önemli

Telefon numarası kullanılabilirliği şu anda Birleşik Devletler (porto riko dahil), birleşik krallık veya irlanda dahil olmak üzere fatura adresi olan Azure abonelikleriyle kısıtlıdır. daha fazla bilgi için Telefon sayı türleri belgelerini ziyaret edin.

Önemli

Yüksek hacimli siparişler için veya istediğiniz telefon numarası kullanılamıyorsa bu formu doldurun ve "ACS Numarası İsteği:" ile başlayan bir konu satırıyla adresine acstnrequest@microsoft.com e-posta gönderin.

Önkoşullar

Telefon numarası al

Numaralarını hazırlamaya başlamak için, iletişim iletişim hizmetleri kaynağınıza Azure portal.

İletişim Hizmetleri kaynağının ana sayfasını gösteren ekran görüntüsü.

Kullanılabilir Telefon Arama

Kaynak menüsünde Telefon Sayılar dikey penceresine gidin.

İletişim Hizmetleri kaynağının telefon sayfasını gösteren ekran görüntüsü.

Sihirbazı başlatmak için Al düğmesine basın. Telefon numaraları dikey penceresindeki sihirbaz, senaryoya en uygun telefon numarasını seçmenize yardımcı olacak bir dizi soruda size yol sağlar.

İlk olarak telefon numarasını sağlamayı istediğiniz Ülke/bölgeyi seçmeniz gerekir. Ülke/bölge'yi seçdikten sonra, İhtiyaçlarınızı en iyi şekilde karşılamak için Kullanım durumu'na ihtiyacınız olacak.

Telefon numaralarını al görünümünü gösteren ekran görüntüsü.

Telefon numarası özelliklerinizi seçin

Telefon numaranızı yapılandırma iki adımdan oluşur:

  1. Sayı türü seçimi
  2. Sayı özellikleri seçimi

İki telefon numarası türü arasında seçim olabilir: Yerel ve Ücretsiz. Bir sayı türü seçtikten sonra özelliği seçebilirsiniz.

Örneğimizde, Çağrı yapma ve SMS gönder ve al özellikleriyle ücretsiz bir numara türü seçtik.

Özellik seç görünümünü gösteren ekran görüntüsü.

Burada sayfanın alt kısmında yer alan Sonraki: Numaralar düğmesine tıklayarak sağlanmasını istediğiniz telefon numaralarını özelleştirin.

Telefon numaralarını özelleştirme

Numaralar sayfasında, sağlanmasını istediğiniz telefon numaralarını özelleştirebilirsiniz.

Sayılar seçim sayfasını gösteren ekran görüntüsü.

Not

Bu hızlı başlangıçta Ücretsiz Sayı türü özelleştirme akışı gösteriliyor. Yerel Sayı türünü seçtiysanız deneyim biraz farklı olabilir, ancak sonuç aynı olur.

Kullanılabilir Alan kodları listesinden Alan kodunu seçin ve sağlanmasını istediğiniz miktarı girin ve ardından, seçtiğiniz gereksinimlerinizi karşılayacak sayıları bulmak için Ara'ya tıklayın. İhtiyaçlarınızı karşılayacak telefon numaraları, aylık maliyetleriyle birlikte gösterilir.

Ayrılmış numaralarla Sayılar seçim sayfasını gösteren ekran görüntüsü.

Not

Kullanılabilirlik Sayı türüne, konuma ve seçtiğiniz özelliklere bağlıdır. İşlem süresi dolmadan önce sayılar kısa bir süre için ayrılmıştır. İşlem süresi dolsa, sayıları yeniden seçmeniz gerekir.

Satın alma özetini görüntülemek ve siparişinizi almak için sayfanın altındaki Sonraki: Özet düğmesine tıklayın.

Satın Telefon Numaraları

Özet sayfasında telefon numaralarının sağlanması için Sayı türü, Özellikler, Telefon Numaraları ve Toplam aylık maliyet'i gözden geçirebilirsiniz.

Not

Gösterilen fiyatlar, seçilen telefon numarasını size kiralama maliyetini kapsayacak şekilde aylık yinelenen ücretlerdir. Bu görünüme dahil olmayan, çağrılarda veya alma sırasında tahakkuk eden, Öde maliyetleridir. Fiyat listelerine buradan bakabilirsiniz. Bu maliyetler, sayı türüne ve çağrılan hedeflere bağlıdır. Örneğin, Seattle bölgesel numarasından New York'taki bölgesel bir numaraya yapılan bir çağrı için dakika başına fiyat ve aynı numaradan Birleşik Krallık mobil numarasına yapılan çağrı farklı olabilir.

Son olarak, onaylamak için sayfanın en altındaki Sırayı ekle'ye tıklayın.

Sayı türü, Özellikler, Sayı Numaraları ve Toplam Telefon toplam aylık maliyetin gösterildiği Özet sayfasını gösteren ekran görüntüsü.

Telefon numaralarınızı telefonda Azure portal

Azure portal Azure İletişim Hizmetleri kaynağınıza gidin:

İletişim Hizmetleri Kaynağının ana sayfasını gösteren ekran görüntüsü.

Telefon Telefon yönetmek için menüden Sayı dikey penceresine tıklayın.

İletişim Hizmetleri Kaynağının telefon numarası sayfasını gösteren ekran görüntüsü.

Not

Sağlanan sayıların bu sayfada gösterilmesi birkaç dakika sürebilir.

Telefon Numarası Özelliklerini Güncelleştirme

Telefon sayfasında, yapılandırmak için bir telefon numarası seçin.

Güncelleştirme özellikleri sayfasını gösteren ekran görüntüsü.

Kullanılabilir seçeneklerden özellikleri seçin ve ardından seçiminizi uygulamak için Kaydet'e tıklayın.

Yayın Telefon Numarası

Numaralar sayfasında telefon numaralarını serbest abilirsiniz.

Sürüm telefon numaraları sayfasını gösteren ekran görüntüsü.

Serbest bırakmak istediğiniz telefon numarasını seçin ve ardından Serbest Bırak düğmesine tıklayın.

Not

Bu hızlı başlangıç için son kodu GitHub

Önkoşullar

Önkoşul denetimi

  • Bir terminalde veya komut penceresinde komutunu dotnet çalıştırarak .NET istemci kitaplığının yüklü olup olduğunu kontrol edin.

Ayarlama

Yeni bir C# uygulaması oluşturma

Konsol penceresinde (cmd, PowerShell veya Bash gibi) komutunu kullanarak adıyla dotnet new yeni bir konsol uygulaması PhoneNumbersQuickstart oluşturun. Bu komut, tek bir kaynak Merhaba Dünya basit bir "Merhaba Dünya" C# projesi oluşturur: Program.cs.

dotnet new console -o PhoneNumbersQuickstart

Dizininizi yeni oluşturulan uygulama klasörüne değiştirme ve komutunu dotnet build kullanarak uygulamanızı derleme.

cd PhoneNumbersQuickstart
dotnet build

Paketi yükleme

Uygulama dizinindeyken komutunu kullanarak .NET paketi için Azure Communication PhoneNumbers istemci kitaplığını dotnet add package yükleyin.

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

Ad alanlarını using dahil etmek için Program.cs'nin en üstüne bir yönerge ekleyin.

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

İşlev Main imzasını zaman uyumsuz olacak şekilde güncelleştirin.

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

İstemcinin kimliğini doğrulama

Telefon sayısı istemcilerinin kimliği, [Azure portal][azure_portal] Azure İletişim Hizmetleri kaynaklarından alınan bağlantı dizesi kullanılarak doğrulanabilir.

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

Telefon Numarası istemcilerinin kimlik doğrulaması için kimlik doğrulaması yapma seçeneği de Azure Active Directory vardır. Bu AZURE_CLIENT_SECRET seçenekle, ve AZURE_CLIENT_ID ortam AZURE_TENANT_ID değişkenlerinin kimlik doğrulaması için ayarlanmış olması gerekir.

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

Telefon numaralarını yönetme

Kullanılabilir telefon numaralarını arama

Telefon numaralarını satın almak için öncelikle kullanılabilir telefon numaralarını aramalısiniz. Telefon numaralarını aramak için alan kodunu, atama türünü, telefon numarası özelliklerini, telefonnumarası türünü vemiktarını girin. Alan kodunun isteğe bağlı olarak sağlanması, ücretsiz telefon numarası türü için de ek bir seçenektir.

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

Telefon numaralarını satın alma

Telefon numaralarını aramanın sonucu bir PhoneNumberSearchResult 'dır. Bu, SearchId aramada sayıları almak için satın alma numaraları API'sinde geçirilen bir içerir. Satın alma telefon numaraları API'sini çağırmanın Azure Hesabınız için ücrete neden olduğunu unutmayın.

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

Telefon numaralarını al

Satın alma numarasından sonra istemciden bunu alın.

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

Ayrıca, satın alınan tüm telefon numaralarını da alın.

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

Telefon numarası özelliklerini güncelleştirme

Satın alınan bir numarayla özellikleri güncelleştirin.

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

Sürüm telefon numarası

Satın alınan bir telefon numarasını serbest abilirsiniz.

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

Kodu çalıştırma

komutunu kullanarak uygulamayı uygulama dizininize dotnet run çalıştırın.

dotnet run

Örnek Kod

Örnek uygulamayı GitHub

Not

Bu hızlı başlangıç için GitHub tarihinde son kodu bulun

Önkoşullar

Ayarlanıyor

Yeni bir Java uygulaması oluşturma

Terminal veya komut pencerenizi açın. Java uygulamanızı oluşturmak istediğiniz dizine gidin. Maven-,-hızlı başlangıç şablonundan Java projesi oluşturmak için aşağıdaki komutu çalıştırın.

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

' Oluştur ' görevinin ile aynı ada sahip bir dizin oluşturduğunu fark edeceksiniz artifactId . bu dizin altında src/main/java dizini proje kaynak kodunu içerir, src/test/java directory test kaynağını içerir ve pom.xml dosya projenin Project nesne modeli veya pod olur.

Paketi yükler

pom.xml dosyasını metin düzenleyicinizde açın. Aşağıdaki bağımlılık öğelerini bağımlılıklar grubuna ekleyin.

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

Uygulama çerçevesini ayarlama

Proje dizininden:

  1. /Src/Main/Java/com/Communication/QuickStart dizinine gidin
  2. Düzenleyicinizde app. Java dosyasını açın
  3. İfadesini Değiştir System.out.println("Hello world!");
  4. importYönergeler ekleme

Başlamak için aşağıdaki kodu kullanın:

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

Telefon numarası istemcisinin kimliğini doğrulama

phonenumberclientbuilder Azure Active Directory kimlik doğrulaması kullanmak için etkinleştirildi

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

Alternatif olarak, kimlik doğrulaması için iletişim kaynağından uç nokta ve erişim anahtarı kullanmak da mümkündür.

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

Telefon numaralarını yönet

kullanılabilir Telefon numaralarını ara

Telefon numaralarını satın almak için önce kullanılabilir telefon numaralarını aramanız gerekir. Telefon numaralarını aramak için, alan kodunu, atama türünü, telefon numarası özelliklerini, telefon numarası türünüve miktarı belirtin. Ücretsiz telefon numarası türü için, alan kodunu sağlamanın isteğe bağlı olduğunu unutmayın.

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

Telefon numaraları satın alın

Telefon numarası arama sonucu, PhoneNumberSearchResult ' dır. Bu, searchId aramada sayıları almak için satın alma NUMARALARı API 'sine geçirilebilen bir içerir. Satın alma telefon numaraları API 'sinin çağrılması, Azure hesabınıza ücretlendirdiğine neden olur.

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

Telefon sayısını al

Bir satın alma numarasından sonra, istemciden alabilirsiniz.

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

Satın alınan tüm telefon numaralarını da alabilirsiniz.

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

Telefon numarası yeteneklerini güncelleştirme

Satın alınan bir numarayla, yeteneklerini güncelleştirebilirsiniz.

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
}

yayın Telefon numarası

Satın alınan bir telefon numarasını serbest bırakabilirsiniz.

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

Kodu çalıştırma

pom.xml dosyasını içeren dizine gidin ve aşağıdaki komutu kullanarak projeyi derleyin mvn .

mvn compile

Ardından, paketini oluşturun.

mvn package

mvnUygulamayı yürütmek için aşağıdaki komutu çalıştırın.

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

Uygulamanın çıktısı tamamlanan her eylemi açıklar:

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

Not

Bu hızlı başlangıç için GitHub tarihinde son kodu bulun

Önkoşullar

Ayarlanıyor

Yeni Python uygulaması oluşturma

Terminal veya komut pencerenizi açın, uygulamanız için yeni bir dizin oluşturun ve ardından bu dizine gidin.

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

Proje kök dizininde phone_numbers_sample. Kopyala adlı bir dosya oluşturmak ve aşağıdaki kodu eklemek için bir metin düzenleyicisi kullanın. Aşağıdaki bölümlerde kalan hızlı başlangıç kodunu ekleyeceğiz.

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)

Paketi yükler

Hala uygulama dizininde, komutunu kullanarak Python paketi için Azure Communication Services yönetim istemcisi kitaplığı ' nı da yükleyebilirsiniz pip install .

pip install azure-communication-phonenumbers

Telefon numarası istemcisinin kimliğini doğrulama

PhoneNumbersClientAzure Active Directory kimlik doğrulaması kullanmak için etkinleştirilir. nesnesini kullanmak DefaultAzureCredential Azure Active Directory kullanmaya başlamak için en kolay yoldur ve komutunu kullanarak yükleyebilirsiniz pip install .

pip install azure-identity

Bir nesne oluşturmak,, ve ' nin DefaultAzureCredential AZURE_CLIENT_ID AZURE_CLIENT_SECRET AZURE_TENANT_ID kayıtlı Azure AD uygulamanızdan karşılık gelen değerleriyle birlikte ortam değişkenleri olarak ayarlamış olmasını gerektirir.

Bu ortam değişkenlerini alma hakkında hızlı bir izleme için, CLI hızlı başlangıcı ' ndan hizmet sorumlularını ayarlamayıizleyebilirsiniz.

Kitaplığı yükledikten sonra azure-identity , istemcinin kimliğini doğrulamaya devam edebiliriz.

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)

Alternatif olarak, kimlik doğrulaması için iletişim kaynağından uç nokta ve erişim anahtarı kullanmak da mümkündür.

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)

İşlevler

PhoneNumbersClientKimlik doğrulamasından sonra, yapamadığı farklı işlevlerde çalışmaya başlayabiliriz.

kullanılabilir Telefon numaralarını ara

Telefon numaralarını satın almak için önce kullanılabilir telefon numaralarını aramanız gerekir. Telefon numaralarını aramak için, alan kodunu, atama türünü, telefon numarası özelliklerini, telefon numarası türünüve miktarı (varsayılan miktar 1 olarak ayarlanır) belirtin. Ücretsiz telefon numarası türü için, alan kodunu sağlamanın isteğe bağlı olduğunu unutmayın.

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)

Telefon numaraları satın alın

Telefon numarası arama sonucu bir PhoneNumberSearchResult . Bu, searchId aramada sayıları almak için satın alma NUMARALARı API 'sine geçirilebilen bir içerir. Satın alma telefon numaraları API 'sinin çağrılması, Azure hesabınıza ücretlendirdiğine neden olur.

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)

Satın alınan telefon numaralarını al

Bir satın alma numarasından sonra, istemciden alabilirsiniz.

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)

Satın alınan tüm telefon numaralarını da alabilirsiniz.

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)

Telefon numarası yeteneklerini güncelleştirme

Daha önce satın alınan bir telefon numarasının yeteneklerini güncelleştirebilirsiniz.

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

yayın Telefon numarası

Satın alınan bir telefon numarasını serbest bırakabilirsiniz.

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

Kodu çalıştırma

Konsol isteminde phone_numbers_sample. Kopyala dosyasını içeren dizine gidin, ardından uygulamayı çalıştırmak için aşağıdaki Python komutunu yürütün.

python phone_numbers_sample.py

Not

Bu hızlı başlangıç için GitHub tarihinde son kodu bulun

Önkoşullar

Önkoşul denetimi

  • Node.js yüklendiğini denetlemek için bir Terminal veya komut penceresinde komutunu çalıştırın node --version .

Ayarlanıyor

Yeni bir Node.js uygulaması oluşturma

İlk olarak, Terminal veya komut pencerenizi açın, uygulamanız için yeni bir dizin oluşturun ve bu uygulamaya gidin.

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

npm init -yVarsayılan ayarlarla bir Package. JSON dosyası oluşturmak için öğesini çalıştırın.

npm init -y

Yeni oluşturduğunuz dizinin kökünde phone-numbers-quickstart.js adlı bir dosya oluşturun. Aşağıdaki kod parçacığını buna ekleyin:

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

main();

Paketi yükler

npm installJavaScript için Azure Communication Services Telefon numaraları istemci kitaplığını yüklemek için komutunu kullanın.

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

--saveSeçeneği, kitaplığı Package. JSON dosyanıza bir bağımlılık olarak ekler.

İstemcinin kimliğini doğrulama

PhoneNumbersClient istemci kitaplığından içeri aktarın ve bağlantı dizeniz ile örneğini oluşturun. Aşağıdaki kod, adlı bir ortam değişkeninden kaynak için bağlantı dizesini alır COMMUNICATION_SERVICES_CONNECTION_STRING . Kaynağınızın bağlantı dizesini yönetmehakkında bilgi edinin.

Aşağıdaki kodu phone-numbers-quickstart.js üst kısmına ekleyin:

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

Telefon numaralarını yönetme

Kullanılabilir telefon numaralarını ara

Telefon numaralarını satın almak için önce kullanılabilir telefon numaralarını aramanız gerekir. Telefon numaralarını aramak için, alan kodunu, atama türünü, telefon numarası özelliklerini, telefon numarası türünüve miktarı belirtin. Ücretsiz telefon numarası türü için, alan kodunu sağlamanın isteğe bağlı olduğunu unutmayın.

Aşağıdaki kod parçacığını main işlevinizin içine ekleyin:

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

Satın alma telefon numarası

Telefon numarası arama sonucu bir PhoneNumberSearchResult . Bu, searchId aramada sayıları almak için satın alma NUMARALARı API 'sine geçirilebilen bir içerir. Satın alma telefon numaraları API 'sinin çağrılması, Azure hesabınıza ücretlendirdiğine neden olur.

Aşağıdaki kod parçacığını main işlevinizin içine ekleyin:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Telefon numarası yeteneklerini güncelleştirme

Şimdi satın alınan bir telefon numarasıyla, yeteneklerini güncelleştirmek için aşağıdaki kodu ekleyin:

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

Satın alınan telefon numaralarını al

Bir satın alma numarasından sonra, istemciden alabilirsiniz. mainYeni satın aldığınız telefon numarasını almak için işlevinizde aşağıdaki kodu ekleyin:

/**
 * Get Purchased Phone Number
 */

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

Satın alınan tüm telefon numaralarını da alabilirsiniz.

const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();

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

Yayın telefon numarası

Şimdi satın alınan telefon numarasını serbest bırakabilirsiniz. Aşağıdaki kod parçacığını işlevinizin altına ekleyin main :

/**
 * Release Purchased Phone Number
 */

const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);

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

Kodu çalıştırma

node phone-numbers-quickstart.js dosyasına eklediğiniz kodu çalıştırmak için komutunu kullanın.

node phone-numbers-quickstart.js

Sorun giderme

Yaygın sorular ve sorunlar:

  • Telefon numarası bırakıldığında, telefon numarası serbest bırakılır veya faturalandırma döngüsünün sonuna kadar yeniden kullanılamaz.

  • Bir Iletişim Hizmetleri kaynağı silindiğinde, bu kaynakla ilişkilendirilmiş telefon numaraları otomatik olarak aynı anda serbest bırakılır.

Sonraki adımlar

Bu hızlı başlangıçta şunları öğrenirsiniz:

  • Telefon numarası satın alın
  • Telefon numaranızı yönetin
  • Telefon numarası yayınlama