Rasel / Docs
AR
POST/api/v2/messages/send

إرسال رسالة موحّدة

مسار الإرسال الوحيد لكل القنوات: SMS المحلي والدولي، واتساب الرسمي، واتساب ويب (بما فيه المجموعات الأصلية والصور)، بوت تلغرام، والبريد. `to` نص لمستلم واحد أو مصفوفة حتى 100 مستلم (دفعة رسمية). هيدر قوالب واتساب الرسمي يقبل الملف أو الرابط في نفس الطلب. HTTP 200 عند نجاح كل العناصر، و207 عند فشل جزئي في الدفعة. استخدم Idempotency-Key لإعادة المحاولة الآمنة.

مثال الطلب

صورة واتساب ويب

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","channel":"user_whatsapp_session","messageType":"free_text","content":{"text":"Product photo"},"attachment":{"type":"image","publicUrl":"https://cdn.example.com/catalog/sku-100.png","mimetype":"image/png","fileName":"sku-100.png"}}'

مجموعة واتساب ويب الأصلية

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"120363012345678901@g.us","channel":"user_whatsapp_session","messageType":"free_text","content":{"text":"Hello group"},"conversationContext":{"moduleType":"whatsapp_web","accountId":"session-user-whatsapp-1","chatId":"120363012345678901@g.us"}}'

مجموعة واتساب ويب مع صورة

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"120363012345678901@g.us","channel":"user_whatsapp_session","messageType":"free_text","content":{"text":"Catalog image"},"attachment":{"type":"image","publicUrl":"https://cdn.example.com/catalog/sku-100.png","mimetype":"image/png","fileName":"sku-100.png"},"conversationContext":{"moduleType":"whatsapp_web","accountId":"session-user-whatsapp-1","chatId":"120363012345678901@g.us"}}'

مشترك بوت تلغرام

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"123456789","channel":"telegram_bot","messageType":"free_text","content":{"text":"Hello from the bot"},"conversationContext":{"moduleType":"telegram_bot","accountId":"6800abc123def4567890fedc","chatId":"123456789"}}'

مشترك بوت تلغرام مع صورة

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"123456789","channel":"telegram_bot","messageType":"free_text","content":{"text":"Offer image"},"attachment":{"type":"image","publicUrl":"https://cdn.example.com/offers/banner.jpg","mimetype":"image/jpeg","fileName":"banner.jpg"},"conversationContext":{"moduleType":"telegram_bot","accountId":"6800abc123def4567890fedc","chatId":"123456789"}}'

قالب واتساب تشغيلي مع هيدر ومتغيرات وزر رابط

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963911111111","messageType":"utility","channel":"official_whatsapp","template":{"key":"order_ready_notice","variablesIndexed":["أحمد","A-1042","25000"],"buttonVariables":[{"index":0,"subType":"url","text":"A-1042"}],"headerMediaUrl":"https://cdn.example.com/order-ready.jpg","headerMediaType":"image"}}'

إرسال SMS محلي سريع

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","channel":"local_sms","messageType":"free_text","content":{"text":"Hello, this is a test message from Rasel."}}'

قالب واتساب رسمي مع رابط الهيدر

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","channel":"official_whatsapp","messageType":"marketing","template":{"key":"bookingconfirmation6","language":"ar","variablesIndexed":["أحمد"],"headerMediaUrl":"https://cdn.example.com/booking.pdf","headerMediaType":"document"}}'

رمز OTP مع اختيار القناة تلقائياً

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","messageType":"otp","channel":"auto","content":{"otpCode":"123456"},"sender":{"id":"6800abc123def4567890fedc"}}'

رمز OTP من قالب

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","messageType":"otp","template":{"key":"verification_code","variablesIndexed":["123456"]}}'

إرسال نص مختصر

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","text":"Hello"}'

رسالة SMS محلية نص حر

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","messageType":"free_text","channel":"local_sms","content":{"text":"Hello, this is a sample API message"}}'

قالب تشغيلي بمتغيرات مسماة

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","messageType":"utility","template":{"id":"64abc123...","variablesNamed":{"1":"Ahmed","2":"Order #456"}}}'

قالب تسويقي على واتساب الرسمي

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963912345678","messageType":"marketing","channel":"official_whatsapp","template":{"key":"promo_offer","variablesIndexed":["50%","End of month"]}}'

مشترك بوت تلغرام

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"123456789","channel":"telegram_bot","messageType":"free_text","content":{"text":"Hello from the bot"},"conversationContext":{"moduleType":"telegram_bot","accountId":"6800abc123def4567890fedc","chatId":"123456789"}}'

مشترك بوت تلغرام مع صورة

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"123456789","channel":"telegram_bot","messageType":"free_text","content":{"text":"Offer image"},"attachment":{"type":"image","publicUrl":"https://cdn.example.com/offers/banner.jpg","mimetype":"image/jpeg","fileName":"banner.jpg"},"conversationContext":{"moduleType":"telegram_bot","accountId":"6800abc123def4567890fedc","chatId":"123456789"}}'

قالب واتساب رسمي تشغيلي مع وسائط الهيدر

curl --location 'https://raselsms.com/api/v2/messages/send' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"to":"+963911111111","messageType":"utility","channel":"official_whatsapp","template":{"key":"order_ready_notice","variablesIndexed":["أحمد","A-1042","25000"],"buttonVariables":[{"index":0,"subType":"url","text":"A-1042"}],"headerMediaUrl":"https://cdn.example.com/order-ready.jpg","headerMediaType":"image"}}'

طلب HTTP

POST /api/v2/messages/send

ترويسات الطلب

الترويسةالنوعالوصف
X-API-Keystringمفتاح Rasel API. أرسله في كل طلب موثّق ما عدا الويب هوك الوارد. *
Idempotency-Keystringمفتاح اختياري فريد لإعادة المحاولة الآمنة. يتقدّم على idempotencyKey في الجسم. يمكن إعادة نفس الاستجابة لمدة 24 ساعة عند تفعيل خاصية Idempotency.

جسم الطلب

الحقلالنوعالوصفمثال
tostringالمستلم: رقم دولي E.164، أو بريد عندما تكون القناة email، أو معرّف مجموعة واتساب، أو معرّف محادثة تلغرام، أو مصفوفة نصوص حتى 100 مستلم للدفعة الرسمية. *
textstringاختصار يحوَّل إلى free_text مع اختيار القناة تلقائياً عندما لا يُرسل content.text.
channelauto | local_sms | int_sms | user_whatsapp_session | system_whatsapp_sessions | official_whatsapp | official_whatsapp_otp | telegram_otp | telegram_bot | email_userقناة التسليم. في الإرسال الموحّد فضّل auto أو local_sms أو int_sms أو official_whatsapp أو جلسات واتساب ويب أو telegram_bot أو email_user. في التحقق احذف الحقل للاختيار التلقائي، ولا ترسل sms أو whatsapp أو auto وحدها.
messageTypeotp | utility | marketing | free_textتصنيف الرسالة: otp أو utility أو marketing أو free_text.
contentobjectفي الإرسال الموحّد: كائن المحتوى (نص أو رمز OTP أو موضوع البريد). في القوالب: متن SMS أو الرسالة، أو HTML/نص البريد.
attachmentobjectوسائط صادرة لواتساب ويب وبووتات تلغرام. تلغرام يتطلب رابط HTTPS عاماً في publicUrl.
conversationContextobjectمطلوب لـ telegram_bot. لمجموعات واتساب ويب ضع chatId على JID المجموعة الأصلية. accountId هو اسم الجلسة أو معرّف بوت تلغرام.
templateobjectمرجع القالب (id أو key) واللغة والمتغيرات وهيدر اختياري لهذا الإرسال.
optionsobjectخيارات إرسال اختيارية مثل scheduleAt وidempotencyKey وبيانات العميل.
senderobjectتجاوز اختياري للمرسل. إن حُذف يستخدم رسيل المرسل المعتمد الافتراضي ثم مرسل المنصة.
officialSenderIdstringمعرّف مرسل واتساب الرسمي من /api/v2/official-senders. مرادف sender.officialId. استخدم platform لرقم ميتا الافتراضي عند قائمة القوالب.

حقول الاستجابة

الحقلالنوعالوصفمثال
successtrueصحيح عندما ينجح الإجراء، أو عندما ينجح مستلم واحد على الأقل في الدفعة.
requestIdstringمعرّف طلب يولّده الخادم للتتبع والدعم.
statussent | queued | scheduledحالة التسليم أو السجل. في الإرسال: sent أو queued أو scheduled. في الموارد الأخرى هي فلتر الحالة أو قيمتها.
scheduledAtstring (date-time)يظهر عندما تكون الحالة scheduled؛ وقت التسليم المؤجّل.
resolvedobjectالقناة والمزوّد ومصدر المرسل بعد التوجيه.
billingobjectالتكلفة التقديرية والعملة لهذا الإرسال.
trackingobjectمعرّفات التتبع لدى المزوّد والداخلية، بما فيها التسليم لكل قناة عند التوزيع.

رموز الحالة

الحالةالوصف
200نجاح.
202قُبل الطلب وأُضيف إلى الطابور.
207اكتملت الدفعة بنجاح وفشل مختلط.
400طلب غير صالح، أو خطأ تحقق، أو المورد لا يمكن استخدامه في هذه الحالة.
401مفتاح API مفقود أو غير صالح.
402رصيد المحفظة أو حصة الباقة لا يكفي.
403الهاتف غير موثّق، أو الصلاحية ناقصة، أو الحساب لا يستطيع تنفيذ هذا الإجراء.
409تعارض، مثل إعادة استخدام مفتاح Idempotency بجسم مختلف، أو جلسة غير جاهزة.
429تم تجاوز حد المعدل، أو وصل عدد محاولات التحقق إلى الحد الأقصى.
502فشل المزوّد الخارجي في معالجة الطلب.
503المزوّد غير متاح أو انتهت مهلة الاتصال.

جرّب الطلب

قد يخصم هذا الطلب من رصيد المحفظة أو حصة الباقة.

الاستجابة

نفّذ طلباً لعرض الاستجابة.