إرسال رسالة SMS

Important

تعتمد قدرات الرسائل القصيرة على رقم الهاتف الذي تستخدمه والبلد/المنطقة التي تعمل داخلها كما يحددها عنوان فوترة Azure. لمزيد من المعلومات، راجع أهلية الاشتراك.


ابدأ مع Azure Communication Services باستخدام وحدة الاتصال في Azure CLI لإرسال رسائل SMS.

يتطلب إكمال هذه المقالة تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Prerequisites

التحقق من المتطلبات الأساسية

  • في نافذة طرفية أو نافذة أوامر، قم بتشغيل az --version للتحقق من تثبيت Azure CLI.

الإعداد

تثبيت وحدة الاتصال

لتثبيت وحدة الاتصال النمطية، قم بتشغيل الأمر التالي في محطة طرفية أو نافذة أوامر.

az extension add --name communication

تسجيل الدخول إلى واجهة سطر الأوامر Azure

تحتاج إلى تسجيل الدخول إلى Azure CLI. يمكنك تسجيل الدخول لتشغيل az login الأمر من المحطة الطرفية وتوفير بيانات الاعتماد الخاصة بك.

تأكد من استخدام الاشتراك الصحيح

إذا كان لديك اشتراكات متعددة في حسابك، فتأكد من أنك تستخدم الاشتراك الصحيح لهذا البرنامج التعليمي.

في نافذة طرفية أو أوامر، قم بتشغيل الأمر التالي للتحقق من الاشتراك الحالي.

az account show

إذا كنت بحاجة إلى تغيير الاشتراك، يمكنك القيام بذلك عن طريق تشغيل الأمر التالي.

az account set --subscription "<yourSubscriptionId>"

تحتاج إلى استبدال <yourSubscriptionId> بمعرف الاشتراك الفعلي، والذي يمكنك العثور عليه في قسم الاشتراكات في مدخل Microsoft Azure.

(اختياري) استخدام عمليات الرسائل القصيرة ل Azure CLI دون المرور في سلسلة الاتصال

يمكنك تكوين AZURE_COMMUNICATION_CONNECTION_STRING متغير البيئة لاستخدام عمليات الرسائل القصيرة ل Azure CLI دون الحاجة إلى استخدام --connection_string لتمرير سلسلة الاتصال. لتكوين متغير بيئة، افتح إطار وحدة التحكم وحدد نظام التشغيل من علامات التبويب أدناه. استبدل <yourConnectionString> بسلسلة الاتصال الفعلية الخاصة بك.

افتح إطار وحدة التحكم وأدخل الأمر التالي:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

بعد إضافة متغير البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستحتاج إلى قراءة متغير البيئة، بما في ذلك إطار وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فعد تشغيل Visual Studio قبل تشغيل المثال.

Operations

إرسال رسالة نصية قصيرة 1:1

لإرسال رسالة SMS إلى مستلم واحد، اتصل بالأسلوب send من وحدة الرسائل القصيرة برقم هاتف مستلم واحد.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <fromPhoneNumber> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <toPhoneNumber> برقم هاتف تريد إرسال رسالة إليه.
  • استبدل <yourConnectionString> سلسلة الاتصال الخاص بك.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <fromPhoneNumber> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

إرسال رسالة SMS 1:N

لإرسال رسالة SMS إلى قائمة المستلمين، اتصل بالأسلوب send من وحدة الرسائل القصيرة مع أرقام هواتف متعددة للمستلمين.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <fromPhoneNumber> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <toPhoneNumberN> برقم الهاتف N'th الذي تريد إرسال رسالة إليه.
  • استبدل <yourConnectionString> سلسلة الاتصال الخاص بك.

Warning

توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، مثل +14255550123. يمكن أن تكون قيمة <fromPhoneNumber> أيضا رمزا قصيرا، مثل 23456 أو معرف مرسل أبجدي رقمي، مثل CONTOSO.

إرسال رسالة نصية قصيرة باستخدام DeliveryReport و Tag

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>" --deliveryReport --tag "<yourCustomTag>"

deliveryReport المعلمة هي معلمة اختيارية يمكنك استخدامها لتكوين تقارير التسليم. استخدم هذه الدالة إذا كنت تريد إرسال أحداث عند تسليم رسائل SMS. راجع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك.

tag المعلمة هي معلمة اختيارية يمكنك استخدامها لتطبيق علامة على تقرير التسليم.

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <fromPhoneNumber> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <toPhoneNumber> برقم هاتف تريد إرسال رسالة إليه.
  • استبدل <yourConnectionString> سلسلة الاتصال الخاص بك.
  • استبدل <yourCustomTag> بعلامتك المخصصة.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <fromPhoneNumber> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

ابدأ العمل مع Azure Communication Services باستخدام Communication Services C# SMS SDK لإرسال رسائل نصية قصيرة.

يتطلب إكمال هذه المقالة تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Note

راجع التعليمات البرمجية النهائية في Azure Samples GitHub إرسال رسالة SMS باستخدام .NET.

Prerequisites

التحقق من المتطلبات الأساسية

  • في النافذة الطرفية أو الأمر، تشغيل dotnet الأمر للتحقق من تثبيت NET SDK.
  • لعرض أرقام الهواتف المقترنة بمورد خدمات الاتصالات، قم بتسجيل الدخول إلى مدخل Microsoft Azure وحدد موقع مورد خدمات الاتصالات. في جزء التنقل على يمين الصفحة، حدد أرقام الهواتف.

إعداد بيئة التطبيق

لإعداد بيئة لإرسال الرسائل، اتبع الخطوات الواردة في الأقسام التالية.

إنشاء تطبيق C# جديد

  1. في نافذة وحدة التحكم، مثل cmd أو PowerShell أو Bash، استخدم الأمر dotnet new لإنشاء تطبيق وحدة تحكم جديد بالاسمSmsQuickstart. ينشئ هذا الأمر مشروع C # بسيط "Hello World" بملف مصدر واحد ، Program.cs.

    dotnet new console -o SmsQuickstart
    
  2. قم بتغيير الدليل الخاص بك إلى مجلد التطبيق الذي تم إنشاؤه حديثًا، واستخدم الأمر dotnet build للتحويل البرمجي لتطبيقك.

    cd SmsQuickstart
    dotnet build
    

تثبيت الحزمة

  1. أثناء الاستمرار في دليل التطبيق، قم بتثبيت Azure Communication Services SMS SDK لحزمة .NET باستخدام الأمر التالي.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. أضف توجيها using إلى أعلى Program.cs لتضمين مساحة الاسم Azure.Communication .

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

نموذج الكائن

تتعامل الفئات والواجهات التالية مع بعض الميزات الرئيسية لـ Azure Communication Services SMS SDK for C#‎.

Name Description
SmsClient هذه الفئة مطلوبة لجميع وظائف الرسائل النصية القصيرة. إنشاء مثيل مع معلومات الاشتراك الخاص بك، واستخدامها لإرسال الرسائل النصية القصيرة.
SmsSendOptions توفر هذه الفئة خيارات لتكوين تقارير التسليم. إذا تم تعيين enable_delivery_report إلى True، يتم إصدار حدث عند نجاح التسليم.
SmsSendResult تحتوي هذه الفئة على النتيجة من خدمة SMS.

مصادقة العميل

افتح Program.cs في محرر النصوص، واستبدل نص الأسلوب Main مع التعليمات البرمجية لتهيئة SmsClient مع سلسلة الاتصال. تسترد التعليمات البرمجية التالية سلسلة الاتصال للمورد من متغير بيئة يسمى COMMUNICATION_SERVICES_CONNECTION_STRING. تعرف على كيفية إدارة سلسلة اتصال المورد.

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

إرسال رسالة نصية قصيرة 1:1

لإرسال رسالة نصية قصيرة إلى مستلم واحد، استدع الدالة Send أو SendAsync من SmsClient. أضف هذا الرمز إلى نهاية الطريقة Main في Program.cs:

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <to-phone-number> برقم الهاتف الذي تريد إرسال رسالة إليه.

Warning

توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، مثل +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، مثل 23456 أو معرف مرسل أبجدي رقمي، مثل CONTOSO.

إرسال رسالة نصية قصيرة 1:N مع خيارات

لإرسال رسالة SMS إلى قائمة المستلمين، اتصل بالدالة Send أو SendAsync من SmsClient مع قائمة بأرقام هواتف المستلمين. يمكنك أيضا توفير معلمات اختيارية لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <to-phone-number-1> و <to-phone-number-2> بأرقام الهواتف التي تريد إرسال رسالة إليها.

Warning

توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، مثل +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، مثل 23456 أو معرف مرسل أبجدي رقمي، مثل CONTOSO.

enableDeliveryReport المعلمة هي معلمة اختيارية يمكنك استخدامها لتكوين تقارير التسليم. هذه الوظيفة مفيدة عندما تريد إرسال أحداث عند تسليم رسائل SMS. راجع التشغيل السريع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك.

يمكنك استخدام المعلمة Tag لتطبيق علامة على تقرير التسليم.

إرسال الرسائل القصيرة بشكل عام باستخدام Messaging Connect

Important

هذه الميزة من Azure Communication Services قيد المعاينة حاليا. الميزات في المعاينة متاحة للجمهور ويمكن استخدامها من قبل جميع عملاء Microsoft الجدد والموجودين.

يتم توفير واجهات برمجة التطبيقات وSDKs للمعاينة دون اتفاقية على مستوى الخدمة. نوصي بعدم استخدامها لأحمال عمل الإنتاج. قد لا تكون بعض الميزات مدعومة أو قد تكون القدرات مقيدة.

لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

إذا كنت تستخدم رقم هاتف تم توفيره عبر Messaging Connect، فيمكنك إرسال رسائل SMS باستخدام Azure Communication Services SDK القياسي. الاختلاف الوحيد هو أنه يجب عليك تضمين الكائن MessagingConnect لتحديد اسم الشريك ومفتاح واجهة برمجة التطبيقات.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-messaging-connect-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
        MessagingConnect = new MessagingConnectOptions("<partner-api-key>", "infobip")
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

يستعاض عن هذه القيم:

  • <from-messaging-connect-number>رقم الهاتف الذي تم الحصول عليه من خلال Messaging Connect والمرتبط بمورد ACS.:
  • <to-phone-number-1> و <to-phone-number-2>: أرقام هواتف المستلم.
  • <partner-api-key>مفتاح واجهة برمجة التطبيقات من شريك Messaging Connect (على سبيل المثال، Infobip).:

Tip

هل تريد معرفة المزيد عن المراسلة العالمية؟ تحقق من صفحة Messaging Connect

Warning

يجب أن تتبع أرقام الهواتف التنسيق القياسي الدولي E.164 (على سبيل المثال ، +14255550123). يجب أن <rom-messaging-connect-number> يكون رقم Messaging Connect أو معرف مرسل ألفا ديناميكي (على سبيل المثال، CONTOSO) تم توفيره ومزامنته بالفعل مع مورد ACS الخاص بك.

enableDeliveryReport المعلمة هي معلمة اختيارية يمكنك استخدامها لتكوين تقارير التسليم. هذه الوظيفة مفيدة عندما تريد إرسال أحداث عند تسليم رسائل SMS. راجع التشغيل السريع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك. يمكنك استخدام المعلمة Tag لتطبيق علامة على تقرير التسليم.

تشغيل التعليمات البرمجية

شغّل التطبيق من دليل تطبيقك باستخدام الأمر dotnet run.

dotnet run

التعليمة البرمجية العينة

قم بتنزيل نموذج التطبيق من Azure Samples GitHub إرسال رسالة SMS باستخدام .NET.

ابدأ مع Azure Communication Services باستخدام Communication Services JavaScript SMS SDK لإرسال رسائل SMS.

يتطلب إكمال هذه المقالة تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Note

راجع التعليمات البرمجية النهائية Azure Samples GitHub إرسال رسالة SMS باستخدام JavaScript.

Prerequisites

التحقق من المتطلبات الأساسية

  • في نافذة طرفية أو نافذة أوامر، قم بتشغيل node --version للتحقق من تثبيت Node.js.
  • لعرض أرقام الهواتف المقترنة بمورد خدمات الاتصالات، قم بتسجيل الدخول إلى مدخل Microsoft Azure وحدد موقع مورد خدمات الاتصالات. في جزء التنقل على يمين الصفحة، حدد أرقام الهواتف.

إعداد بيئة التطبيق

لإعداد بيئة لإرسال الرسائل، اتبع الخطوات الواردة في الأقسام التالية.

إنشاء تطبيق Node.js جديد

  1. افتح المحطة الطرفية أو نافذة الأوامر، ثم قم بتشغيل الأمر التالي لإنشاء دليل جديد لتطبيقك والانتقال إليه.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. قم بتشغيل الأمر التالي لإنشاء ملف package.json بالإعدادات الافتراضية.

    npm init -y
    
  3. استخدم محرر نصوص لإنشاء ملف يسمى send-sms.js في الدليل الجذر للمشروع.

في الأقسام التالية، أضف كافة التعليمات البرمجية المصدر لهذا التشغيل السريع إلى ملف send-sms.js الذي قمت بإنشائه.

تثبيت الحزمة

استخدم الأمر npm install لتثبيت Azure Communication Services Calling SDK لـ JavaScript.

npm install @azure/communication-sms --save

يسرد الخيار --save المكتبة كتبعية في ملف package.json.

نموذج الكائن

تتعامل الفئات والواجهات التالية مع بعض الميزات الرئيسية لـ Azure Communication Services SMS SDK لـ Node.js.

Name Description
SmsClient هذه الفئة مطلوبة لجميع وظائف الرسائل النصية القصيرة. إنشاء مثيل مع معلومات الاشتراك الخاص بك، واستخدامها لإرسال الرسائل النصية القصيرة.
SmsSendRequest هذه الواجهة هي نموذج لبناء طلب SMS. يمكنك استخدامه لتكوين من وإلى أرقام الهواتف ومحتوى الرسائل القصيرة.
SmsSendOptions توفر هذه الواجهة خيارات لتكوين تقارير التسليم. إذا enableDeliveryReport تم تعيين إلى true، يتم إصدار حدث عند نجاح التسليم.
SmsSendResult تحتوي هذه الفئة على النتيجة من خدمة SMS.

مصادقة العميل

لمصادقة عميل، يمكنك استيراد SmsClient من SDK وإنشاء مثيل له باستخدام سلسلة الاتصال الخاصة بك. يمكنك استرداد سلسلة الاتصال للمورد من متغير بيئة. على سبيل المثال، تسترد التعليمات البرمجية في هذا القسم سلسلة الاتصال من COMMUNICATION_SERVICES_CONNECTION_STRING متغير البيئة. تعرف على كيفية إدارة سلسلة اتصال المورد.

لاستيراد العميل وإنشاء مثيل له:

  1. قم بإنشاء ملف باسم send-sms.js.

  2. أضف الكود التالي إلى send-sms.js.

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

إرسال رسالة SMS 1:N

لإرسال رسالة SMS إلى قائمة المستلمين، اتصل بالدالة send من SmsClient مع قائمة بأرقام هواتف المستلمين. إذا كنت ترغب في إرسال رسالة إلى مستلم واحد، فقم بتضمين رقم واحد فقط في القائمة. أضف هذا الرمز إلى نهاية send-sms.js:

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  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);
    }
  }
}

main();

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <to-phone-number-1> و <to-phone-number-2> بأرقام الهواتف التي تريد إرسال رسالة إليها.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

إرسال رسالة نصية قصيرة 1:N مع خيارات

يمكنك أيضا توفير عنصر خيارات لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة.


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  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);
    }
  }
}

main();

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <to-phone-number-1> و <to-phone-number-2> بأرقام الهواتف التي تريد إرسال رسالة إليها.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

enableDeliveryReport المعلمة هي معلمة اختيارية يمكنك استخدامها لتكوين تقارير التسليم. هذه الوظيفة مفيدة عندما تريد إرسال أحداث عند تسليم رسائل SMS. راجع التشغيل السريع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك. المعلمة tag اختيارية. يمكنك استخدامه لتطبيق علامة على تقرير التسليم.

إرسال الرسائل القصيرة بشكل عام باستخدام Messaging Connect

Important

هذه الميزة من Azure Communication Services قيد المعاينة حاليا. الميزات في المعاينة متاحة للجمهور ويمكن استخدامها من قبل جميع عملاء Microsoft الجدد والموجودين.

يتم توفير واجهات برمجة التطبيقات وSDKs للمعاينة دون اتفاقية على مستوى الخدمة. نوصي بعدم استخدامها لأحمال عمل الإنتاج. قد لا تكون بعض الميزات مدعومة أو قد تكون القدرات مقيدة.

لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

إذا كنت تستخدم رقم هاتف تم توفيره عبر Messaging Connect، فيمكنك إرسال رسائل SMS باستخدام Azure Communication Services JavaScript SDK القياسي. الاختلاف الوحيد هو أنه يجب عليك تضمين الكائن messagingConnect لتحديد اسم الشريك ومفتاح واجهة برمجة التطبيقات.

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-messaging-connect-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing", // custom tag
    messagingConnect: {
      apiKey: "<partner-api-key>",
      partner: "infobip"
    }
  });

  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success:", sendResult);
    } else {
      console.error("Failed to send message:", sendResult);
    }
  }
}

main();

يستعاض عن هذه القيم:

  • <from-messaging-connect-number>رقم الهاتف الذي تم الحصول عليه من خلال Messaging Connect والمرتبط بمورد ACS.:
  • <to-phone-number-1> و <to-phone-number-2>: أرقام هواتف المستلم.
  • <partner-api-key>مفتاح واجهة برمجة التطبيقات من شريك Messaging Connect (على سبيل المثال، Infobip).:

Tip

هل تريد معرفة المزيد عن المراسلة العالمية؟ تحقق من صفحة Messaging Connect

Warning

يجب أن تتبع أرقام الهواتف التنسيق القياسي الدولي E.164 (على سبيل المثال ، +14255550123). يجب أن <from-messaging-connect-number> يكون رقم Messaging Connect أو معرف مرسل ألفا ديناميكي (على سبيل المثال، CONTOSO) تم توفيره ومزامنته بالفعل مع مورد ACS الخاص بك.

تسمح لك المعلمة enableDeliveryReport بتكوين تقارير التسليم. المعلمة tag اختيارية وتتيح لك تطبيق علامة مخصصة على تقرير التسليم. لتكوين تقارير تسليم الرسائل القصيرة، راجع التشغيل السريع للتعامل مع أحداث الرسائل القصيرة .

تشغيل التعليمات البرمجية

استخدم الأمر node لتشغيل التعليمات البرمجية التي أضفتها إلى ملف send-sms.js .


node ./send-sms.js

ابدأ باستخدام خدمات الاتصال Azure باستخدام SDK PYTHON SMS خدمات الاتصالات لإرسال رسائل SMS.

يتطلب إكمال هذا التشغيل السريع تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Note

للحصول على التعليمات البرمجية النهائية لهذه المقالة، راجع GitHub Azure Samples Manage phone numbers using Python.

Prerequisites

التحقق من المتطلبات الأساسية

  • في نافذة طرفية أو نافذة أوامر، قم بتشغيل python --version الأمر للتحقق من تثبيت Python.
  • لعرض أرقام الهواتف المقترنة بمورد خدمات الاتصالات، قم بتسجيل الدخول إلى مدخل Microsoft Azure وحدد موقع مورد خدمات الاتصالات. في جزء التنقل على يمين الصفحة، حدد أرقام الهواتف.

إعداد بيئة التطبيق

لإعداد بيئة لإرسال الرسائل، أكمل الأقسام التالية.

إنشاء تطبيق Python جديد

  1. افتح نافذة المحطة الطرفية أو نافذة الأوامر. استخدم الأمر التالي لإنشاء دليل جديد لتطبيقك والانتقال إليه.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. استخدم محرر نصوص لإنشاء ملف يسمى send-sms.py في الدليل الجذر للمشروع وإضافة بنية البرنامج ، بما في ذلك معالجة الاستثناءات الأساسية.

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

في الأقسام التالية، أضف كافة التعليمات البرمجية المصدر لهذا التشغيل السريع إلى ملف send-sms.py الذي قمت بإنشائه.

تثبيت الحزمة

أثناء وجودك في دليل التطبيق، قم بتثبيت حزمة SDK SMS ل Azure Communication Services لحزمة Python باستخدام الأمر التالي.

pip install azure-communication-sms

نموذج الكائن

تتعامل الفئات والواجهات التالية مع بعض الميزات الرئيسية لـ Azure Communication Services Calling SDK:

Name Description
SmsClient هذه الفئة مطلوبة لجميع وظائف الرسائل النصية القصيرة. أنشئ مثيلا لمعلومات اشتراكك، واستخدمه لإرسال رسائل SMS.
SmsSendResult تحتوي هذه الفئة على النتيجة من خدمة SMS.

مصادقة العميل

إنشاء مثيل ل SmsClient باستخدام سلسلة الاتصال الخاصة بك. تعرف على كيفية إدارة سلسلة اتصال المورد.

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

للتبسيط، يستخدم هذا التشغيل السريع سلسلة الاتصال، ولكن في بيئات الإنتاج، نوصي باستخدام كيانات الخدمة.

إرسال رسالة نصية قصيرة 1:1

لإرسال رسالة SMS إلى مستلم واحد، اتصل بالطريقة send من SmsClient برقم هاتف مستلم واحد. يمكنك أيضا توفير معلمات اختيارية لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة. أضف هذا الرمز إلى نهاية الكتلة try في send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف مزود برسائل SMS مرتبط بخدمة الاتصال الخاصة بك.
  • استبدل <to-phone-number> برقم الهاتف الذي تريد إرسال رسالة إليه.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

إرسال رسالة SMS 1:N

لإرسال رسالة SMS إلى قائمة المستلمين، اتصل بالطريقة send من SmsClient مع قائمة بأرقام هواتف المستلمين. يمكنك أيضا توفير معلمات اختيارية لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة. أضف هذا الرمز إلى نهاية الكتلة try في send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف مزود برسائل SMS مرتبط بخدمة الاتصال الخاصة بك.
  • استبدل <to-phone-number-1> و <to-phone-number-2> بأرقام الهواتف التي تريد إرسال رسالة إليها.

Warning

توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، مثل +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، مثل 23456 أو معرف مرسل أبجدي رقمي، مثل CONTOSO.

تتمثل المعلمات الاختيارية في الآتي

enable_delivery_report المعلمة هي معلمة اختيارية يمكنك استخدامها لتكوين تقارير التسليم. استخدم هذه الدالة إذا كنت تريد إرسال أحداث عند تسليم رسائل SMS. راجع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك.

tag المعلمة هي معلمة اختيارية يمكنك استخدامها لتطبيق علامة على تقرير التسليم.

تشغيل التعليمات البرمجية

شغّل التطبيق من دليل تطبيقك باستخدام الأمر python.

python send-sms.py

يجب أن يبدو البرنامج النصي Python الكامل شيئا مثل التعليمات البرمجية التالية:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

ابدأ مع Azure Communication Services باستخدام Communication Services Java SMS SDK لإرسال رسائل نصية قصيرة.

يتطلب إكمال هذه المقالة تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Note

راجع التعليمات البرمجية النهائية Azure Samples GitHub إرسال رسالة SMS باستخدام Java.

Prerequisites

التحقق من المتطلبات الأساسية

  • في نافذة طرفية أو نافذة أوامر، قم بتشغيل mvn -v للتحقق من تثبيت Maven.
  • لعرض أرقام الهواتف المقترنة بمورد خدمات الاتصالات، قم بتسجيل الدخول إلى مدخل Microsoft Azure وحدد موقع مورد خدمات الاتصالات. في جزء التنقل على يمين الصفحة، حدد أرقام الهواتف.

إعداد بيئة التطبيق

لإعداد بيئة لإرسال الرسائل، أكمل الأقسام التالية.

إنشاء تطبيق Java جديد

افتح نافذة طرفية أو نافذة أوامر وانتقل إلى الدليل حيث تريد إنشاء تطبيق Java الخاص بك. لإنشاء مشروع Java من قالب maven-archetype-quickstart، قم بتشغيل الأمر التالي.

  • موجه الأوامر
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

ينشئ generate الهدف دليلا بنفس اسم artifactId القيمة. ضمن هذا الدليل، يحتوي الدليل src/main/java على التعليمات البرمجية لمصدر المشروع، ويحتوي الدليل src/test/java على مصدر الاختبار، والملف pom.xml هو نموذج كائن المشروع (POM).

تثبيت الحزمة

افتح ملف pom.xml في محرر النص. أضف عنصر التبعية التالي إلى مجموعة التبعيات.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

إعداد إطار عمل التطبيق

افتح /src/main/java/com/communication/quickstart/App.java في محرر نصوص، وأضف توجيهات الاستيراد، وأزل العبارة System.out.println("Hello world!"); :

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

نموذج الكائن

تتعامل الفئات والواجهات التالية مع بعض الميزات الرئيسية لـ Azure Communication Services SMS SDK for Java.

Name Description
SmsClientBuilder تنشئ هذه الفئة SmsClient. يمكنك تزويده بنقطة نهاية وبيانات اعتماد وعميل HTTP.
SmsClient هذه الفئة مطلوبة لجميع وظائف الرسائل النصية القصيرة. يمكنك استخدامه لإرسال رسائل نصية قصيرة.
SmsSendOptions توفر هذه الفئة خيارات لإضافة علامات مخصصة وتكوين تقارير التسليم. إذا تم تعيين deliveryReportEnabled إلى true، يتم إصدار حدث عند نجاح التسليم.
SmsSendResult تحتوي هذه الفئة على النتيجة من خدمة SMS.

مصادقة العميل

لمصادقة عميل، يمكنك إنشاء SmsClient مثيل مع سلسلة الاتصال. للحصول على بيانات الاعتماد، استخدم Key من مدخل Microsoft Azure. تعرف على كيفية إدارة سلسلة اتصال المورد. يمكنك أيضا تهيئة العميل مع أي عميل HTTP مخصص ينفذ الواجهة com.azure.core.http.HttpClient .

لإنشاء مثيل عميل، أضف التعليمات البرمجية main التالية إلى الأسلوب :

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

يمكنك أيضا توفير سلسلة الاتصال بالكامل باستخدام الدالة connectionString بدلا من توفير نقطة النهاية ومفتاح الوصول.

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

إرسال رسالة نصية قصيرة 1:1

لإرسال رسالة نصية قصيرة إلى مستلم واحد، استدعِ الأسلوب send من SmsClient مع رقم هاتف مستلم واحد. يمكنك أيضا توفير معلمات اختيارية لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة.

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدل <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services.
  • استبدل <to-phone-number> برقم هاتف تريد إرسال رسالة إليه.

Warning

توفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، مثل +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، مثل 23456 أو معرف مرسل أبجدي رقمي، مثل CONTOSO.

إرسال رسالة نصية قصيرة 1:N مع خيارات

لإرسال رسالة نصية قصيرة إلى قائمة من المستلمين، استدعِ الأسلوب send مع قائمة بأرقام هواتف المستلمين. يمكنك أيضا توفير معلمات اختيارية لتحديد ما إذا كان يجب تمكين تقرير التسليم وتعيين علامات مخصصة.

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

قم بإجراء هذه الاستبدالات في التعليمات البرمجية:

  • استبدال <from-phone-number> برقم هاتف ممكن بواسطة رسالة نصية قصيرة مقترن بمورد Communication Services
  • استبدل <to-phone-number-1> و <to-phone-number-2> بأرقام الهواتف التي تريد إرسال رسالة إليها.

Warning

قم بتوفير أرقام الهواتف بتنسيق E.164 القياسي الدولي، على سبيل المثال، +14255550123. يمكن أن تكون قيمة <from-phone-number> أيضا رمزا قصيرا، على سبيل المثال، 23456 أو معرف مرسل أبجدي رقمي، على سبيل المثال، CONTOSO.

setDeliveryReportEnabled يتم استخدام الأسلوب لتكوين تقارير التسليم. هذه الوظيفة مفيدة عندما تريد إرسال أحداث عند تسليم رسائل SMS. راجع التشغيل السريع معالجة أحداث SMS لتكوين تقارير التسليم لرسائل SMS الخاصة بك.

لتطبيق علامة على تقرير التسليم، استخدم setTag الأسلوب .

تشغيل التعليمات البرمجية

  1. انتقل إلى الدليل الذي يحتوي على ملف pom.xml وقم بتجميع المشروع باستخدام الأمر mvn .

    
    mvn compile
    
    
  2. إنشاء الحزمة.

    
    mvn package
    
    
  3. قم بتشغيل الأمر التالي mvn لتنفيذ التطبيق.

    • موجه الأوامر
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

استخدم موصل AZURE Communication Services SMSوAzure Logic Apps لإنشاء مهام سير عمل تلقائية يمكنها إرسال رسائل SMS.

توضح هذه المقالة كيفية إرسال رسائل نصية تلقائيا استجابة لحدث مشغل، وهي الخطوة الأولى في سير عمل تطبيق المنطق. يمكن أن يكون حدث المشغل رسالة بريد إلكتروني واردة أو جدول تكرار أو حدث مورد Azure Event Grid أو أي مشغل آخر تدعمه Azure Logic Apps.

لقطة شاشة تعرض مدخل Microsoft Azure المفتوح لمصمم Logic App. يعرض مدخل Microsoft Azure مثالا لتطبيق المنطق الذي يستخدم إجراء إرسال رسالة نصية قصيرة لموصل Azure Communication Services.

على الرغم من أن هذه المقالة تركز على استخدام الموصل للاستجابة إلى مشغل، يمكنك أيضا استخدام الموصل للاستجابة للإجراءات الأخرى، وهي الخطوات التي تتبع المشغل في سير العمل. إذا كنت جديدا على Logic Apps، فشاهد ما هي Azure Logic Apps قبل البدء.

Note

يتطلب إكمال هذه المقالة تكلفة صغيرة تبلغ بضعة سنتات أمريكية أو أقل في حساب Azure الخاص بك.

Prerequisites

Important

تعتمد قدرات SMS وPSTN على رقم الهاتف الذي تستخدمه والبلد/المنطقة التي تعمل فيها كما هو محدد بواسطة عنوان فوترة Azure الخاص بك. لمزيد من المعلومات، تفضل بزيارة وثائق أهلية الاشتراك .

أضف إجراء SMS

لإضافة إجراء إرسال SMS كخطوة جديدة في سير العمل باستخدام موصل الرسائل القصيرة Azure Communication Services، اتبع هذه الخطوات في مدخل Microsoft Azure مع فتح سير عمل تطبيق المنطق في مصمم تطبيق Logic Designer:

  1. على المصمم، ضمن الخطوة التي تريد إضافة الإجراء الجديد فيها، حدد خطوة جديدة. بدلا من ذلك، لإضافة الإجراء الجديد بين الخطوات، حرك المؤشر فوق السهم بين هذه الخطوات، وحدد علامة الجمع (+)، وحدد إضافة إجراء.

  2. في مربع البحث اختيار عملية ، أدخل Azure Communication Services. من قائمة الإجراءات، حدد إرسال رسالة نصية قصيرة.

    لقطة شاشة تعرض Logic App Designer وموصل Azure Communication Services مع تحديد إجراء Send SMS.

  3. الآن قم بإنشاء اتصال بمورد خدمات الاتصال الخاص بك.

    1. ضمن نفس الاشتراك:

      1. أدخل اسمًا للاتصال.

      2. حدد مورد خدمات الاتصال في Azure.

      3. حدد إنشاء.

      لقطة شاشة تعرض تكوين إجراء إرسال رسالة نصية قصيرة مع عينة من المعلومات.

    2. باستخدام سلسلة الاتصال من مورد خدمات الاتصال الخاص بك:

      1. أدخل اسمًا للاتصال.

      2. حدد ConnectionString Authentication من خيارات القائمة المنسدلة.

      3. أدخل سلسلة الاتصال الخاصة بمورد خدمات الاتصال.

      4. حدد إنشاء.

      لقطة شاشة تعرض تكوين مصادقة سلسلة الاتصال.

    3. استخدام كيان الخدمة (إنشاء كيان الخدمات المرجعي):

      1. أدخل اسمًا للاتصال.

      2. حدد Service principal (تطبيق Microsoft Entra) Authentication من خيارات القائمة المنسدلة.

      3. أدخل معرف المستأجر معرف العميل والعميل السري الخاص بك الخدمة الرئيسية.

      4. أدخل قيمة URL نقطة نهاية خدمات الاتصالات لمورد خدمات الاتصال.

      5. حدد إنشاء.

      لقطة شاشة تعرض تكوين مصادقة كيان الخدمة.

  4. في إجراء إرسال رسالة نصية قصيرة ، قم بتوفير المعلومات التالية:

    • أرقام هواتف المصدر والوجهة. لأغراض الاختبار، يمكنك استخدام رقم هاتفك كرقم هاتف الوجهة.

    • محتوى الرسالة الذي تريد إرساله، على سبيل المثال، "مرحبًا من Logic Apps!".

    فيما يلي إجراء إرسال رسالة نصية قصيرة مع مثال على المعلومات:

    لقطة شاشة تعرض إجراء إرسال رسالة نصية قصيرة مع عينة من المعلومات.

  5. عند الانتهاء، على شريط أدوات المصمم، حدد Save.

بعد ذلك، قم بتشغيل سير العمل للاختبار.

اختبار سير العمل

لبدء سير العمل يدويا، على شريط أدوات المصمم، حدد تشغيل. أو يمكنك انتظار إطلاق الزناد. في كلتا الحالتين، يجب أن يرسل سير العمل رسالة SMS إلى رقم هاتف الوجهة المحدد. لمزيد من المعلومات، راجع كيفية تشغيل سير العمل.

تنظيف موارد سير العمل

لتنظيف سير عمل تطبيق المنطق والموارد ذات الصلة، راجع كيفية تنظيف موارد Logic Apps.

Troubleshooting

لاستكشاف المشكلات المتعلقة بتسليم الرسائل القصيرة وإصلاحها، يمكنك تمكين تقارير التسليم باستخدام Event Grid لالتقاط تفاصيل التسليم.

تنظيف الموارد

إذا كنت ترغب في تنظيف وإزالة اشتراك Communication Services، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا. تعرف على المزيد حول تنظيف الموارد.

التحقق المجاني

لاستخدام رقم مجاني جديد لإرسال رسائل SMS، يجب إكمال عملية التحقق المجانية. للحصول على إرشادات حول كيفية إكمال التحقق من رقمك المجاني، راجع التشغيل السريع لإرسال التحقق المجاني. يتم التصريح فقط للأرقام المجانية التي تم التحقق منها بالكامل بإرسال حركة مرور SMS. يتم حظر أي حركة مرور SMS من أرقام مجانية لم يتم التحقق منها موجهة إلى أرقام هواتف الولايات المتحدة و CA.

الخطوات التالية

وصفت هذه المقالة كيفية إرسال رسائل SMS باستخدام Azure Communication Services.