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.
Pustaka administrasi digunakan untuk mengelola pengguna dan token untuk Azure Communication Services. Pustaka ini juga menyediakan kemampuan untuk administrasi nomor telepon.
Nomor telepon yang diperoleh dapat dilengkapi dengan banyak kemampuan, tergantung pada negara, jenis nomor, dan paket telepon. 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 atau Azure CLI.
Menginstal
npm install @azure/communication-administration
Konsep utama
Klien
Paket administrasi mengekspos dua klien. menyediakan CommunicationIdentityClient metode untuk mengelola pengguna dan token mereka. menyediakan PhoneNumberAdministrationClient metode untuk mengelola paket dan nomor telepon.
Gambaran umum paket telepon
Paket telepon datang dalam dua jenis; Geografis dan Bebas Ongkos. Paket telepon geografis adalah paket telepon yang terkait dengan lokasi, yang kode area nomor teleponnya dikaitkan dengan kode area lokasi geografis. Toll-Free paket telepon adalah paket telepon yang tidak terkait dengan lokasi. Misalnya, di AS, nomor bebas ongkos dapat dilengkapi dengan kode area seperti 800 atau 888.
Semua paket telepon geografis dalam negara yang sama dikelompokkan ke dalam grup paket telepon dengan jenis nomor telepon Geografis. Semua paket 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 id paket telepon, kode area, dan jumlah nomor telepon. Jumlah nomor telepon yang disediakan akan dicadangkan selama sepuluh 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 dan menetapkan angka
Nomor telepon dapat ditetapkan ke URL panggilan balik melalui API nomor konfigurasi. Sebagai bagian dari konfigurasi, Anda akan memerlukan nomor telepon, URL panggilan balik, dan id aplikasi yang diperoleh.
Contoh
Autentikasi
Anda bisa mendapatkan string kunci dan/atau koneksi dari sumber daya Communication Services Anda di Portal Microsoft Azure. Setelah memiliki kunci, Anda dapat mengautentikasi CommunicationIdentityClient dan PhoneNumberAdministrationClient dengan salah satu metode berikut:
Buat KeyCredential dengan AzureKeyCredential sebelum menginisialisasi klien
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-administration";
const credential = new AzureKeyCredential(KEY);
const client = new CommunicationIdentityClient(HOST, credential);
Menggunakan string koneksi
import { PhoneNumberAdministrationClient } from "@azure/communication-administration";
const connectionString = `endpoint=HOST;accessKey=KEY`;
const client = new CommunicationIdentityClient(connectionString);
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.
Penggunaan
CommunicationIdentityClient
Membuat instans CommunicationIdentityClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Membuat pengguna baru
createUser Gunakan metode untuk membuat pengguna baru.
const user = await client.createUser();
Membuat dan menyegarkan token pengguna
issueToken Gunakan metode untuk mengeluarkan atau merefresh token untuk pengguna yang sudah ada. Metode ini juga mengambil daftar cakupan token komunikasi. Opsi cakupan meliputi:
-
chat(Obrolan) -
pstn(Jaringan telepon yang dialihkan publik) -
voip(Suara melalui IP)
let { token } = await client.issueToken(user, ["chat"]);
Untuk merefresh token pengguna, terbitkan token lain dengan pengguna yang sama.
{ token } = await client.issueToken(user, ["chat"]);
Mencabut token untuk pengguna
revokeTokens Gunakan metode untuk mencabut semua token yang dikeluarkan pengguna.
await client.revokeTokens(user);
revokeTokens mengambil argumen kedua opsional, tokensValidFrom. Jika tanggal ini disediakan, revokeTokens akan mencabut semua token yang dikeluarkan sebelum itu. Jika tidak, semua token akan dicabut.
Menghapus pengguna
deleteUser Gunakan metode untuk menghapus pengguna.
await client.deleteUser(user);
PhoneNumberAdministrationClient
Membuat instans PhoneNumberAdministrationClient
import { CommunicationIdentityClient } from "@azure/communication-administration";
const client = new CommunicationIdentityClient(CONNECTION_STRING);
Mendapatkan negara
listSupportedCountries Gunakan metode untuk mendapatkan daftar negara yang didukung.
const countries = await client.listSupportedCountries();
for await (const country of countries) {
console.log(`Country code: ${country.countryCode}`);
console.log(`Country name: ${country.localizedName}`);
}
Mendapatkan grup paket telepon
Grup paket telepon hadir dalam dua jenis, Geografis dan Bebas Angsuran.
listPhonePlanGroups Gunakan metode untuk mendapatkannya.
const countryCode = "US";
const phonePlanGroups = await client.listPhonePlanGroups(countryCode);
for await (const phonePlanGroup of phonePlanGroups) {
console.log(`Phone plan group id: ${phonePlanGroup.phonePlanGroupId}`);
}
Mendapatkan opsi lokasi
Untuk paket telepon Geografis, Anda bisa mengkueri lokasi geografis yang tersedia. Opsi lokasi disusun seperti hierarki geografis suatu negara. Misalnya, AS memiliki status dan di dalam setiap negara bagian adalah kota.
getPhonePlanLocationOptions Gunakan metode untuk mendapatkan opsi untuk lokasi.
const { locationOptions } = await client.getPhonePlanLocationOptions({
countryCode: "US",
phonePlanGroupId: "phonePlanGroupId",
phonePlanId: "phonePlanId"
});
console.log(`Got location options for: ${locationOptions.labelId}`);
Mendapatkan kode area
Mengambil kode area untuk paket telepon geografis akan memerlukan kueri opsi lokasi yang ditetapkan. Anda harus menyertakan rantai lokasi geografis yang melintas ke bawah objek opsi lokasi yang dikembalikan oleh getPhonePlanLocationOptions.
getAreaCodes Gunakan metode untuk mendapatkan kode area untuk paket telepon geografis.
const { primaryAreaCodes } = await client.getAreaCodes({
locationType: "selection",
countryCode: "US",
phonePlanId: "phonePlanId",
locationOptionsQueries
});
Memesan nomor telepon untuk pembelian
beginReservePhoneNumbers Gunakan metode untuk mencari nomor telepon dan memesannya. Ini adalah operasi jangka panjang.
const reservePoller = await client.beginReservePhoneNumbers({
name: "Phone number search 800",
description: "Search for 800 phone numbers"
phonePlanIds: ["phone-plan-id-1"],
areaCode: "800",
quantity: 3
});
Untuk mendapatkan hasil reservasi, gunakan pollUntilDone metode pada poller yang Anda buat.
const phoneNumberReservation = await reservePoller.pollUntilDone();
Anda dapat membatalkan polling dan reservasi dengan memanggil cancelOperation metode pada poller yang Anda buat.
await reservePoller.cancelOperation();
Membeli nomor telepon dari reservasi
beginPurchasePhoneNumbers Gunakan metode untuk membeli nomor telepon dari reservasi Anda. Yang reservationId dikembalikan dari beginReservePhoneNumbers diperlukan.
beginPurchasePhoneNumbers juga merupakan operasi jangka panjang.
const { reservationId } = phoneNumberReservation;
const purchasePoller = await client.beginPurchasePhoneNumbers(reservationId);
Untuk mendapatkan hasil pembelian, gunakan pollUntilDone metode pada poller pembelian yang Anda buat.
const results = await purchasePoller.pollUntilDone();
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
Azure SDK for JavaScript