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

Dapatkan Nomor telepon

Untuk mulai menentukan nomor, buka sumber daya Communication Services Anda di portal Microsoft Azure.

Screenshot showing a Communication Services resource's main page.

Cari Nomor Telepon yang Tersedia

Navigasi ke bilah Nomor Telepon di menu sumber daya.

Screenshot showing a Communication Services resource's phone page.

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.

Screenshot showing the Get phone numbers view.

Pilih fitur nomor telepon Anda

Mengonfigurasi nomor telepon Anda dipecah menjadi dua langkah:

  1. Pemilihan jenis nomor
  2. 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.

Screenshot showing the Select features view.

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.

Screenshot showing the Numbers selection page.

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.

Screenshot showing the Numbers selection page with reserved numbers.

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.

Screenshot showing the Summary page with the Number type, Features, Phone Numbers, and Total monthly cost shown.

Menemukan nomor telepon Anda di portal Microsoft Azure

Menavigasi ke sumber daya Azure Communication Services Anda di portal Azure:

Screenshot showing a Communication Services Resource's main page.

Pilih bilah Nomor Telepon di menu untuk mengelola nomor telepon Anda.

Screenshot showing a Communication Services Resource's phone number page.

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.

Screenshot showing the update features page.

Pilih fitur dari opsi yang tersedia, lalu klik Simpan untuk menerapkan pilihan Anda.

Rilis Nomor Telepon

Pada halaman Nomor, Anda dapat merilis nomor telepon.

Screenshot showing the release phone numbers page.

Pilih nomor telepon yang ingin Anda rilis lalu klik tombol Rilis.

Catatan

Cari kode yang diselesaikan untuk mulai cepat ini di GitHub

Prasyarat

Pemeriksaan prasyarat

  • Di jendela terminal atau perintah, jalankan perintah dotnet untuk 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

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:

  1. Arahkan ke direktori /src/main/java/com/communication/quickstart
  2. Buka file App.java di editor Anda
  3. Ganti pernyataan System.out.println("Hello world!");
  4. 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

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

Pemeriksaan prasyarat

  • Di terminal atau jendela perintah, jalankan node --version untuk 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