/api/v4/social/bulk-posts/{bulkJobId}جلب مهمة نشر جماعي
يعيد حالة مهمة نشر جماعي على وسائل التواصل الاجتماعي، وأعدادها، ونتائج كل صف فيها.
المعلمات
المسار
| الاسم | النوع | مطلوب | الوصف |
|---|---|---|---|
| bulkJobId | string | مطلوب | Job UUID, the `job.id` returned by POST /social/bulk-posts. |
الاستجابات
200The job with its counts and one entry per submitted row.
{ "data": { "getBulkSocialPostJob": { "id": "9b3f18d0-7a26-4c51-8e94-1f0d5c6b7a82", "status": "COMPLETED_WITH_ERRORS", "totalCount": 3, "processedCount": 3, "successCount": 2, "failureCount": 1, "createdAt": "2026-09-28T14:04:52Z", "updatedAt": "2026-09-28T14:05:31Z", "results": [ { "index": 0, "clientReference": "campaign-4471-slot-01", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK"], "status": "CREATED", "socialPostId": "c47a1e58-2b93-4f10-a6d7-58e0c9b12345", "postStatus": "SCHEDULED", "errors": [] }, { "index": 1, "clientReference": "campaign-4471-slot-02", "socialProfileId": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "platforms": ["INSTAGRAM", "FACEBOOK", "LINKEDIN"], "status": "CREATED", "socialPostId": "e08b2d97-6f14-4c22-b7a5-9d3e1f6c4a70", "postStatus": "SCHEDULED", "errors": [] }, { "index": 2, "clientReference": "campaign-4471-slot-03", "socialProfileId": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33", "platforms": ["INSTAGRAM"], "status": "FAILED", "socialPostId": null, "postStatus": null, "errors": [ { "message": "SY95045: No connected channel for INSTAGRAM on this brand", "code": "SY95045", "contextInfo": [{ "key": "platform", "value": "INSTAGRAM" }] } ] } ] } }}401Unauthenticated, missing or invalid API key.
404No job with that ID on this account (`SY95047`).
يقدّم تقريرًا عن مهمة أُنشئت بواسطة POST /social/bulk-posts. استعلم عنه دوريًا حتى يصل status إلى قيمة نهائية، ثم اقرأ results[] لمعرفة ما آل إليه كل صف.
حالة استخدام: مطابقة نتائج تحميل جماعي مع سجلات تقويمك. بعد إرسال دفعة، استعلم من نقطة النهاية هذه كل بضع ثوانٍ. عندما تصبح قيمة status نهائية، مرّ على عناصر results[] وطابق clientReference لكل عنصر مع سجلك، واكتب socialPostId في ذلك السجل. تتضمن الصفوف ذات status: "FAILED" السبب في errors[]؛ أعد إرسال هذه الصفوف فقط في دفعة جديدة.
حالة استخدام: شريط تقدم. تكفي مقارنة processedCount مع totalCount لتشغيل شريط تقدم دون المرور على results[] إطلاقًا، ويمنحك successCount / failureCount النتيجة الإجمالية فور اكتمال المهمة.
حالات المهمة
ملاحظات.
- يُعاد إليك
clientReferenceكما أرسلته في ذلك الصف، أيًا كانت قيمته. وهو أوضح رابط ببياناتك؛ أماindex، وهو موضع الصف في المصفوفة التي أرسلتها بترقيم يبدأ من 0، فهو البديل عند عدم إرسال قيمة. - وصول صف إلى
status: "CREATED"يعني أن المنشور موجود، ولا يعني أنه نُشر — إذ يوضح لكpostStatusالحالة التي وصل إليها المنشور نفسه. تظل الصفوف ذاتPUBLISHوSCHEDULEتمر بعد ذلك بمراحل النشر غير المتزامن: استخدم كلsocialPostIdمعGET /social/posts/{postId}واقرأchannels[]لمعرفة النتيجة الفعلية لكل قناة. - المهمة التي فشلت جميع صفوفها في التحقق من صحتها لن تُنشأ أصلًا، لأن الإنشاء الجماعي يرفض الدفعة قبل وضعها في قائمة الانتظار. وجود مهمة بحالة
FAILEDهنا يعني أن المهمة تعطلت بعد قبولها. - يتغير
updatedAtمع معالجة الصفوف؛ ويستقر بمجرد وصول المهمة إلى حالة نهائية.
curl -X GET 'https://listingsapi.com/api/v4/social/bulk-posts/<bulkJobId>' \ -H "Authorization: API $LISTINGSAPI_KEY"