Aracılığıyla paylaş


Hızlı Başlangıç: Telefon numaralarını alma ve yönetme

Önemli

SMS ve PSTN özellikleri, kullandığınız telefon numarasına ve Azure fatura adresiniz tarafından belirlenen şekilde içinde çalıştığınız ülkeye/bölgeye bağlıdır. Daha fazla bilgi için Abonelik uygunluğu belgelerine ziyaret edin.

Önemli

Yüksek hacimli siparişler için veya istediğiniz telefon numarasının kullanılamadığı durumlarda daha fazla yardım için lütfen bu sayfayı ziyaret edin.

Önkoşullar

Telefon numarası satın alma

  1. Azure portalında İletişim Hizmeti kaynağınıza gidin.

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

  2. İletişim Hizmetleri kaynağına genel bakış bölümünde sol taraftaki menüden "Telefon numaraları" seçeneğini belirleyin.

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

  3. Telefon numaranızı satın almak için sayfanın sol üst kısmındaki Al'ı seçin. Bunu seçtiğinizde alışveriş sihirbazımız başlatılır:

    Telefon numarası alışveriş sepeti arama sihirbazını gösteren ekran görüntüsü.

  4. Telefon numarasını sağlamak istediğiniz Ülkeyi/bölgeyi seçin. Ülke/bölge kullanılabilirliği, Azure aboneliğinizin faturalama konumunu temel alır. Her ülke/bölge için hangi numaraların kullanılabilir olduğu hakkında daha fazla bilgiyi burada bulabilirsiniz. Ardından sayı türünü seçeceksiniz. İki telefon numarası türü arasından seçim yapabilirsiniz: Yerel ve Ücretsiz.

Not

  • Toplu numara siparişleri veya Hollanda gibi bazı ülkeler/bölgeler, telefon numaraları için özel bir sipariş gerektirir. Özel sipariş gerekiyorsa, aşağıda belirtilen özel sipariş sürecini izlemeniz istenir.
  • Telefon Numaraları bölümünde "Özel Sipariş İste" düğmesine tıklayın.
  • Yeni bir vaka açın.
  • Müşteri Profiliniz olarak "Azure İletişim Hizmeti" seçeneğini belirleyin.
  • Telefon numaralarına ihtiyacınız olan Ülkeyi/Bölgeyi seçin.
  • Vaka türünü "Yeni TN Alımı" olarak seçin.
  • Gerekli ayrıntıları doldurun ve isteğinizi gönderin.
  1. Seçtiğiniz ölçütlere uyan sayıları çekmek için Ara'yı seçin. İhtiyaçlarınıza uygun numarayı aramak için aşağıdakiler gibi çeşitli filtreleriniz vardır:

    • Kullanım örneği: Bu, bir uygulamadan (A2P) veya bir insan aracısından (P2P) çağrı yapmak için bu numarayı kullanıp kullanmadığınıza yöneliktir.
    • Arama: Bu, telefon numaranız için istediğiniz Arama özelliklerini belirlemeye yöneliktir: Arama yapma ve/veya arama alma.
    • SMS: Bu, telefon numaranız için istediğiniz SMS özelliklerini belirlemeye yöneliktir: SMS mesajları gönderme ve/veya alma.
    • Özel: Telefon numaranıza belirli bir ön ek veya rakam kümesi almak için özel filtreler de ekleyebilirsiniz.

    Kullanılabilir telefon numaralarının yer aldığı telefon numarası satın alma sayfasını gösteren ekran görüntüsü.

  2. Seçtiğiniz telefon numarasını veya numaraları bulduğunuzda, Numaraları Telefon sepetinde tutmak için Sepete ekle'yi seçin. Bu numaralar, sepetiniz otomatik olarak temizlenmeden önce 16 dakika tutulur.

    Sepette iki telefon numarası bulunan telefon numarası alışveriş sepetini gösteren ekran görüntüsü.

    Not

    Gösterilen fiyatlar, seçili telefon numarasını size kiralama maliyetini kapsayan aylık yinelenen ücretlerdir. Arama yaptığınızda veya aldığınızda tahakkuk eden kullandıkça öde maliyetleri bu görünüme dahil değildir. Fiyat listelerine buradan ulaşabilirsiniz. Bu maliyetler, numara 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 aramanın dakika başına fiyatı ve aynı numaradan Birleşik Krallık cep telefonu numarasına yapılan arama farklı olabilir.

  3. Satın alma işleminizi gözden geçirmek için İleri'yi seçin. Satın alma işleminizi tamamlamak için Şimdi satın al'ı seçin.

    Gözden geçirilip satın alınacak 2 telefon numarasını gösteren ekran görüntüsü.

  4. Satın aldığınız numaraları Telefon numaraları sayfasında bulabilirsiniz. Sayıların sağlanması birkaç dakika sürebilir.

    Yeni satın alınan telefon numaralarının kırmızı kenarlıkla kutulandığı telefon numaraları sayfasının ekran görüntüsü.

Telefon Numarası Özelliklerini Güncelleştirme

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

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

Kullanılabilir seçeneklerden özellikleri seçin ve ardından kaydet'i seçerek seçiminizi uygulayın.

Telefon Numarasını Serbest Bırak

Numaralar sayfasında, telefon numaralarını serbest bırakabilirsiniz.

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üğmesini seçin.

Önkoşullar

Kurulum

Uzantıyı ekleme

komutunu kullanarak Azure CLI için Azure İletişim Hizmetleri uzantısını az extension ekleyin.

az extension add --name communication

Azure CLI'da oturum açma

Azure CLI'da oturum açmanız gerekir. Terminalden komutunu çalıştırarak az login ve kimlik bilgilerinizi sağlayarak oturum açabilirsiniz.

İşlemler

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

Satın alınan tüm telefon numaralarını almak için aşağıdaki komutu çalıştırın.

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

Kodda bu değişikliği yapın:

  • Bağlantı dizesini <yourConnectionString> ile değiştirin.

Satın alınan telefon numarası ayrıntılarını alma

Satın alınan bir telefon numarasının telefon numarası ayrıntılarını almak için aşağıdaki komutu çalıştırın.

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

Kodda şu değişiklikleri yapın:

  • <purchasedPhoneNumber> değerini İletişim Hizmetleri kaynağınızla ilişkili bir telefon numarasıyla değiştirin.
  • Bağlantı dizesini <yourConnectionString> ile değiştirin.

Not

Azure CLI seçeneği yalnızca telefon numaralarını listelemek ve göstermek için işlevsellik sağlar. Telefon numaralarını arama, satın alma, düzenleme veya yayınlama gibi diğer işlemleri desteklemez.

(İsteğe bağlı) Bağlantı dizesi geçirmeden Azure CLI telefon numaraları işlemlerini kullanma

Ortam değişkenini AZURE_COMMUNICATION_CONNECTION_STRING yapılandırarak, bağlantı dizesini --connection_string kullanarak iletmek zorunda kalmadan Azure CLI telefon numaraları işlemlerini gerçekleştirebilirsiniz. Ortam değişkenini yapılandırmak için bir konsol penceresi açın ve aşağıdaki sekmelerden işletim sisteminizi seçin. <yourConnectionString> değerini gerçek bağlantı dizesiyle değiştirin.

Bir konsol penceresi açın ve aşağıdaki komutu girin:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okumak için gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.

Not

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Önkoşullar

Önkoşul denetimi

  • Terminalde veya komut penceresinde komutunu çalıştırarak dotnet .NET istemci kitaplığının yüklü olup olmadığını denetleyin.

Kurulum

Yeni bir C# uygulaması oluşturma

Bir konsol penceresinde (cmd, PowerShell veya Bash gibi), adlı dotnet newyeni bir konsol uygulaması oluşturmak için komutunu kullanınPhoneNumbersQuickstart. Bu komut, tek bir kaynak dosyayla 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ştirin ve komutunu kullanarak dotnet build uygulamanızı derleyin.

cd PhoneNumbersQuickstart
dotnet build

paketini yükleyin

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ı eklemek için Program.csusingbir yönerge ekleyin.

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

Main işlev imzasını zaman uyumsuz olacak şekilde güncelleyin.

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

İstemcinin kimliğini doğrulama

Telefon Numarası istemcilerinin kimliği, Azure portalındaki Azure İletişim Hizmetleri kaynaklardan 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ı istemcileri, Microsoft Entra kimlik doğrulaması ile kimlik doğrulama seçeneğine de sahiptir. Bu seçenekle, AZURE_CLIENT_SECRETAZURE_CLIENT_ID ve AZURE_TENANT_ID ortam değişkenlerinin kimlik doğrulaması için ayarlanması 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ı 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ı sağlayın. Ücretsiz telefon numarası türü için alan kodunun isteğe bağlı olduğunu unutmayın.

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ı satın alma

Telefon numaralarını aramanın sonucu bir PhoneNumberSearchResult'dir. Bu, aramadaki sayıları almak için satın alma numaraları API'sine geçirilebilen bir SearchId içerir. Satın alma telefon numaraları API'sini çağırmanın Azure Hesabınızdan ücret alınmasına neden olacağını unutmayın.

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

Telefon numaralarını al

Bir satın alma numaranız olduktan sonra, onu istemciden alabilirsiniz.

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

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ştirebilirsiniz.

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

Telefon numarasını serbest bırak

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

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

Kodu çalıştırma

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

dotnet run

Örnek Kod

Örnek uygulamayı GitHub'dan indirebilirsiniz

Not

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Önkoşullar

Kurulum

Yeni java uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın. Java uygulamanızı oluşturmak istediğiniz dizine gidin. Maven-archetype-quickstart ş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

' ile aynı ada sahip bir dizin oluşturduğunu fark edeceksiniz.' 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 Proje Nesne Modeli veya POM'dir.

paketini yükleyin

metin düzenleyicinizde pom.xml dosyasını açın. Bağımlılık grubuna aşağıdaki bağımlılık öğelerini 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. App.java dosyasını düzenleyicinizde açma
  3. System.out.println("Hello world!"); ifadesini değiştir
  4. import yönergeleri ekle

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 Numaraları İstemcisinin Kimliğini Doğrulama

PhoneNumberClientBuilder, Microsoft Entra kimlik doğrulamasını 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ı yapmak için iletişim kaynağından uç nokta ve erişim anahtarını 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ı 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ı sağlayın. Ücretsiz telefon numarası türü için alan kodunun 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

Telefon numaralarının aranmasının sonucu, bir Telefon Numarası Arama Sonucu'dur. Bu, aramadaki sayıları almak için satın alma numaraları API'sine geçirilebilen bir searchId içerir. Satın alma telefon numaraları API'sini çağırmanın Azure Hesabınızdan ücret alınmasına neden olacağını unutmayın.

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

Telefon Numaraları Alma

Bir satın alma numaranız olduktan sonra, onu istemciden alabilirsiniz.

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

Ayrıca 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ı Özelliklerini Güncelleştirme

Satın alınan bir numarayla özellikleri 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
}

Telefon Numarasını Serbest Bırak

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 mvn komutu kullanarak projeyi derleyin.

mvn compile

Ardından paketi oluşturun.

mvn package

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

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

Uygulamanın çıkışı, 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

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Önkoşullar

Kurulum

Yeni Python uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın ve 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.py adlı bir dosya oluşturmak ve aşağıdaki kodu eklemek için bir metin düzenleyicisi kullanın. Kalan hızlı başlangıç kodunu aşağıdaki bölümlerde 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)

paketini yükleyin

Uygulama dizinindeyken komutunu kullanarak Python paketi için Azure İletişim Hizmetleri Yönetim istemci kitaplığını pip install yükleyin.

pip install azure-communication-phonenumbers

Telefon Numaraları İstemcisinin Kimliğini Doğrulama

PhoneNumbersClient, Microsoft Entra kimlik doğrulamasını kullanmak için etkinleştirilir. DefaultAzureCredential Nesnesini kullanmak, Microsoft Entra Id kullanmaya başlamanın en kolay yoludur ve komutunu kullanarak pip install yükleyebilirsiniz.

pip install azure-identity

DefaultAzureCredential Nesne oluşturmak için AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, ve AZURE_TENANT_ID zaten kayıtlı Microsoft Entra uygulamanızdan karşılık gelen değerleriyle ortam değişkenleri olarak ayarlamanız gerekir.

Bu ortam değişkenlerini nasıl hızlıca edineceğinizi öğrenmek için CLI'dan hizmet sorumlularını ayarlama hızlı başlangıcı'nı izleyebilirsiniz.

Kitaplığı yükledikten sonra istemcinin azure-identity 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ı yapmak için iletişim kaynağından uç nokta ve erişim anahtarını 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

PhoneNumbersClient kimliği doğrulandıktan sonra, gerçekleştirebileceği farklı işlevler üzerinde çalışmaya başlayabiliriz.

Kullanılabilir Telefon Numaralarını Ara

Telefon numaraları 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ı sağlayın (varsayılan miktar 1 olarak ayarlanır). Ücretsiz telefon numarası türü için alan kodunun 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

Telefon numaralarını aramanın sonucu bir PhoneNumberSearchResult'dir. Bu, aramadaki sayıları almak için satın alma numaraları API'sine geçirilebilen bir searchId içerir. Satın alma telefon numaraları API'sini çağırmanın Azure Hesabınızdan ücret alınmasına neden olacağını 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,
        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 numaranız olduktan sonra, onu 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)

Ayrıca 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ı Özelliklerini Güncelleştirme

Daha önce satın alınan bir telefon numarasının özelliklerini 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())

Telefon Numarasını Serbest Bırak

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 isteminden phone_numbers_sample.py dosyasını içeren dizine gidin, ardından aşağıdaki Python komutunu yürüterek uygulamayı çalıştırın.

python phone_numbers_sample.py

Not

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Önkoşullar

Önkoşul denetimi

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

Kurulum

Yeni Node.js Uygulaması oluşturma

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

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

Varsayılan ayarlarla bir npm init -y dosyası oluşturmak için komutunu ç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ı ekleyin:

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

main();

paketini yükleyin

npm install JavaScript için Azure İletişim Hizmetleri Telefon Numaraları istemci kitaplığını yüklemek için komutunu kullanın.

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

Bu --save seçeneği, kitaplığı package.json dosyanıza bağımlılık olarak ekler.

İstemcinin kimliğini doğrulama

İstemci kitaplığından PhoneNumbersClient'ı içeri aktarın ve bağlantı dizenizle instantiate edin. Aşağıdaki kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır. Kaynağınızın bağlantı dizesini yönetmeyi öğrenin.

aşağıdaki kodu phone-numbers-quickstart.js en üstüne 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ı arama

Telefon numaraları 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ı sağlayın. Ücretsiz telefon numarası türü için alan kodunun isteğe bağlı olduğunu unutmayın.

İşlevinize main aşağıdaki kod parçacığını 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}`);

Telefon numarası satın alma

Telefon numaralarını aramanın sonucu bir PhoneNumberSearchResult'dir. Bu, aramadaki sayıları almak için satın alma numaraları API'sine geçirilebilen bir searchId içerir. Satın alma telefon numaraları API'sini çağırmanın Azure Hesabınızdan ücret alınmasına neden olacağını unutmayın.

İşlevinize main aşağıdaki kod parçacığını ekleyin:

/**
 * Purchase Phone Number
 */

const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);

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

Telefon numarası özelliklerini güncelleştirme

Satın alınan bir telefon numarasıyla, özelliklerini 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 numaranız olduktan sonra, onu istemciden alabilirsiniz. Az önce satın aldığınız telefon numarasını almak için işlevinize main 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, ".");

Ayrıca 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}.`);
}

Telefon numarasını serbest bırak

Artık satın alınan telefon numarasını serbest bırakabilirsiniz. Aşağıdaki kod parçacığını işlevinize main ekleyin:

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

Sık Sorulan Sorular ve Sorunlar:

  • Bir telefon numarası yayınlandığında, telefon numarası faturalama döneminin sonuna kadar Azure portalındaki ACS kaynağınızda gösterilir. Ayrıca faturalama döneminin sonuna kadar yeniden satın alınamaz.

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

Sonraki adımlar

Bu hızlı başlangıçta aşağıdakilerin nasıl yapılacağını öğrendiniz: