JavaScript için Azure İletişim SMS istemci kitaplığı - sürüm 1.1.0

Azure İletişim SMS hizmetleri, geliştiricilere İletişim Hizmetleri aracılığıyla satın alınabilecek bir telefon numarasından SMS mesajları gönderme olanağı sağlar.

Başlarken

Önkoşullar

Yükleme

npm install @azure/communication-sms

Telefon numarası alma

Telefon numaraları Azure Portal'dan alınıp bir İletişim Hizmetleri kaynağına atanabilir. Azure Portal'ı kullanarak telefon numarası alma yönergelerini burada bulabilirsiniz.

Paketi kullanarak @azure/communication-phone-numbers bir telefon numarası da alabilirsiniz. Paketin nasıl kullanılacağına ilişkin yönergeler paketin BENİOKU dosyasında bulunabilir.

Tarayıcı desteği

JavaScript Paketi

Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen paketleme belgelerimize bakın.

Önemli kavramlar

SmsClient

SmsClient , bu istemci kitaplığını kullanan geliştiriciler için birincil arabirimdir. SMS iletileri göndermek için zaman uyumsuz bir yöntem sağlar.

Örnekler

Kimlik Doğrulaması

Azure Portal'daki İletişim Hizmetleri kaynağınızdan bir anahtar ve/veya bağlantı dizesi alabilirsiniz. Anahtarınız olduktan sonra aşağıdaki yöntemlerden herhangi biriyle kimlik doğrulaması yapabilirsiniz:

bağlantı dizesi kullanma

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

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

ile kimlik bilgisi oluşturma 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);

Azure Active Directory yönetilen kimliğini kullanma

İstemci API anahtarı kimlik doğrulaması örneklerin çoğunda kullanılır, ancak Azure Kimlik kitaplığını kullanarak Azure Active Directory ile de kimlik doğrulaması yapabilirsiniz. Aşağıda gösterilen DefaultAzureCredential sağlayıcısını veya Azure SDK ile sağlanan diğer kimlik bilgileri sağlayıcılarını kullanmak için lütfen paketi yükleyin @azure/identity :

npm install @azure/identity

Paket, @azure/identity uygulamanızın bunu yapmak için kullanabileceği çeşitli kimlik bilgileri türleri sağlar. için README @azure/identity , başlamanıza yönelik daha fazla ayrıntı ve örnek sağlar. defaultAzureCredential nesnesi oluşturmak için AZURE_CLIENT_SECRET, AZURE_CLIENT_ID ve AZURE_TENANT_ID ortam değişkenleri gerekir.

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);

1:N SMS mesajı gönderme

SMS mesajı göndermek için işlevinden çağırın sendSmsClient. Bir SmsSendRequest nesneyi geçirmeniz gerekir. Teslim raporunun etkinleştirilip etkinleştirilmeyeceğini belirtmek ve rapor için özel etiketler ayarlamak için bir seçenekler nesnesi de ekleyebilirsiniz. dizisi SmsSendResult döndürülür. successful Her bir iletinin başarıyla gönderilip gönderilmediğini doğrulamak için bir bayrak kullanılır.

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);
  }
}

Sorun giderme

Sunucuya yönelik istek başarısız olursa SMS işlemleri bir özel durum oluşturur. Hata tek bir iletiden kaynaklanıyorsa özel durumlar oluşmaz; yalnızca bir şey genel istekle başarısız olursa. İletinin successful gönderilip gönderilmediğini doğrulamak için her bir sonucu doğrulamak için bayrağını kullanın.

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);
}

Sonraki adımlar

Katkıda bulunma

Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.

İzlenimler