Bagikan melalui


Pustaka klien Azure Communication Administration untuk JavaScript - versi 1.0.0-beta.3

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

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.

Tayangan