Pustaka klien Azure Communication Phone Numbers untuk JavaScript - versi 1.0.0
Pustaka nomor telepon menyediakan kemampuan untuk administrasi nomor telepon.
Nomor telepon yang dibeli dapat dilengkapi dengan banyak kemampuan, tergantung pada negara, jenis nomor, dan jenis penugasan. Contoh kemampuan adalah penggunaan masuk dan keluar SMS, penggunaan masuk dan keluar PSTN. Nomor telepon juga dapat ditetapkan ke bot melalui URL webhook.
Memulai
Prasyarat
- Langganan Azure.
- Sumber daya Communication Services yang ada. Jika Anda perlu membuat sumber daya, Anda dapat menggunakan Portal Microsoft Azure, Azure PowerShell, atau Azure CLI.
Menginstal
npm install @azure/communication-phone-numbers
Dukungan browser
Bundel JavaScript
Untuk menggunakan pustaka klien ini di browser, pertama-tama Anda perlu menggunakan bunder. Untuk detail tentang cara melakukan ini, silakan lihat dokumentasi bundling kami.
Konsep utama
Paket nomor telepon mengekspos PhoneNumbersClient
yang menyediakan metode untuk mengelola nomor telepon.
Jenis nomor telepon
Nomor telepon datang dalam dua jenis; Geografis dan Bebas Ongkos. Nomor telepon geografis adalah nomor telepon yang terkait dengan lokasi, yang kode areanya terkait dengan kode area lokasi geografis. Toll-Free nomor telepon tidak terkait dengan lokasi. Misalnya, di AS, nomor bebas ongkos dapat dilengkapi dengan kode area seperti 800 atau 888.
Semua nomor telepon geografis dalam negara yang sama dikelompokkan ke dalam grup paket telepon dengan jenis nomor telepon Geografis. Semua nomor telepon Toll-Free dalam negara yang sama dikelompokkan ke dalam grup paket telepon.
Mencari dan memperoleh angka
Nomor telepon dapat dicari melalui API pembuatan pencarian dengan menyediakan jenis nomor telepon (geografis atau bebas ongkos), jenis penugasan (orang atau aplikasi), kemampuan panggilan dan sms, kode area dan jumlah nomor telepon. Jumlah nomor telepon yang disediakan akan dipesan selama 15 menit. Pencarian nomor telepon ini dapat dibatalkan atau dibeli. Jika pencarian dibatalkan, maka nomor telepon akan tersedia untuk orang lain. Jika pencarian dibeli, maka nomor telepon diperoleh untuk sumber daya Azure.
Mengonfigurasi nomor telepon
Nomor telepon dapat memiliki kombinasi kemampuan. Mereka dapat dikonfigurasi untuk mendukung panggilan masuk dan/atau keluar, atau tidak jika Anda tidak akan menggunakan nomor telepon untuk panggilan. Hal yang sama berlaku untuk kemampuan sms.
Penting untuk mempertimbangkan jenis penugasan nomor telepon Anda. Beberapa kemampuan dibatasi untuk jenis penugasan tertentu.
Contoh
Autentikasi
Untuk membuat objek klien untuk mengakses COMMUNICATION Services API, Anda memerlukan connection string
atau endpoint
sumber daya Communication Services Anda dan credential
. Klien Nomor Telepon dapat menggunakan kredensial Azure Active Directory atau kredensial kunci API untuk mengautentikasi.
Anda bisa mendapatkan string kunci dan/atau koneksi dari sumber daya Communication Services Anda di Portal Microsoft Azure. Anda juga dapat menemukan titik akhir untuk sumber daya Communication Services Anda di Portal Microsoft Azure.
Setelah memiliki kunci, Anda dapat mengautentikasi PhoneNumbersClient
dengan salah satu metode berikut:
Menggunakan string koneksi
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
Menggunakan kunci akses dengan AzureKeyCredential
Jika Anda menggunakan kunci untuk menginisialisasi klien, Anda juga perlu menyediakan titik akhir yang sesuai. Anda bisa mendapatkan titik akhir ini dari sumber daya Communication Services Anda di Portal Microsoft Azure. Setelah memiliki kunci dan titik akhir, Anda dapat mengautentikasi dengan kode berikut:
import { AzureKeyCredential } from "@azure/core-auth";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const credential = new AzureKeyCredential("<key-from-resource>");
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Menggunakan Kredensial Azure Active Directory
Autentikasi string koneksi digunakan di sebagian besar contoh, tetapi Anda juga dapat mengautentikasi dengan Azure Active Directory menggunakan pustaka Azure Identity. Untuk menggunakan penyedia DefaultAzureCredential yang ditunjukkan di bawah ini, atau penyedia kredensial lain yang disediakan dengan Azure SDK, harap instal @azure/identity
paket:
npm install @azure/identity
Paket ini @azure/identity
menyediakan berbagai jenis kredensial yang dapat digunakan aplikasi Anda untuk melakukan ini.
README untuk @azure/identity
memberikan detail dan sampel lebih lanjut untuk memulai Anda.
import { DefaultAzureCredential } from "@azure/identity";
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
let credential = new DefaultAzureCredential();
const client = new PhoneNumbersClient("<endpoint-from-resource>", credential);
Penggunaan
Bagian berikut ini menyediakan cuplikan kode yang mencakup beberapa tugas umum menggunakan klien Azure Communication Services Nomor Telepon. Skenario yang dibahas di sini terdiri dari:
- Cari nomor telepon yang tersedia
- Membeli nomor telepon dari pencarian
- Merilis nomor telepon yang dibeli
- Memperbarui kapabilitas nomor telepon
- Mendapatkan nomor telepon yang dibeli
- Mencantumkan nomor telepon yang dibeli
Mencari Nomor Telepon yang Tersedia
beginSearchAvailablePhoneNumbers
Gunakan metode untuk mencari nomor telepon dan memesannya. Nomor telepon yang dikembalikan dipesan selama 15 menit dan dapat dibeli selama periode ini dengan memberikan searchId
ke beginPurchasePhoneNumbers
metode .
beginSearchAvailablePhoneNumbers
adalah operasi jangka panjang dan mengembalikan poller.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const searchResults = searchPoller.pollUntilDone();
console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);
console.log(`searchId: ${searchResults.searchId}`);
}
main();
Membeli nomor telepon dari pencarian
beginPurchasePhoneNumbers
Gunakan metode untuk membeli nomor telepon dari pencarian Anda. Nomor telepon yang dibeli akan ditetapkan ke sumber daya Communication Services yang digunakan saat memulai klien. Yang searchId
dikembalikan dari beginSearchAvailablePhoneNumbers
diperlukan.
beginPurchasePhoneNumbers
adalah operasi jangka panjang dan mengembalikan poller.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const searchRequest = {
countryCode: "US",
phoneNumberType: "tollFree",
assignmentType: "application",
capabilities: {
sms: "outbound",
calling: "none"
},
quantity: 1
};
const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);
// The search is underway. Wait to receive searchId.
const { searchId, phoneNumbers } = searchPoller.pollUntilDone();
const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);
// Purchase is underway.
await purchasePoller.pollUntilDone();
console.log(`Successfully purchased ${phoneNumbers[0]}`);
}
main();
Merilis nomor telepon yang dibeli
beginReleasePhoneNumber
Gunakan metode untuk merilis nomor telepon yang dibeli sebelumnya. Nomor telepon yang dirilis tidak akan lagi dikaitkan dengan sumber daya Communication Services, dan tidak akan tersedia untuk digunakan dengan operasi lain (misalnya. SMS) dari sumber daya. Nomor telepon yang dirilis diperlukan.
beginReleasePhoneNumber
adalah operasi jangka panjang dan mengembalikan poller.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToRelease = "<phone-number-to-release>";
const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);
// Release is underway.
await releasePoller.pollUntilDone();
console.log("Successfully release phone number.");
}
main();
Perbarui kemampuan nomor telepon
beginUpdatePhoneNumberCapabilities
Gunakan metode untuk memperbarui kemampuan nomor telepon yang dibeli. Nomor telepon dapat dikonfigurasi untuk mendukung panggilan masuk dan/atau keluar dan sms, atau tidak keduanya.
beginUpdatePhoneNumberCapabilities
adalah operasi jangka panjang dan mengembalikan poller.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async function main() {
const phoneNumberToUpdate = "<phone-number-to-update>";
// This will update phone number to send and receive sms, but only send calls.
const updateRequest = {
sms: "inbound+outbound",
calling: "outbound"
};
const updatePoller = await client.beginUpdatePhoneNumberCapabilities(
phoneNumberToUpdate,
updateRequest
);
// Update is underway.
const { capabilities } = await updatePoller.pollUntilDone();
console.log(`These are the update capabilities: ${capabilities}`);
}
main();
Mendapatkan nomor telepon yang dibeli
getPurchasedPhoneNumber
Gunakan metode untuk mendapatkan informasi tentang nomor telepon yang dibeli. Informasi ini mencakup jenis, kemampuan, biaya, dan tanggal pembelian nomor telepon.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumberToGet = "<phone-number-to-get>";
const phoneNumber = await client.getPurchasedPhoneNumber(phoneNumberToGet);
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
main();
Mencantumkan nomor telepon yang dibeli
listPurchasedPhoneNumbers
Gunakan metode untuk halaman melalui semua nomor telepon yang dibeli.
import { PhoneNumbersClient } from "@azure/communication-phone-numbers";
const connectionString = "endpoint=<endpoint>;accessKey=<accessKey>";
const client = new PhoneNumbersClient(connectionString);
async main function() {
const phoneNumbers = await client.listPurchasedPhoneNumbers();
for await (const phoneNumber of phoneNumbers) {
console.log(`The id is the same as the phone number: ${phoneNumber.id}`);
console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);
}
}
main();
Pemecahan Masalah
Langkah berikutnya
Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini.
Berkontribusi
Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.
Proyek terkait