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
- Bir Azure aboneliği.
- Mevcut bir İletişim Hizmetleri kaynağı. Kaynağı oluşturmanız gerekiyorsa Azure Portalı, Azure PowerShell veya Azure CLI'yı kullanabilirsiniz.
- İletişim Hizmetleri kaynağınıza atanmış bir telefon numarası. İletişim Hizmetleri kaynağınıza telefon numarası ekleme yönergeleri için bkz. Telefon numarası alma.
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 send
SmsClient
. 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
- Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.
- Azure İletişim Hizmetleri'de SMS hakkında daha fazla bilgi edinin
- SMS iletileriniz için Teslim Bildirimi'ni yapılandırma hakkında temel bir kılavuz için lütfen SMS Olaylarını İşleme hızlı başlangıcına bakın.
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.
İlgili projeler
Azure SDK for JavaScript