Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Important
Kemampuan SMS dan PSTN bergantung pada nomor telepon yang Anda gunakan dan negara/wilayah tempat Anda beroperasi seperti yang ditentukan oleh alamat penagihan Azure Anda. Untuk informasi selengkapnya, kunjungi dokumentasi kelayakan Langganan .
Important
Untuk pesanan volume tinggi atau jika nomor telepon yang Anda inginkan tidak tersedia, silakan kunjungi halaman ini untuk bantuan lebih lanjut.
Prerequisites
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sumber daya Layanan Komunikasi yang aktif.
Membeli nomor telepon
Navigasi ke sumber daya Communication Service Anda di portal Microsoft Azure.
Di gambaran umum sumber daya Communication Services, pilih opsi "Nomor telepon" di menu sebelah kiri.
Pilih Dapatkan di kiri atas halaman untuk membeli nomor telepon Anda. Dengan memilih ini, Anda akan meluncurkan asisten belanja kami.
Pilih Negara/wilayah tempat Anda ingin menyediakan nomor telepon. Ketersediaan negara/wilayah didasarkan pada lokasi penagihan untuk langganan Azure Anda. Informasi selengkapnya tentang nomor apa yang tersedia untuk setiap negara/wilayah dapat ditemukan di sini. Selanjutnya Anda akan memilih jenis nomor. Anda dapat memilih dari dua jenis nomor telepon: Lokal, dan Bebas Telunjuk.
Note
- Pesanan nomor massal atau beberapa negara/wilayah, seperti Belanda, memerlukan pesanan khusus untuk nomor telepon. Jika pemesanan khusus diperlukan, Anda akan diminta untuk mengikuti proses pesanan khusus yang disebutkan di bawah ini.
- Klik tombol "Minta Pesanan Khusus" di bagian Nomor Telepon.
- Buka kasus baru.
- Pilih "Azure Communication Service" sebagai Profil Pelanggan Anda.
- Pilih Negara/Wilayah tempat Anda memerlukan nomor telepon.
- Pilih "New TN Acquisition" sebagai jenis kasus.
- Isi detail yang diperlukan dan kirimkan permintaan Anda.
Pilih Cari untuk menarik angka yang memenuhi kriteria yang Anda pilih. Anda memiliki berbagai filter untuk mencari nomor yang sesuai dengan kebutuhan Anda, termasuk:
- Kasus penggunaan: Ini untuk apakah Anda menggunakan nomor ini untuk memanggil dari aplikasi (A2P) atau dari agen manusia (P2P).
- Panggilan: Ini untuk menentukan kemampuan Panggilan yang Anda inginkan untuk nomor telepon Anda: Melakukan panggilan dan/atau menerima panggilan.
- SMS: Ini untuk menentukan kemampuan SMS yang Anda inginkan untuk nomor telepon Anda: Mengirim dan/atau menerima pesan SMS.
- Kustom: Anda juga dapat menambahkan filter kustom untuk mendapatkan awalan atau set digit tertentu di nomor telepon Anda.
Setelah Anda menemukan nomor telepon atau nomor yang Anda pilih, pilih Tambahkan ke keranjang untuk menahan nomor di keranjang Telepon. Angka-angka ini ditahan selama 16 menit sebelum keranjang Anda dihapus secara otomatis.
Note
Harga yang ditampilkan adalah biaya berulang bulanan yang menutupi biaya penyewaan nomor telepon yang dipilih kepada Anda. Tidak termasuk dalam tampilan ini adalah biaya Bayar sesuai pemakaian yang dikenakan saat Anda melakukan atau menerima panggilan. Daftar harga tersedia di sini. Biaya ini tergantung pada jenis nomor dan tujuan yang disebut. Misalnya, harga per menit untuk panggilan dari nomor regional Seattle ke nomor regional di New York dan panggilan dari nomor yang sama ke nomor ponsel Inggris mungkin berbeda.
Pilih Berikutnya untuk meninjau pembelian Anda. Untuk menyelesaikan pembelian Anda, pilih Beli sekarang.
Anda dapat menemukan kembali nomor yang dibeli di halaman Nomor telepon . Mungkin perlu waktu beberapa menit agar nomor tersedia.
Memperbarui Kemampuan Nomor Telepon
Pada halaman Nomor Telepon , Anda dapat memilih nomor telepon untuk mengonfigurasinya.
Pilih fitur dari opsi yang tersedia, lalu pilih Simpan untuk menerapkan pilihan Anda.
Merilis Nomor Telepon
Pada halaman Nomor , Anda dapat merilis nomor telepon.
Pilih nomor telepon yang ingin Anda rilis lalu pilih tombol Rilis .
Prerequisites
Akun Azure dengan langganan aktif. Buat akun secara gratis.
Sumber daya Layanan Komunikasi yang aktif dan string koneksi. Buat sumber daya Communication Services.
Instal Azure CLI.
Nomor telepon yang dibeli.
Persiapan
Menambahkan ekstensi
Tambahkan ekstensi Azure Communication Services untuk Azure CLI dengan menggunakan az extension perintah .
az extension add --name communication
Masuk ke Azure CLI
Anda harus masuk ke Azure CLI. Anda dapat masuk dengan menjalankan perintah az login dari terminal dan memberikan kredensial Anda.
Operations
Mencantumkan nomor telepon yang dibeli
Jalankan perintah berikut untuk mengambil semua nomor telepon yang dibeli.
az communication phonenumber list --connection-string "<yourConnectionString>"
Buat penggantian ini dalam kode:
- Ganti
<yourConnectionString>dengan string koneksi Anda.
Dapatkan detail nomor telepon yang dibeli
Jalankan perintah berikut untuk mendapatkan detail nomor telepon untuk nomor telepon yang dibeli.
az communication phonenumber show --phonenumber <purchasedPhoneNumber> --connection-string "<yourConnectionString>"
Buat penggantian ini dalam kode:
- Ganti
<purchasedPhoneNumber>dengan nomor telepon yang terkait dengan sumber daya Communication Services Anda. - Ganti
<yourConnectionString>dengan string koneksi Anda.
Note
Opsi Azure CLI menyediakan fungsionalitas hanya untuk mencantumkan dan memperlihatkan nomor telepon. Ini tidak mendukung operasi lain seperti mencari, membeli, mengedit, atau merilis nomor telepon.
(Opsional) Melakukan operasi pada nomor telepon dengan Azure CLI tanpa memasukkan string koneksi
Anda dapat mengonfigurasi AZURE_COMMUNICATION_CONNECTION_STRING variabel lingkungan untuk menggunakan operasi nomor telepon Azure CLI tanpa harus menggunakan --connection_string untuk meneruskan string koneksi. Untuk mengonfigurasi variabel lingkungan, buka jendela konsol dan pilih sistem operasi Anda dari tab di bawah ini. Ganti <yourConnectionString> dengan string koneksi aktual Anda.
Buka jendela konsol dan masukkan perintah berikut:
setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"
Setelah Anda menambahkan variabel lingkungan, Anda mungkin perlu menghidupkan ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, mulai ulang Visual Studio sebelum menjalankan contoh.
Note
Temukan kode yang diselesaikan untuk panduan memulai cepat ini di GitHub
Prerequisites
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Versi terbaru dari .NET Core client library untuk sistem operasi Anda.
- Sumber daya Layanan Komunikasi yang aktif dan string koneksi. Buat sumber daya Communication Services.
Pemeriksaan prasyarat
- Di jendela terminal atau perintah, jalankan perintah
dotnetuntuk memeriksa apakah .NET SDK telah diinstal.
Persiapan
Membuat aplikasi C# baru
Di jendela konsol (seperti cmd, PowerShell, atau Bash), gunakan perintah dotnet new untuk membuat aplikasi konsol baru dengan nama PhoneNumbersQuickstart. Perintah ini membuat proyek C# "Halo Dunia" sederhana dengan satu file sumber: Program.cs.
dotnet new console -o PhoneNumbersQuickstart
Ubah direktori Anda ke folder aplikasi yang baru dibuat dan gunakan perintah dotnet build untuk mengompilasi aplikasi Anda.
cd PhoneNumbersQuickstart
dotnet build
Pasang paket
Ketika masih berada dalam direktori aplikasi, instal pustaka klien Azure Communication PhoneNumbers paket .NET dengan menggunakan perintah dotnet add package.
dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0
using Tambahkan direktif ke bagian atas Program.cs untuk menyertakan namespace.
using System;
using System.Linq;
using System.Threading.Tasks;
using Azure.Communication.PhoneNumbers;
Perbarui Main tanda tangan fungsi menjadi asinkron.
static async Task Main(string[] args)
{
...
}
Mengautentikasi klien
Klien Nomor Telepon dapat diautentikasi menggunakan string koneksi yang diperoleh dari sumber daya Azure Communication Services di portal Microsoft Azure.
// Get a connection string to our Azure Communication Services resource.
var connectionString = "<connection_string>";
var client = new PhoneNumbersClient(connectionString);
Klien Nomor Telepon juga memiliki opsi untuk mengautentikasi dengan autentikasi Microsoft Entra. Dengan opsi AZURE_CLIENT_SECRETAZURE_CLIENT_ID dan AZURE_TENANT_ID ini, variabel lingkungan harus diautentikasi.
// Get an endpoint to our Azure Communication Services resource.
var endpoint = new Uri("<endpoint_url>");
TokenCredential tokenCredential = new DefaultAzureCredential();
client = new PhoneNumbersClient(endpoint, tokenCredential);
Mengelola nomor telepon
Mencari Nomor Telepon yang Tersedia
Untuk membeli nomor telepon, Anda harus terlebih dahulu mencari nomor telepon yang tersedia. Untuk menelusuri nomor telepon, berikan kode area, jenis tugas, kemampuan nomor telepon, jenis nomor telepon, dan jumlah. Perhatikan bahwa untuk jenis nomor telepon bebas pulsa, penyediaan kode area bersifat opsional.
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();
Beli Nomor Telepon
Hasil pencarian nomor telepon adalah PhoneNumberSearchResult. Ini berisi SearchId yang dapat diteruskan ke API nomor pembelian untuk memperoleh nomor terkait pencarian. Perhatikan bahwa memanggil API nomor telepon pembelian akan dikenakan biaya pada Akun Azure Anda.
var purchaseOperation = await client.StartPurchasePhoneNumbersAsync(searchOperation.Value.SearchId);
await purchaseOperation.WaitForCompletionResponseAsync();
Mendapatkan nomor telepon
Setelah mendapatkan nomor pembelian, Anda dapat mengambilnya dari klien.
var getPhoneNumberResponse = await client.GetPurchasedPhoneNumberAsync("+14255550123");
Console.WriteLine($"Phone number: {getPhoneNumberResponse.Value.PhoneNumber}, country code: {getPhoneNumberResponse.Value.CountryCode}");
Anda juga dapat mengambil kembali semua nomor telepon yang dibeli.
var purchasedPhoneNumbers = client.GetPurchasedPhoneNumbersAsync();
await foreach (var purchasedPhoneNumber in purchasedPhoneNumbers)
{
Console.WriteLine($"Phone number: {purchasedPhoneNumber.PhoneNumber}, country code: {purchasedPhoneNumber.CountryCode}");
}
Perbarui kemampuan nomor telepon
Dengan nomor yang dibeli, Anda dapat memperbarui kemampuan.
var updateCapabilitiesOperation = await client.StartUpdateCapabilitiesAsync("+14255550123", calling: PhoneNumberCapabilityType.Outbound, sms: PhoneNumberCapabilityType.InboundOutbound);
await updateCapabilitiesOperation.WaitForCompletionAsync();
Merilis nomor telepon
Anda dapat merilis nomor telepon yang dibeli.
var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();
Menjalankan kode
Menjalankan aplikasi dari direktori aplikasi Anda dengan perintah dotnet run.
dotnet run
Kode Sampel
Anda dapat mengunduh aplikasi sampel dari GitHub
Note
Temukan kode yang diselesaikan untuk panduan memulai cepat ini di GitHub
Prerequisites
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Java Development Kit (JDK) versi 8 atau lebih tinggi.
- Apache Maven.
- Sumber daya Communication Services yang didistribusikan dan string koneksi. Buat sumber daya Communication Services.
Persiapan
Membuat aplikasi Java baru
Buka jendela perintah atau terminal Anda. Arahkan ke direktori tempat Anda ingin membuat aplikasi Java. Jalankan perintah di bawah ini untuk menghasilkan proyek Java dari templat maven-arketipe-quickstart.
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
Anda akan melihat bahwa tugas 'hasilkan' membuat direktori dengan nama yang sama dengan artifactId. Di direktori ini, direktori src/main/java berisi kode sumber proyek, src/test/java directory berisi sumber pengujian, dan file pom.xml tersebut adalah Project Object Model atau POM proyek.
Pasang paket
Buka file pom.xml di editor teks Anda. Tambahkan elemen dependensi berikut ke grup dependensi.
<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>
Menyiapkan kerangka kerja aplikasi
Dari direktori proyek:
- Arahkan ke direktori /src/main/java/com/communication/quickstart
- Buka file App.java di editor Anda
- Ganti pernyataan
System.out.println("Hello world!"); - Tambahkan direktif
import
Gunakan kode berikut untuk memulai:
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
}
}
Mengautentikasi Nomor Telepon Klien
PhoneNumberClientBuilder diaktifkan untuk menggunakan autentikasi Microsoft Entra
// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
PhoneNumbersClient phoneNumberClient = new PhoneNumbersClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildClient();
Atau, menggunakan titik akhir dan kunci akses dari sumber daya komunikasi untuk mengautentikasi juga dimungkinkan.
// 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();
Mengelola nomor telepon
Mencari Nomor Telepon yang Tersedia
Untuk membeli nomor telepon, Anda harus terlebih dahulu mencari nomor telepon yang tersedia. Untuk menelusuri nomor telepon, berikan kode area, jenis tugas, kemampuan nomor telepon, jenis nomor telepon, dan jumlah. Perhatikan bahwa untuk jenis nomor telepon bebas pulsa, penyediaan kode area bersifat opsional.
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());
}
Membeli Nomor Telepon
Hasil pencarian nomor telepon adalah PhoneNumberSearchResult. Ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk memperoleh nomor terkait pencarian. Perhatikan bahwa memanggil API nomor telepon pembelian akan dikenakan biaya pada Akun Azure Anda.
PollResponse<PhoneNumberOperation> purchaseResponse = phoneNumberClient.beginPurchasePhoneNumbers(searchId, Context.NONE).waitForCompletion();
System.out.println("Purchase phone numbers operation is: " + purchaseResponse.getStatus());
Mendapatkan nomor telepon
Setelah mendapatkan nomor pembelian, Anda dapat mengambilnya dari klien.
PurchasedPhoneNumber phoneNumber = phoneNumberClient.getPurchasedPhoneNumber("+14255550123");
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Anda juga dapat mengambil kembali semua nomor telepon yang dibeli.
PagedIterable<PurchasedPhoneNumber> phoneNumbers = phoneNumberClient.listPurchasedPhoneNumbers(Context.NONE);
PurchasedPhoneNumber phoneNumber = phoneNumbers.iterator().next();
System.out.println("Phone Number Country Code: " + phoneNumber.getCountryCode());
Memperbarui Kemampuan Nomor Telepon
Dengan nomor yang dibeli, Anda dapat memperbarui kemampuan.
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
}
Merilis Nomor Telepon
Anda dapat merilis nomor telepon yang dibeli.
PollResponse<PhoneNumberOperation> releaseResponse =
phoneNumberClient.beginReleasePhoneNumber("+14255550123", Context.NONE).waitForCompletion();
System.out.println("Release phone number operation is: " + releaseResponse.getStatus());
Menjalankan kode
Buka direktori yang berisi file pom.xml dan kompilasikan proyek dengan perintah mvn berikut.
mvn compile
Kemudian, buat paket tersebut.
mvn package
Jalankan perintah mvn berikut untuk menjalankan aplikasi.
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Output dari aplikasi menggambarkan setiap tindakan yang telah diselesaikan:
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
Note
Temukan kode yang diselesaikan untuk panduan memulai cepat ini di GitHub
Prerequisites
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Python 3.7+.
- Sumber daya Communication Services yang didistribusikan dan string koneksi. Buat sumber daya Communication Services.
Persiapan
Membuat aplikasi Python baru
Buka terminal atau jendela perintah dan buat direktori baru untuk aplikasi Anda, lalu arahkan ke sana.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Gunakan editor teks untuk membuat file yang disebut phone_numbers_sample.py di direktori akar proyek dan tambahkan kode berikut. Kami akan menambahkan kode pengantar cepat yang tersisa di bagian berikut.
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)
Pasang paket
Saat masih dalam direktori aplikasi, pasang pustaka klien Azure Communication Services Administration untuk paket Python dengan menggunakan perintah pip install.
pip install azure-communication-phonenumbers
Mengautentikasi Nomor Telepon Klien
PhoneNumbersClient diaktifkan untuk menggunakan autentikasi Microsoft Entra. Menggunakan objek DefaultAzureCredential adalah cara termudah untuk memulai dengan Microsoft Entra ID dan Anda dapat menginstalnya menggunakan perintah pip install.
pip install azure-identity
Membuat DefaultAzureCredential objek mengharuskan Anda memiliki AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, dan AZURE_TENANT_ID sudah ditetapkan sebagai variabel lingkungan dengan nilai yang sesuai dari aplikasi Microsoft Entra terdaftar Anda.
Untuk pemahaman cepat mengenai cara mendapatkan variabel lingkungan ini, Anda dapat mengikuti Panduan Memulai Cepat CLI untuk Menyiapkan Perwakilan Layanan.
Setelah Anda memasang pustaka azure-identity, kami dapat melanjutkan autentikasi klien.
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)
Atau, menggunakan titik akhir dan kunci akses dari sumber daya komunikasi untuk mengautentikasi juga dimungkinkan.
import os
from azure.communication.phonenumbers import PhoneNumbersClient
# You can find your connection string from your resource in the Azure portal
connection_string = 'https://<RESOURCE_NAME>.communication.azure.com/;accesskey=<YOUR_ACCESS_KEY>'
try:
print('Azure Communication Services - Phone Numbers Quickstart')
phone_numbers_client = PhoneNumbersClient.from_connection_string(connection_string)
except Exception as ex:
print('Exception:')
print(ex)
Functions
Setelah PhoneNumbersClient diautentikasi, kita dapat mulai bekerja pada berbagai fungsi yang dapat dilakukan.
Mencari Nomor Telepon yang Tersedia
Untuk membeli nomor telepon, Anda harus terlebih dahulu mencari nomor telepon yang tersedia. Untuk mencari nomor telepon, berikan kode area, jenis tugas, kemampuan nomor telepon, jenis nomor telepon, dan kuantitas (jumlah default diatur ke 1). Perhatikan bahwa untuk jenis nomor telepon bebas pulsa, penyediaan kode area bersifat opsional.
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)
Membeli Nomor Telepon
Hasil pencarian nomor telepon adalah PhoneNumberSearchResult. Ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk memperoleh nomor terkait pencarian. Perhatikan bahwa memanggil API nomor telepon pembelian akan dikenakan biaya pada Akun Azure Anda.
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)
Peroleh nomor telepon yang telah dibeli
Setelah mendapatkan nomor pembelian, Anda dapat mengambilnya dari klien.
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)
Anda juga dapat mengambil kembali semua nomor telepon yang dibeli.
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)
Memperbarui Kemampuan Nomor Telepon
Anda dapat memperbarui kemampuan nomor telepon yang dibeli sebelumnya.
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())
Merilis Nomor Telepon
Anda dapat merilis nomor telepon yang dibeli.
release_poller = phone_numbers_client.begin_release_phone_number("+18001234567")
release_poller.result()
print('Status of the operation: ' + release_poller.status())
Menjalankan kode
Dari prompt konsol, navigasikan ke direktori yang berisi file phone_numbers_sample.py, lalu jalankan perintah Python berikut untuk menjalankan aplikasi.
python phone_numbers_sample.py
Note
Temukan kode yang diselesaikan untuk panduan memulai cepat ini di GitHub
Prerequisites
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Node.js versi LTS Aktif dan LTS Pemeliharaan (disarankan versi 8.11.1 dan 10.14.1).
- Sumber daya Layanan Komunikasi yang aktif dan string koneksi. Buat sumber daya Communication Services.
Pemeriksaan prasyarat
- Di terminal atau jendela perintah, jalankan
node --versionuntuk memeriksa apakah Node.js sudah dipasang.
Persiapan
Membuat aplikasi Node.js baru
Pertama, buka jendela perintah atau terminal, buat direktori baru untuk aplikasi Anda, dan arahkan ke sana.
mkdir phone-numbers-quickstart && cd phone-numbers-quickstart
Jalankan npm init -y untuk membuat file package.json dengan pengaturan default.
npm init -y
Buat file yang disebut phone-numbers-quickstart.js di akar direktori yang baru saja Anda buat. Tambahkan cuplikan berikut ke dalamnya:
async function main() {
// quickstart code will here
}
main();
Pasang paket
Gunakan perintah npm install untuk memasang pustaka klien Azure Communication Services Phone Numbers untuk JavaScript.
npm install @azure/communication-phone-numbers --save
Opsi --save menambahkan pustaka sebagai dependensi dalam file package.json Anda.
Mengautentikasi klien
Impor PhoneNumbersClient dari pustaka klien dan buat instans dengan string koneksi Anda. Kode di bawah ini mengambil string koneksi dari variabel lingkungan bernama COMMUNICATION_SERVICES_CONNECTION_STRING untuk sumber daya. Pelajari cara mengelola string koneksi sumber daya Anda.
Tambahkan kode berikut ke bagian atas phone-numbers-quickstart.js:
const { PhoneNumbersClient } = require('@azure/communication-phone-numbers');
// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
// Instantiate the phone numbers client
const phoneNumbersClient = new PhoneNumbersClient(connectionString);
Mengelola nomor telepon
Mencari Nomor Telepon yang Tersedia
Untuk membeli nomor telepon, Anda harus terlebih dahulu mencari nomor telepon yang tersedia. Untuk menelusuri nomor telepon, berikan kode area, jenis tugas, kemampuan nomor telepon, jenis nomor telepon, dan jumlah. Perhatikan bahwa untuk jenis nomor telepon bebas pulsa, penyediaan kode area bersifat opsional.
Tambahkan cuplikan berikut ke fungsi main Anda:
/**
* 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}`);
Membeli nomor telepon
Hasil pencarian nomor telepon adalah PhoneNumberSearchResult. Ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk memperoleh nomor terkait pencarian. Perhatikan bahwa memanggil API nomor telepon pembelian akan dikenakan biaya pada Akun Azure Anda.
Tambahkan cuplikan berikut ke fungsi main Anda:
/**
* Purchase Phone Number
*/
const purchasePoller = await phoneNumbersClient.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumber}`);
Perbarui kemampuan nomor telepon
Dengan nomor telepon yang sekarang dibeli, tambahkan kode berikut untuk memperbarui kemampuannya:
/**
* 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.");
Peroleh nomor telepon yang telah dibeli
Setelah mendapatkan nomor pembelian, Anda dapat mengambilnya dari klien. Tambahkan kode berikut ke fungsi main Anda untuk mendapatkan nomor telepon yang baru saja Anda beli:
/**
* Get Purchased Phone Number
*/
const { capabilities } = await phoneNumbersClient.getPurchasedPhoneNumber(phoneNumber);
console.log("These capabilities:", capabilities, "should be the same as these:", updateRequest, ".");
Anda juga dapat mengambil kembali semua nomor telepon yang dibeli.
const purchasedPhoneNumbers = await phoneNumbersClient.listPurchasedPhoneNumbers();
for await (const purchasedPhoneNumber of purchasedPhoneNumbers) {
console.log(`Phone number: ${purchasedPhoneNumber.phoneNumber}, country code: ${purchasedPhoneNumber.countryCode}.`);
}
Merilis nomor telepon
Anda sekarang dapat merilis nomor telepon yang dibeli. Tambahkan cuplikan kode di bawah ini ke fungsi main Anda:
/**
* Release Purchased Phone Number
*/
const releasePoller = await phoneNumbersClient.beginReleasePhoneNumber(phoneNumber);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
Menjalankan kode
node Gunakan perintah untuk menjalankan kode yang Anda tambahkan ke file phone-numbers-quickstart.js.
node phone-numbers-quickstart.js
Troubleshooting
Pertanyaan dan Jawaban Umum:
Saat nomor telepon dirilis, nomor telepon muncul di sumber daya ACS Anda pada portal Azure hingga akhir siklus penagihan. Ini juga tidak dapat dibeli kembali hingga akhir siklus penagihan.
Saat sumber daya Communication Services dihapus, nomor telepon yang terkait dengan sumber daya tersebut secara otomatis dirilis secara bersamaan.
Langkah selanjutnya
Dalam panduan cepat memulai ini, Anda telah mempelajari cara:
- Membeli nomor telepon
- Mengelola nomor telepon
- Merilis nomor telepon
- Kirim aplikasi verifikasi bebas pulsa (lihat apakah diperlukan)