البدء السريع: إرسال رسالة SMS

هام

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

إشعار

يرجى مشاركة أفكارك وملاحظاتك حول Azure Communication Services معنا من خلال إجراء هذا الاستطلاع القصير.


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

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

المتطلبات الأساسية

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

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

الإعداد

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

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

az extension add --name communication

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

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

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

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

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

az account show

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

az account set --subscription "<yourSubcriptionId>"

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

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

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

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

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

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

العمليات

إرسال رسالة نصية قصيرة 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> سلسلة الاتصال الخاص بك.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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> سلسلة الاتصال الخاص بك.

تحذير

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

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

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

إشعار

ابحث عن التعليمات البرمجية النهائية لهذا البداية السريعة في GitHub.

المتطلبات الأساسية

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

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

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

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

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

  1. في نافذة وحدة التحكم، مثل cmd أو PowerShell أو Bash، استخدم الأمر dotnet new لإنشاء تطبيق وحدة تحكم جديد بالاسمSmsQuickstart. يُنشئ هذا الأمر مشروع "مرحباً بالعالم" C# بسيطاً مع مصدر ملف واحد، 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 ‏‏الوصف
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> برقم الهاتف الذي تريد إرسال رسالة إليه.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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> بأرقام الهواتف التي تريد إرسال رسالة إليها.

تحذير

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

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

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

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

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

dotnet run

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

يمكنك تنزيل التطبيق العينة من GitHub.

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

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

إشعار

ابحث عن التعليمات البرمجية النهائية لهذا البداية السريعة في GitHub.

المتطلبات الأساسية

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

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

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

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

إنشاء تطبيق 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 ‏‏الوصف
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> بأرقام الهواتف التي تريد إرسال رسالة إليها.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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> بأرقام الهواتف التي تريد إرسال رسالة إليها.

تحذير

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

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

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

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


node ./send-sms.js

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

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

إشعار

ابحث عن التعليمات البرمجية النهائية لهذا البداية السريعة في GitHub.

المتطلبات الأساسية

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

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

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

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

إنشاء تطبيق 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 ‏‏الوصف
SmsClient هذه الفئة مطلوبة لجميع وظائف الرسائل النصية القصيرة. إنشاء مثيل مع معلومات الاشتراك الخاص بك، واستخدامها لإرسال الرسائل النصية القصيرة.
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> برقم الهاتف الذي تريد إرسال رسالة إليه.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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> بأرقام الهواتف التي تريد إرسال رسالة إليها.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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 الخاص بك.

إشعار

ابحث عن التعليمات البرمجية النهائية لهذا البداية السريعة في GitHub.

المتطلبات الأساسية

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

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

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

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

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

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

  • موجه الأوامر
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • بوويرشيل
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 ‏‏الوصف
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> برقم هاتف تريد إرسال رسالة إليه.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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> بأرقام الهواتف التي تريد إرسال رسالة إليها.

تحذير

قم بتوفير أرقام الهواتف بتنسيق 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
    
    
    • بوويرشيل
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

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

Screenshot that shows the Azure portal, which is open to the Logic App Designer, and shows an example logic app that uses the Send SMS action for the Azure Communication Services connector.

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

إشعار

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

المتطلبات الأساسية

هام

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

أضف إجراء SMS

لإضافة الإجراء إرسال SMS كخطوة جديدة في سير العمل الخاص بك باستخدام موصل SMS خدمات الاتصالات Azure اتبع الخطوات التالية في المدخل Azure مع سير العمل التطبيق المنطق فتح في مصمم التطبيق المنطق:

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

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

    Screenshot that shows the Logic App Designer and the Azure Communication Services connector with the Send SMS action selected.

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

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

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

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

      3. حدد إنشاء.

      Screenshot that shows the Send SMS action configuration with sample information.

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

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

      2. حدد مصادقة سلسلة الاتصال من الخيارات المنسدلة.

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

      4. حدد إنشاء.

      Screenshot that shows the Connection String Authentication configuration.

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

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

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

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

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

      5. حدد إنشاء.

      Screenshot that shows the Service Principal Authentication configuration.

  4. في إجراء Send SMS، قم بتوفير المعلومات التالية:

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

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

    إليك إجراء Send SMS تتضمن معلومات عن المثال:

    Screenshot that shows the Send SMS action with sample information.

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

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

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

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

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

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

استكشاف الأخطاء وإصلاحها

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

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

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

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

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

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

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