إرسال SMS باستخدام TypeScript: مكتبات API للتكامل مع مزودي خدمة SMS

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

إرسال SMS باستخدام TypeScript: نظرة عامة على مكتبات API للتكامل مع مزودي خدمة SMS



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



لماذا TypeScript لإرسال SMS؟

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

  • الإكمال التلقائي والاقتراحات في بيئة التطوير المتكاملة (IDE) للطرق ومعاملات الطلبات.
  • كتابة أنواع الاستجابات من بوابة SMS، مما يقلل من عدد أخطاء وقت التشغيل.
  • عمل آمن مع العمليات غير المتزامنة من خلال async/await و Promise.


المكتبات الرئيسية لإرسال SMS في TypeScript

توجد العديد من المكتبات الشائعة التي توفر أنواع TypeScript وواجهات سهلة للتكامل مع مزودي خدمة SMS. سنستعرض اثنتين من الأكثر شيوعًا: Twilio و Vonage (المعروفة سابقًا باسم Nexmo).



1. مكتبة Twilio

Twilio هي إحدى الشركات الرائدة في سوق الاتصالات السحابية. يدعم SDK الرسمي twilio TypeScript بشكل كامل ويوفر أنواعًا جاهزة.

التثبيت:

npm install twilionpm install @types/twilio --save-dev  // إذا لم يتم تثبيتها تلقائيًا


مثال على إرسال SMS باستخدام TypeScript مع Twilio:

import { Twilio } from 'twilio';

// تهيئة العميلconst accountSid = process.env.TWILIO_ACCOUNT_SID!;const authToken = process.env.TWILIO_AUTH_TOKEN!;const client = new Twilio(accountSid, authToken);

// دالة إرسال غير متزامنةasync function sendSms(to: string, body: string): Promise<string> { try { const message = await client.messages.create({ body: body, from: process.env.TWILIO_PHONE_NUMBER, // رقمك بالتنسيق +1234567890 to: to }); console.log(`تم إرسال SMS، المعرف: ${message.sid}`); return message.sid; } catch (error) { console.error('خطأ في إرسال SMS:', error); throw error; }}

// الاستخدامsendSms('+71234567890', 'رمز التحقق الخاص بك: 1234') .then(sid => console.log('نجاح:', sid)) .catch(err => console.error('خطأ:', err));


2. مكتبة Vonage (المعروفة سابقًا باسم Nexmo)

تقدم Vonage أيضًا SDK قويًا مع دعم TypeScript. التثبيت والتكوين الأساسي:

npm install @vonage/server-sdk


مثال على إرسال SMS عبر Vonage باستخدام TypeScript:

import { Vonage } from '@vonage/server-sdk';import { Auth } from '@vonage/auth';

// إعداد المصادقةconst vonage = new Vonage(new Auth({ apiKey: process.env.VONAGE_API_KEY!, apiSecret: process.env.VONAGE_API_SECRET!}));

async function sendSmsVonage(to: string, text: string): Promise<void> { try { const response = await vonage.sms.send({ to: to, from: 'YourApp', text: text }); console.log('تم إرسال الرسالة:', response); } catch (error) { console.error('خطأ:', error); }}

// استدعاء الدالةsendSmsVonage('71234567890', 'مرحبًا من TypeScript!');


إنشاء خدمة SMS عامة باستخدام TypeScript

للمرونة، يمكنك إنشاء كلاس مجرد أو واجهة (interface) تسمح بالتبديل بسهولة بين المزودين:

// sms.interface.tsexport interface SmsProvider {    sendSms(to: string, message: string): Promise<                    

توصيات