POST https://api.acedata.cloud/webextrator/tasks
تستخدم واجهة برمجة تطبيقات استعلام مهام WebExtrator لاستعلام نتائج مهام render / extract التاريخية. الاستخدامات الشائعة:
- التحقق من envelope الكامل بعد انتهاء المهمة غير المتزامنة (بخلاف دفع
callback_urlأو الاستعلام النشط). - تدقيق ما تم تقديمه من قبل — تسجل سجلات المهام كل من
requestالأصلية وresponseالنهائية. - إعادة تعبئة جماعية — سحب عدة سجلات مرة واحدة حسب
idأوtrace_id.
المصادقة
معلمات الطلب
جسم الطلب مقسم حسبaction إلى نوعين من الإجراءات:
action: "retrieve" — استعلام فردي
يتم تمرير
id أو trace_id كاختيار واحد.
action: "retrieve_batch" — استعلام جماعي
يتم تمرير
ids أو trace_ids كاختيار واحد.
استجابة فردية
{ "task": null } (HTTP 200، وليس 404).
توضح حقول التوقيت في كائن task كما يلي.
created_at، وقت إنشاء المهمة، طابع زمني Unix (ثوانٍ، عائم).started_at، وقت بدء تنفيذ المهمة، طابع زمني Unix (ثوانٍ، عائم). يكونnullعندما لا تبدأ المهمة بعد.finished_at، وقت انتهاء المهمة، طابع زمني Unix (ثوانٍ، عائم). يكونnullعندما لا تكتمل المهمة.elapsed، الوقت المستغرق لتنفيذ المهمة، بوحدة الثواني (عائم، يحتفظ بـ 3 أرقام عشرية). يكونnullعندما لا تكتمل المهمة.
استجابة جماعية
tasks.
أمثلة
استعلام فردي حسب task_id
استعلام فردي حسب trace_id
استعلام جماعي
بايثون (requests) — الاستعلام حتى الاكتمال
Node.js (fetch) — استعلام envelope الكامل بعد تلقي الاستدعاء
استجابة الخطأ
نصائح ومشاكل
- يمكنك تخصيص
trace_idإذا كنت ترغب في ذلك. في طلب render/extract الأصلي، قم بتحميل?trace_id=…(QueryString)، واجعله متوافقًا مع معرف عملك (مثل معرف تشغيل سير العمل)، وبعد ذلك يمكنك استخدام معرف العمل للبحث عن المهام. إذا لم يتم تمريره، سيتم إنشاء UUID تلقائيًا بواسطة الخادم. - مدة الاحتفاظ 7 أيام. المهام الأقدم ستعيد
task: null— إذا كنت بحاجة إلى أرشفة طويلة الأمد، يرجى تخزينها بنفسك. - استعلام المهام مجاني. يمكنك الاستعلام عن عدد المرات التي تريدها، فقد تم دفع الرسوم بالفعل عند استدعاء render/extract الأصلي.
- يفضل استخدام الأسلوب غير المتزامن + رد الاتصال، بدلاً من الاستطلاع. إذا كان العمل يسمح بذلك، قم بتمرير
callback_urlفي الطلب الأصلي، ليقوم النظام بدفع envelope إليك، مما يكون أكثر كفاءة من الاستطلاع كل 2 ثانية.

