واجهة REST البرمجية

المهام

استعلم عن المهام التي تعمل في الخلفية واجمع كل صفحات النتائج.

يتطلب GET https://www.ninjabuy.com/api/v1/jobs/{id} رمز bearer الخاص بالحساب نفسه. المهام المفقودة أو غير المعروفة أو التابعة لحسابات أخرى تُرجع 404.

دورة الحياة

job.statusالمعنى
queuedبانتظار البدء.
runningالمعالجة جارية؛ قد تصل نتائج إضافية.
doneانتهت المعالجة. تحقّق من حالة كل نتيجة.
failedفشلت المهمة. اقرأ job.error إن وُجد.

يتضمن job الحقول id وkind وstatus وstartedAt، بالإضافة إلى الحقول الاختيارية progress (done وtotal) وfinishedAt وresult وerror. الطوابع الزمنية بالمللي ثانية منذ بداية حقبة Unix. أثناء الانتظار أو التشغيل، يخبرك poll_after_seconds وترويسة Retry-After بمدة الانتظار؛ والاقتراح الأولي هو 5 ثوانٍ.

دفعات الروابط لها kind: "link_mints". ويعرض result النهائي لها total وconverted وfailed، واختياريًّا campaign وlabel. هنا يحسب failed المدخلات التي تمت الإجابة عنها دون تحويل؛ ولا يعني أن حالة المهمة بأكملها failed. تحويلات الجداول لها kind: "sheet_conversion"؛ ويحتوي job.result النهائي لها على أعداد ورابط تنزيل موقَّع لملف XLSX. ويشمل مخطط المهام أيضًا sheet_read وpicture_copy وresolution_run.

التصفح بالمؤشر

تحتوي الإجابة على job وresults وcursor وhas_more وrequest_id. تحتوي كل صفحة على ما يصل إلى 50 نتيجة بترتيب المدخلات.

  1. احذف cursor للصفحة الأولى (الإزاحة 0).
  2. عالج results واحتفظ بأي cursor مُرجَع ليس null.
  3. عندما تكون قيمة has_more هي true، اطلب الصفحة التالية باستخدام ?cursor=RETURNED_CURSOR.
  4. إذا كانت قيمة has_more هي false أثناء الانتظار أو التشغيل، انتظر poll_after_seconds، ثم استعلم مجددًا بالمؤشر المحفوظ. قد تصل نتائج إضافية لاحقًا.
  5. لا تنتهِ إلا عندما تكون المهمة done أو failed وتكون قد قرأت كل صفحات النتائج (cursor قيمته null).

يجب أن يكون المؤشر معامل استعلام واحدًا مكوّنًا من 1 إلى 6 أرقام (من 0 إلى 999999). معاملات المؤشر غير الصالحة أو المكررة تُرجع 400. لا تعتبر has_more: false وحده دليلًا على الاكتمال. راجع أمثلة curl.