Apidog

منصة تطوير API تعاونية متكاملة

تصميم API

توثيق API

تصحيح أخطاء API

محاكاة API

اختبار API الآلي

كيفية إرسال رسالة SMS باستخدام واجهة برمجة تطبيقات Twilio و Node.js

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

Amir Hassan

Amir Hassan

Updated on نوفمبر 29, 2024

في عالم اليوم المترابط، التواصل هو المفتاح، وأحد أشكال التواصل الأكثر شيوعًا لا يزال هو الرسائل النصية المتواضعة. سواء كان ذلك إرسال إشعارات أو تنبيهات أو رسائل ترويجية، فإن القدرة على إرسال رسائل SMS (خدمة الرسائل القصيرة) برمجيًا تفتح عالمًا من الفرص للمطورين. أدخل Twilio، وهي منصة اتصالات سحابية تمكّن المطورين من دمج وظيفة SMS بسلاسة في تطبيقاتهم.

مقدمة:

في هذا الدليل، سنستكشف كيفية استغلال قوة Twilio جنبًا إلى جنب مع مرونة Node.js لإرسال رسائل SMS بسهولة. توفر Node.js، بنموذج الإدخال/الإخراج غير المتزامن ونظام حزم غني، بيئة مثالية لبناء تطبيقات قابلة للتوسع وفعالة، بينما تبسط Twilio عملية إرسال واستقبال رسائل SMS، وتعالج التوصيل وتدير أرقام الهواتف.

سواء كنت تطور نظام إشعارات، أو تبني روبوت دعم العملاء، أو فقط ترغب في دمج وظيفة SMS في تطبيقك، سيقوم هذا الدليل بإرشادك خلال العملية خطوة بخطوة. بحلول النهاية، سيكون لديك فهم قوي لكيفية استخدام واجهة برمجة التطبيقات الخاصة بـ Twilio مع Node.js لإرسال رسائل SMS بشكل موثوق وآمن.

فلنبدأ ونتعلم كيفية تعزيز تطبيقات Node.js الخاصة بك مع قدرات SMS الخاصة بـ Twilio!

إعداد حساب Twilio:

قبل إرسال رسائل SMS باستخدام Twilio وNode.js، الخطوة الأولى هي إعداد حساب Twilio.

تقدم Twilio فترة تجريبية مجانية يمكنك استخدامها لاختبار جميع خدماتها مثل إرسال SMS باستخدام رقم مجاني سيتم تخصيصه لك.

لكن للبدء، سجّل للحصول على حساب مجاني.

التسجيل للحصول على حساب Twilio مجاني:

اذهب إلى موقع Twilio (https://www.twilio.com/) وسجل الدخول للحصول على حساب جديد إذا لم تقم بذلك بالفعل. عملية التسجيل بسيطة وتتطلب معلومات أساسية مثل عنوان بريدك الإلكتروني، الاسم الكامل، وكلمة المرور.

تحقق من عنوان بريدك الإلكتروني:

وفقًا لـ Twilio

تساعد هذه المراجعة في منع إساءة استخدام منصة Twilio وتضمن الامتثال للوائح الاتصالات.

بعد التسجيل، سترسل Twilio رسالة بريد إلكتروني للتحقق إلى العنوان الذي قدمته أثناء التسجيل. انقر على رابط التحقق في الرسالة لتأكيد عنوان بريدك الإلكتروني وتفعيل حساب Twilio الخاص بك.

تحقق من رقم الهاتف:

يساعد هذا Twilio على التحقق من هويتك ويسمح لك أيضًا بإرسال رسائل اختبار إلى هاتفك من حساب Twilio الخاص بك أثناء وضع التجريب.

بعد التحقق من بريدك الإلكتروني، سيتم مطالبتك بالتحقق من رقم هاتفك. تقوم Twilio بالكشف تلقائيًا عن موقعك باستخدام I.P. تأكد من إنشاء حسابك باستخدام رقم يمكنك التحقق منه داخل بلدك.

الوصول إلى لوحة تحكم Twilio الخاصة بك:

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

الحصول على بيانات الاعتماد API الخاصة بـ Twilio:

في لوحة تحكم Twilio، انتقل إلى قسم "اللوحة" أو "الإعدادات" للعثور على حساب SID ورمز المصادقة. تعتبر هذه البيانات مهمة للمصادقة على طلباتك عند التفاعل مع واجهة برمجة التطبيقات الخاصة بـ Twilio.

  • حساب SID (مُعرف الحساب): هذا هو معرف فريد لحساب Twilio الخاص بك. يعمل كاسم مستخدم عند إجراء طلبات واجهة برمجة التطبيقات.
  • رمز المصادقة (رمز المصادقة): سيعمل هذا الرمز ككلمة مرور لمصادقة طلبات واجهة برمجة التطبيقات الخاصة بك. احتفظ به بأمان ولا تشاركه علنًا.
  • رقم هاتف Twilio: هذا الرقم مهم، هذا ما ستستخدمه لإرسال SMS وليس رقم هاتفك.

من خلال إكمال هذه الخطوات، ستكون قد قمت بنجاح بإعداد حساب Twilio الخاص بك، وحصلت على بيانات اعتماد API الخاصة بك، وحصلت على رقم هاتفك لإرسال رسائل SMS. الآن أنت جاهز لدمج Twilio مع تطبيق Node.js الخاص بك والبدء في إرسال رسائل SMS برمجيًا.

ملاحظة: إذا انتهت صلاحية حسابك التجريبي المجاني، فستحتاج إلى شراء رقم هاتف ستستخدمه لإرسال SMS.

صورة تعرض صفحة شراء رقم هاتف Twilio

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

تثبيت التبعيات:

لدمج وظيفة SMS الخاصة بـ Twilio في تطبيق Node.js الخاص بك، ستحتاج إلى إعداد مشروع Node.js جديد وتثبيت SDK Twilio لـ Node.js.

قبل أن نستمر في تثبيت التبعيات، لاحظ أننا لن نستخدم أي واجهة مستخدم أو نبني تطبيق واجهة أمامية لاختبار ذلك. ومع ذلك، للاختبار، سنستخدم Apidog كبديل أفضل لـ Postman.

Apidog هي منصة متكاملة لتصميم واجهة برمجة التطبيقات، وتصحيح الأخطاء، والتطوير، والمحاكاة، والاختبار.

إليك دليل مفيد لفهم كامل لما هو Apidog وكيفية استخدامه إلى أقصى حد.  أنشئ حسابًا للتحضير لمرحلة اختبار واجهة برمجة التطبيقات في هذه المقالة.

زر

الآن، لنعد إلى إعداد Node.Js وTwilio. اتبع هذه الخطوات للبدء:

إعداد مشروع Node.js جديد:

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

mkdir twilio-sms-demo
cd twilio-sms-demo

تهيئة مشروع Node.js:

استخدم الأمر التالي لتهيئة مشروع Node.js جديد. سيقوم هذا الأمر بإنشاء ملف package.json الذي سيتتبع تبعيات مشروعك.

npm init -y

هذا الأمر ينشئ ملف package.json بقيم افتراضية. يمكنك تخصيص هذه القيم حسب الحاجة.

تثبيت SDK Twilio لـ Node.js:

الآن، ستحتاج إلى تثبيت SDK Twilio لـ Node.js، الذي يوفر واجهة مريحة للتفاعل مع واجهة برمجة التطبيقات الخاصة بـ Twilio من تطبيقات Node.js الخاصة بك. يمكنك استخدام npm أو yarn لتثبيت SDK.

باستخدام npm:
قم بتشغيل الأمر التالي لتثبيت SDK Twilio لـ Node.js جنبًا إلى جنب مع إطار عمل Express باستخدام npm:

npm install express twilio

باستخدام yarn:
إذا كنت تفضل استخدام yarn، قم بتشغيل الأمر التالي بدلاً من ذلك:

yarn add express twilio

سيقوم هذا الأمر بتنزيل SDK Twilio لـ Node.js جنبًا إلى جنب مع إطار عمل Express وإضافته كتبعيات في ملف package.json الخاص بك.

إذا لم تكن تعلم، إكسبريس هو إطار عمل لـ Node.js يجعل بناء واجهات برمجة التطبيقات أمرًا بسيطًا.

التحقق من التثبيت:

بعد تثبيت SDK Twilio، تأكد من أنه تم إضافته إلى ملف package.json الخاص بك. يجب أن ترى "twilio": "^x.x.x" مدرجة تحت قسم التبعيات.

بالإضافة إلى ذلك، يمكنك التحقق من نجاح التثبيت من خلال التحقق من وجود دليل node_modules في مشروعك. يحتوي هذا الدليل على جميع التبعيات المثبتة، بما في ذلك SDK Twilio.

باتباع هذه الخطوات، تكون قد قمت بنجاح بإعداد مشروع Node.js جديد وتثبيت SDK Twilio لـ Node.js، مما يمهد الطريق لدمج وظيفة SMS الخاصة بـ Twilio في تطبيقك. الآن، أنت جاهز لبدء كتابة الكود لإرسال رسائل SMS باستخدام Twilio في تطبيق Node.js الخاص بك.

كتابة كود Node.js:

الآن بعد أن قمت بإعداد مشروع Node.js الخاص بك وتثبيت SDK Twilio، دعنا نكتب الكود لإرسال رسالة SMS باستخدام Twilio بالاشتراك مع Express.

إنشاء ملف JavaScript جديد:
في دليل مشروعك، أنشئ ملف JavaScript جديد باسم index.js (أو أي اسم آخر تفضله) حيث ستكتب الكود لإرسال رسائل SMS.

touch index.js

بمجرد الانتهاء، افتح دليل/مجلد المشروع في أي بيئة تطوير متكاملة تفضلها. إذا كنت من بين الأشخاص الذين يحبون البساطة، فمن المحتمل أن يكون لديك VsCode مثبتًا. افتح مشروعك، ويجب أن ترى شيئًا مشابهًا لما لدي أدناه؛

صفحة VsCode تعرض مجلد المشروع.

افتح ملف index.js ودعنا نبدأ في كتابة بعض الكود. ألصق الكود التالي في ملف index.js.

const express = require('express');

const accountSid = "your_account_sid";
const authToken = "your_auth_token";
const client = require('twilio')(accountSid, authToken);

في الكود أعلاه، نستورد وحدة express في بداية الملف. كما أنشأنا ثابتين (const) يحملان accountSid وauthToken.  أخيرًا، عرّفنا ثابتًا آخر حيث قمنا باستيراد وحدة Twilio وتمرير accountSid وauthToken إليها.

قد يجادل بعض الأشخاص بأنه من الأفضل إذا قمنا بلف accountSid وAuthToken في ملف .env. يمكنك القيام بذلك إذا أردت، لكنني سأبقي الأمور بسيطة هنا.

كتابة الكود لإرسال رسالة SMS:

الآن، دعنا نكتب الكود لإرسال رسالة SMS باستخدام طريقة messages.create() الخاصة بـ Twilio.

في نفس ملف index.js، أضف الأكواد التالية تحت ما لدينا أولاً.


const app = express()

app.post('/send-sms', (req, res) => {
    

    client.messages
        .create({
            body: 'هذه هي كيفية استقبال رسالة اختبار SMS من Twilio. هل تهتم؟',
            from: '+122345678', // استبدل برقم هاتف Twilio الخاص بك بما في ذلك رمز الدولة.
            to: '+123456789'    // رقم الهاتف الذي تم التحقق منه مع حسابك.
        })
        .then(message => {
            console.log('تم إرسال الرسالة:', message.sid);
            res.send('تم إرسال SMS بنجاح!');
        })
        .catch(error => {
            console.error('خطأ في إرسال SMS:', error);
            res.status(500).send('فشل في إرسال SMS');
        });
});

const PORT = 3000;
app.listen(PORT, () => {
    console.log(`الخادم يعمل على المنفذ ${PORT}`);
});

في هذا الكود:

  • قمنا بإنشاء تطبيق Express وحددنا مسار POST /send-sms للتعامل مع إرسال رسائل SMS.
  • ثم قمنا بتهيئة عميل Twilio باستخدام بيانات اعتماد Twilio الخاصة بنا.
  • باستخدام عميل Twilio، نرسل رسالة SMS إلى رقم الهاتف المستلم المحدد (to) مع نص الرسالة المقدم (body).

هذا كل شيء! لقد كتبت الآن كود Node.js لإرسال رسائل SMS باستخدام Twilio وExpress. لا تنسَ استبدال 'from' و'to' برقم هاتف Twilio الخاص بك ورقم الهاتف الذي تم التحقق منه.

قم بحفظ الملف، افتح الطرفية، واكتب node index.js واضغط على إدخال. إذا سارت الأمور على ما يرام، يجب أن ترى شيئًا مشابهًا؛

نافذة الطرفية تُظهر "الخادم يعمل على المنفذ 3000"

اختبار واجهتنا البرمجية:

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

مرة أخرى، إليك دليل يظهر كيفية البدء مع Apidog.

زر

الآن بعد أن أصبحت على دراية بـ Apidog، قم بتسجيل الدخول وأنشئ مشروعك الأول - أو استخدم الافتراضات التي تم إنشاؤها تلقائيًا لك. بعد ذلك، انقر على "طلب جديد"

صورة تعرض صفحة مشروع Apidog

بعد ذلك، سيتم عرض صفحة لإرسال طلب.

صفحة طلب Apidog

يمكنك أن ترى أنني أرسل POST طلب إلى localhost:3000/send-sms وهذا لأن المسار الذي حددناه على تطبيقنا هو /send-sms ونحن نستخدم جهازنا المحلي.

إذا كتبت المسار الصحيح وضغطت على زر الإرسال في الزاوية العليا اليمنى، فستتلقى ردًا. في حالتي، حصلت على خطأ - وتم تسجيل الخطأ لي في الطرفية.

كان الخطأ بسيطًا، رقم الهاتف الذي حاولت إرسال SMS إليه غير موثوق - لأنني أستخدم حساب تجريبي، أحتاج إلى التحقق من رقمي أو الترقية لإرسال SMS إلى أي رقم هاتف.

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

فشلت جميع واجهات برمجة التطبيقات التي اختبرتها. هل يمكنك تخمين السبب؟
رقم الهاتف المرسل إليه لم يكن موثوقًا به;

بمجرد أن تتحقق أو ترقي حسابك إلى حساب مدفوع، ستتمكن من تلقي SMS.

تعزيز التطبيق (اختياري):

بمجرد أن تقوم بتنفيذ إرسال رسائل SMS باستخدام Twilio وNode.js بنجاح، قد ترغب في استكشاف ميزات إضافية وتحسين موثوقية تطبيقك. إليك بعض التعزيزات الاختيارية التي يمكنك النظر فيها:

استكشاف ميزات Twilio الإضافية:

تقدم Twilio مجموعة واسعة من الميزات إلى جانب إرسال رسائل SMS البسيطة. يمكنك استكشاف القدرات مثل:

خاتمة:

في هذا الدليل، استكشفنا كيفية دمج وظيفة SMS الخاصة بـ Twilio مع Node.js، مما يتيح لك إرسال رسائل SMS برمجيًا من تطبيقاتك. دعونا نستعرض الخطوات الرئيسية المتبعة:

إعداد حساب Twilio: سجل للحصول على حساب Twilio، احصل على بيانات اعتماد واجهة برمجة التطبيقات الخاصة بك (حساب SID ورمز المصادقة)، وتحقق من أرقام الهواتف لإرسال رسائل SMS.

تثبيت التبعيات: إعداد مشروع Node.js جديد، تثبيت SDK Twilio لـ Node.js، وتكوين Twilio باستخدام بيانات اعتمادك.

كتابة كود Node.js: إنشاء ملف JavaScript جديد لإرسال رسائل SMS، استيراد Express ووحدة Twilio، وكتابة الكود لإرسال رسائل SMS باستخدام طريقة messages.create() الخاصة بـ Twilio.

اختبار الكود باستخدام Apidog: رأينا كيف يمكننا استخدام أداة تطوير مثل Apidog لاختبار واجهات برمجة التطبيقات الخاصة بـ Node.js بسهولة دون ضغوط.

باتباع هذه الخطوات، لقد تعلمت كيفية استغلال واجهة برمجة التطبيقات القوية لـ Twilio جنبًا إلى جنب مع مرونة Node.js لدمج وظيفة SMS في تطبيقاتك. عندما تستمر في تطوير مشاريعك، لا تتردد في استكشاف ميزات Twilio الإضافية وتخصيص تطبيقاتك لتلبية الاحتياجات المحددة لمستخدميك.

استمتع بالبرمجة!