Rasel / Docs
AR
POST/api/v2/messages/bulk/{jobId}/resume

استئناف مهمة متوقفة

يستأنف مهمة paused فقط. بلا جسم. إن كان السبب insufficient_balance وما زال الحساب عاجزاً عن إرسال رسالة واحدة فالرد 402 وتبقى المهمة متوقفة. إن كان الاشتراك غير نشط تفشل الصفوف المتبقية بالرمز SUBSCRIPTION_INACTIVE وتصبح المهمة completed. هذا الطلب قد يبدأ الإرسال ويخصم من الحساب.

متى تستخدمه. بعد شحن الرصيد أو زوال حد المزود.

مثال الطلب

مثال صحيح: صحيح: عادت إلى الطابور

curl --location 'https://raselsms.com/api/v2/messages/bulk/64b0c0ff0000000000000001/resume' \--header 'X-API-Key: YOUR_API_KEY' \--header 'Content-Type: application/json'

مثال خاطئ: خطأ: الرصيد لا يكفي

curl --location 'https://raselsms.com/api/v2/messages/bulk/64b0c0ff0000000000000001/resume' \--header 'X-API-Key: YOUR_API_KEY' \--header 'Content-Type: application/json'

مثال الاستجابة

200 — صحيح: عادت إلى الطابور

{  "success": true,  "job": {    "id": "64b0c0ff0000000000000001",    "name": "Morning notices",    "status": "queued",    "messagesPerSecond": 10,    "pauseReason": null,    "total": 2,    "validatedCount": 2,    "counts": {      "pending": 1,      "sent": 1,      "failed": 0,      "cancelled": 0    },    "errorCode": null,    "errorMessage": null,    "createdAt": "2026-09-24T12:00:00.000Z"  }}

402 — خطأ: الرصيد لا يكفي

{  "success": false,  "code": "INSUFFICIENT_BALANCE",  "error": "The account cannot send one message"}

200 — استؤنفت المهمة أو أُغلقت لأن الاشتراك غير نشط.

{  "success": true,  "job": {    "id": "64b0c0ff0000000000000001",    "name": "Morning notices",    "status": "queued",    "messagesPerSecond": 10,    "pauseReason": null,    "total": 2,    "validatedCount": 2,    "counts": {      "pending": 0,      "sent": 0,      "failed": 0,      "cancelled": 0    },    "errorCode": null,    "errorMessage": null,    "createdAt": "2026-09-24T12:00:00.000Z"  }}

409 — المهمة ليست متوقفة. الرمز JOB_NOT_PAUSED.

{  "success": false,  "code": "JOB_NOT_PAUSED",  "error": "Job is not paused"}

404 — لا توجد مهمة بهذا المعرّف لهذا الحساب. الرمز JOB_NOT_FOUND.

{  "success": false,  "code": "JOB_NOT_FOUND",  "error": "Job was not found"}

401 — مفتاح API مفقود أو غير صالح.

{  "success": false,  "requestId": "msgreq_1739012345678_abc123",  "code": "UNAUTHORIZED",  "error": "Missing or invalid API key"}

403 — الهاتف غير موثّق أو تنقص صلاحية messages:create. الرمز FORBIDDEN.

{  "success": false,  "code": "FORBIDDEN",  "error": "Phone not verified or missing permission"}

429 — تم تجاوز حد الطلبات. انتظر Retry-After إن وُجد.

{  "success": false,  "requestId": "msgreq_1739012345678_abc123",  "code": "RATE_LIMITED",  "error": "Rate limit exceeded",  "retryAfterSeconds": 30}

طلب HTTP

POST /api/v2/messages/bulk/{jobId}/resume

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

الترويسةالنوعالوصف
X-API-Keystringمفتاح Rasel API. أرسله في كل طلب موثّق ما عدا الويب هوك الوارد. *

معاملات المسار

الحقلالنوعالوصف
jobIdstringمعرّف المهمة من رد الإنشاء. المهمة ظاهرة لصاحب المفتاح فقط. *

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

الحقلالنوعالوصفمثال
successenumصحيح عندما ينجح الإجراء، أو عندما ينجح مستلم واحد على الأقل في الدفعة. *
jobobjectتفاصيل المهمة. الحقول التالية تخص هذه المهمة فقط ولا تظهر لحساب آخر. *
job.idstringمعرّف المورد. *
job.namestringالاسم الظاهر أو معرّف القالب الإنجليزي الصغير، حسب المسار. *
job.statusenumحالة التسليم أو السجل. في الإرسال: sent أو queued أو scheduled. في الموارد الأخرى هي فلتر الحالة أو قيمتها. *
job.messagesPerSecondintegerسقف السرعة: عدد صحيح من 1 إلى 10. الصفر والكسور وما فوق 10 يرفض الطلب قبل إنشاء المهمة. السقف مشترك بين مهام الحساب حسب ترتيب إنشائها. *
job.pauseReasonenumيظهر فقط والمهمة paused. insufficient_balance وprovider_rate_limit يوقفان النافذة الحالية. user يعني أن الحساب طلب الإيقاف. *
job.totalintegerإجمالي الصفوف المطابقة. *
job.validatedCountintegerكم صفاً اكتمل فحصه بينما الحالة validating. *
job.countsobjectعدّادات الصفوف. تبقى منفصلة حتى لو اكتملت المهمة وفيها صفوف فاشلة. *
job.counts.pendingintegerصفوف لم تُرسل بعد. *
job.counts.sentintegerصفوف قُبلت للتسليم. تظهر أيضاً في سجل الرسائل العادي. *
job.counts.failedintegerصفوف فشلت. المهمة المكتملة قد تبقى فيها صفوف فاشلة. *
job.counts.cancelledintegerصفوف أُلغيت قبل الإرسال. *
job.errorCodestringرمز المهمة عندما تكون rejected: VALIDATION_FAILED (فشل فحص صف أو أكثر ولم يُرسل شيء)، أو INSUFFICIENT_BALANCE (الحساب لا يستطيع إرسال رسالة واحدة ولم يُرسل شيء)، أو INTAKE_INCOMPLETE (التخزين لم يكتمل ولم يُرسل شيء). *
job.errorMessagestringشرح قصير آمن لعرضه لصاحب الحساب. طابق قراراتك على code لا على هذا النص. *
job.createdAtstringوقت الإنشاء.

رموز الحالة

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

جرّب الطلب

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

المتغيرات

معرّف المهمة من رد الإنشاء. المهمة ظاهرة لصاحب المفتاح فقط.

الطلب

{}

الاستجابة

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