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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
- Etkin bir İletişim Hizmetleri kaynağı.
Telefon numarası al
Numaralarını hazırlamaya başlamak için, iletişim iletişim hizmetleri kaynağınıza Azure portal.
Kullanılabilir Telefon Arama
Kaynak menüsünde Telefon Sayılar dikey penceresine gidin.
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 numarası özelliklerinizi seçin
Telefon numaranızı yapılandırma iki adımdan oluşur:
İ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.
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.
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.
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.
Telefon numaralarınızı telefonda Azure portal
Azure portal Azure İletişim Hizmetleri kaynağınıza gidin:
Telefon Telefon yönetmek için menüden Sayı dikey penceresine tıklayın.
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.
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.
Serbest bırakmak istediğiniz telefon numarasını seçin ve ardından Serbest Bırak düğmesine tıklayın.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz bir hesap oluşturun.
- İşletim sisteminiz için en son sürüm .NET Core istemci kitaplığı.
- Etkin bir İletişim Hizmetleri kaynağı ve bağlantı dizesi. İletişim Hizmetleri kaynağı oluşturun.
Ö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
Not
Bu hızlı başlangıç için GitHub tarihinde son kodu bulun
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Java Development Kit (JDK) sürüm 8 veya üzeri.
- Apache Maven.-dağıtılan bir iletişim hizmetleri kaynağı ve bağlantı dizesi. Iletişim Hizmetleri kaynağı oluşturun.
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:
- /Src/Main/Java/com/Communication/QuickStart dizinine gidin
- Düzenleyicinizde app. Java dosyasını açın
- İfadesini Değiştir
System.out.println("Hello world!"); 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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Python 2,7, 3,5 veya üzeri.
- Dağıtılan bir Iletişim Hizmetleri kaynağı ve bağlantı dizesi. Iletişim Hizmetleri kaynağı oluşturun.
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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Node.js Etkin LTS ve bakım LTS sürümleri (8.11.1 ve 10.14.1 önerilir).
- Etkin bir Iletişim Hizmetleri kaynağı ve bağlantı dizesi. Iletişim Hizmetleri kaynağı oluşturun.
Ö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