Bagikan melalui


Pustaka klien AZURE Communication SMS untuk JavaScript - versi 1.1.0

Layanan SMS Azure Communication memberi pengembang kemampuan untuk mengirim pesan SMS dari nomor telepon yang dapat dibeli melalui Communication Services.

Memulai

Prasyarat

Menginstal

npm install @azure/communication-sms

Cara memperoleh nomor telepon

Nomor telepon dapat diperoleh dan ditetapkan ke sumber daya Communication Services dari Portal Microsoft Azure. Instruksi tentang cara mendapatkan nomor telepon menggunakan Portal Microsoft Azure dapat ditemukan di sini.

Anda mungkin juga mendapatkan nomor telepon dengan menggunakan @azure/communication-phone-numbers paket . Petunjuk tentang cara menggunakan paket dapat ditemukan di README paket.

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

SmsClient

SmsClient adalah antarmuka utama untuk pengembang yang menggunakan pustaka klien ini. Ini menyediakan metode asinkron untuk mengirim pesan SMS.

Contoh

Autentikasi

Anda bisa mendapatkan kunci dan/atau string koneksi dari sumber daya Communication Services Anda di Portal Microsoft Azure. Setelah memiliki kunci, Anda dapat mengautentikasi dengan salah satu metode berikut:

Menggunakan string koneksi

import { SmsClient } from "@azure/communication-sms";

const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);

Membuat kredensial dengan AzureKeyCredential

import { AzureKeyCredential } from "@azure/core-auth";
import { SmsClient } from "@azure/communication-sms";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new AzureKeyCredential("<Base64-Encoded-Key>");
const client = new SmsClient(endpoint, credential);

Menggunakan identitas terkelola Azure Active Directory

Autentikasi kunci API klien 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, 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. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID, dan variabel lingkungan AZURE_TENANT_ID diperlukan untuk membuat objek DefaultAzureCredential.

import { DefaultAzureCredential } from "@azure/identity";
import { SmsClient } from "@azure/communication-sms";

const endpoint = "https://<resource-name>.communication.azure.com";
let credential = new DefaultAzureCredential();
const client = new SmsClient(endpoint, credential);

Mengirim Pesan SMS 1:N

Untuk mengirim pesan SMS, panggil send fungsi dari SmsClient. Anda perlu meneruskan SmsSendRequest objek . Anda juga dapat menambahkan pass dalam objek opsi untuk menentukan apakah laporan pengiriman harus diaktifkan dan mengatur tag kustom untuk laporan. Array SmsSendResult dikembalikan. Bendera successful digunakan untuk memvalidasi apakah setiap pesan individu berhasil dikirim.

const sendResults = await client.send(
  {
    from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
    to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
    message: "Weekly Promotion!" // The message being sent
  },
  {
    enableDeliveryReport: true,
    tag: "marketing"
  }
);

for (const sendResult of sendResults) {
  if (sendResult.successful) {
    console.log("Success: ", sendResult);
  } else {
    console.error("Something went wrong when trying to send this message: ", sendResult);
  }
}

Pemecahan Masalah

Operasi SMS akan memberikan pengecualian jika permintaan ke server gagal. Pengecualian tidak akan dilemparkan jika kesalahan disebabkan oleh pesan individual, hanya jika ada yang gagal dengan permintaan keseluruhan. successful Gunakan bendera untuk memvalidasi setiap hasil individu untuk memverifikasi apakah pesan dikirim.

try {
  const sendResults = await client.send({
    from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
    to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
    message: "Hello World via SMS!" // The message being sent
  });
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
} catch (e) {
  console.error(e.message);
}

Langkah berikutnya

Berkontribusi

Jika Anda ingin berkontribusi pada pustaka ini, baca panduan berkontribusi untuk mempelajari selengkapnya tentang cara membuat dan menguji kode.

Tayangan