Mulai Cepat: Mendapatkan dan mengelola nomor telepon
Penting
Kemampuan yang tersedia (PSTN/SMS, Masuk/Keluar) bergantung pada negara tempat Anda beroperasi (lokasi alamat penagihan Azure), kasus penggunaan Anda, dan jenis nomor telepon yang telah Anda pilih. Kemampuan ini bervariasi menurut negara karena persyaratan peraturan. Untuk informasi selengkapnya, kunjungi dokumentasi Kelayakan langganan .
Penting
Untuk pesanan volume tinggi atau jika nomor telepon yang Anda inginkan tidak tersedia, silakan kunjungi halaman ini untuk bantuan lebih lanjut.
Prasyarat
- Akun Azure dengan langganan aktif. Membuat akun secara gratis.
- Sumber daya Communication Services aktif.
Dapatkan Nomor telepon
Untuk mulai menentukan nomor, buka sumber daya Communication Services Anda di portal Microsoft Azure.
Cari Nomor Telepon yang Tersedia
Navigasi ke bilah Nomor Telepon di menu sumber daya.
Tekan tombol Dapatkan untuk meluncurkan wizard. Wizard pada bilah Nomor telepon akan memandu Anda melalui serangkaian pertanyaan yang membantu Anda memilih nomor telepon yang paling sesuai dengan skenario Anda.
Anda harus terlebih dahulu memilih Negara/wilayah tempat Anda ingin menentukan nomor telepon. Setelah memilih Negara/wilayah, Anda kemudian harus memilih Kasus Penggunaan yang paling sesuai dengan kebutuhan Anda.
Pilih fitur nomor telepon Anda
Mengonfigurasi nomor telepon Anda dipecah menjadi dua langkah:
- Pemilihan jenis nomor
- Pemilihan kapabilitas angka
Anda dapat memilih dari dua jenis nomor telepon: Lokal, dan Bebas pulsa. Saat Anda telah memilih jenis nomor, Anda kemudian dapat memilih fitur tersebut.
Dalam contoh kami, kami telah memilih jenis nomor Bebas pulsa dengan fitur Lakukan panggilan dan Kirim dan terima SMS.
Dari sini, klik tombol Berikutnya: Angka di bagian bawah halaman untuk mengkustomisasi nomor telepon yang ingin Anda tentukan.
Mengkustomisasi nomor telepon
Pada halaman Nomor, Anda akan mengkustomisasi nomor telepon yang ingin Anda tentukan.
Catatan
Mulai Cepat ini memperlihatkan alur Penyesuaian Jenis nomor Bebas pulsa. Pengalamannya mungkin sedikit berbeda jika Anda telah memilih jenis Nomor Lokal, tetapi hasil akhirnya akan sama.
Pilih Kode area dari daftar Kode area yang tersedia dan masukkan kuantitas yang ingin Anda tentukan, lalu klik Cari untuk menemukan nomor yang memenuhi persyaratan yang Anda pilih. Nomor telepon yang memenuhi kebutuhan Anda akan ditampilkan bersama dengan biaya bulanan mereka.
Catatan
Ketersediaan tergantung pada Jenis nomor, lokasi, dan fitur yang telah Anda pilih. Angka dicadangkan untuk waktu yang singkat sebelum transaksi berakhir. Jika transaksi kedaluwarsa, Anda harus memilih kembali nomor.
Untuk melihat ringkasan pembelian dan melakukan pemesanan, klik tombol Berikutnya: Ringkasan di bagian bawah halaman.
Beli Nomor Telepon
Halaman ringkasan akan meninjau Jenis nomor, Fitur, Nomor Telepon, dan Total biaya bulanan untuk menentukan nomor telepon.
Catatan
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 biaya yang dikeluarkan 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.
Terakhir, klik Pesan di bagian bawah halaman untuk mengonfirmasi.
Menemukan nomor telepon Anda di portal Microsoft Azure
Menavigasi ke sumber daya Azure Communication Services Anda di portal Azure:
Pilih bilah Nomor Telepon di menu untuk mengelola nomor telepon Anda.
Catatan
Mungkin perlu waktu beberapa menit agar nomor yang ditentukan ditampilkan di halaman ini.
Perbarui Kapabilitas Nomor Telepon
Pada halaman Nomor Telepon, Anda dapat memilih nomor telepon untuk mengonfigurasinya.
Pilih fitur dari opsi yang tersedia, lalu klik Simpan untuk menerapkan pilihan Anda.
Rilis Nomor Telepon
Pada halaman Nomor, Anda dapat merilis nomor telepon.
Pilih nomor telepon yang ingin Anda rilis lalu klik tombol Rilis.
Catatan
Cari kode yang diselesaikan untuk mulai cepat ini di GitHub
Prasyarat
- Akun Azure dengan langganan aktif. Membuat akun secara gratis.
- Versi terbaru dari .NET Core client library untuk sistem operasi Anda.
- Sumber daya Azure Communication Services aktif dan string koneksi. Membuat 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
Menginstal paket
Ketika masih berada dalam direktori aplikasi, instal Azure Communication PhoneNumbers pustaka klien untuk .NET package dengan menggunakan dotnet add package perintah.
dotnet add package Azure.Communication.PhoneNumbers --version 1.0.0
Tambahkan arahan using 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)
{
...
}
Autentikasi klien
Nomor Telepon klien dapat diautentikasi menggunakan string koneksi yang diperoleh dari sumber daya Azure Communication Services di [Azure portal][azure_portal].
// 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 Azure Active Directory. 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 tol, 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. Hasil ini berisi SearchId yang dapat diteruskan ke API nomor pembelian untuk mengetahui jumlah dalam 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();
Rilis nomor telepon
Anda dapat merilis nomor telepon yang dibeli.
var releaseOperation = await client.StartReleasePhoneNumberAsync("+14255550123");
await releaseOperation.WaitForCompletionResponseAsync();
Jalankan kode
Menjalankan aplikasi dari direktori aplikasi Anda dengan perintah dotnet run.
dotnet run
Kode Sampel
Anda dapat mengunduh aplikasi sampel dari GitHub
Catatan
Cari kode yang diselesaikan untuk mulai cepat ini di GitHub
Prasyarat
- Akun Azure dengan langganan aktif. Membuat akun secara gratis.
- Java Development Kit (JDK) versi 8 atau lebih tinggi.
- Apache Maven.- Sebuah sumber daya Azure Communication Services dan string koneksi yang disebarkan. Membuat sumber daya Azure Communication Services.
Menyiapkan
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.
Menginstal 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>
Siapkan 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
Tambahkan kode berikut ke 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 Klien Nomor Telepon
PhoneNumberClientBuilder diaktifkan untuk menggunakan Autentikasi Azure Active Directory
// 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. Hasil ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk mengetahui jumlah dalam 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 membeli nomor, 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());
Jalankan kode
Buka direktori yang berisi file pom.xml dan kompilasikan proyek dengan perintah mvn berikut.
mvn compile
Kemudian, bangun paketnya.
mvn package
Jalankan perintah mvn berikut untuk menjalankan aplikasi.
mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
Output aplikasi menjelaskan setiap tindakan yang selesai:
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
Catatan
Cari kode yang diselesaikan untuk mulai cepat ini di GitHub
Prasyarat
- Akun Azure dengan langganan aktif. Membuat akun secara gratis.
- Python 2.7, 3.5 atau lebih tinggi.
- Sumber daya Communication Services yang disebarkan dan string koneksi. Membuat sumber daya Azure 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 bernama phone_numbers_sample.py di direktori akar proyek dan tambahkan kode berikut. Kami akan menambahkan kode mulai 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)
Menginstal 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 Klien Nomor Telepon
Fungsi PhoneNumbersClient ini diaktifkan untuk menggunakan Autentikasi Azure Active Directory. Menggunakan objek DefaultAzureCredential adalah cara termudah untuk memulai Azure Active Directory dan Anda dapat memasangnya menggunakan perintah pip install.
pip install azure-identity
Membuat objek DefaultAzureCredential mengharuskan Anda untuk memiliki AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, dan AZURE_TENANT_ID sudah ditetapkan sebagai variabel lingkungan dengan nilai yang sesuai dari aplikasi Microsoft Azure AD terdaftar Anda.
Untuk peningkatan cepat mengenai cara mendapatkan variabel lingkungan ini, Anda dapat mengikuti Menyiapkan perwakilan layanan dari mulai cepat CLI.
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)
Fungsi
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. Hasil ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk mengetahui jumlah dalam 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)
Dapatkan nomor telepon yang dibeli
Setelah membeli nomor, 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())
Jalankan 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
Catatan
Cari kode yang diselesaikan untuk mulai cepat ini di GitHub
Prasyarat
- Akun Azure dengan langganan aktif. Membuat akun secara gratis.
- Node.js Active LTS dan versi Pemeliharaan LTS (disarankan versi 8.11.1 and 10.14.1).
- Sumber daya Communication Services dan string koneksi aktif. Membuat 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 bernama 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();
Menginstal 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 di filepackage.js Anda.
Autentikasi 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. Hasil ini berisi searchId yang dapat diteruskan ke API nomor pembelian untuk mengetahui jumlah dalam 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}`);
Memperbarui 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.");
Dapatkan nomor telepon yang dibeli
Setelah membeli nomor, 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.");
Jalankan kode
Gunakan perintah node untuk menjalankan kode yang Anda tambahkan ke file phone-numbers-quickstart.js Anda.
node phone-numbers-quickstart.js
Pemecahan Masalah
Pertanyaan dan Jawaban Umum:
Ketika dirilis, nomor telepon tidak akan dirilis atau dapat dibeli kembali hingga akhir siklus penagihan.
Ketika sumber daya Communication Services dihapus, nomor telepon yang terkait dengan sumber daya tersebut akan dirilis secara otomatis secara bersamaan.
Langkah berikutnya
Dalam mulai cepat ini, Anda mempelajari cara:
- Membeli nomor telepon
- Mengelola nomor telepon
- Merilis nomor telepon