تخطَّ إلى المحتوى

جلب حالة المهمة

GET/v1/tasks/{token}

استعلم عن المهمة حتى تصبح مكتملة أو فاشلة. الفاصل الموصى به: 3–5 ثوان.

الرمز الذي تستعلم به وتنزّل عبره. وهو المعامل {token} في مسار نقاط نهاية المهمة.

{
"task_id": "xKj9aP3qLm7v",
"status": "completed",
"progress": 100,
"product": "YOUR_PRODUCT_SLUG",
"country": "CN",
"submitted": 5000,
"prefiltered": 0,
"deduped": 0,
"total": 5000,
"processed": 5000,
"valid": 3800,
"invalid": 1200,
"unknown": 0,
"unknown_processed": 0,
"unknown_unprocessed": 0,
"stage": "completed",
"stage_seconds": 12,
"last_progress_at": "2026-09-05T10:00:12+00:00",
"failure_message": null,
"cost_deducted": "0.500000",
"cost_refunded": "0.000000",
"result_available": true,
"result_expires_at": "2026-05-02T10:00:00+00:00",
"created_at": "2026-05-01T10:00:00+00:00"
}
statusالوصف
pendingفي الصف، بانتظار الموارد.
processingالفحص قيد التنفيذ.
completedاكتمل الفحص. النتيجة جاهزة للتنزيل.
failedفشل التنفيذ.
الحقلالنوعالوصف
task_idstringالرمز الذي تستعلم به وتنزّل عبره. وهو المعامل {token} في مسار نقاط نهاية المهمة.
progressintegerنسبة الإنجاز، من 0 إلى 100.
statusstringpending أو processing أو completed أو failed.
productstringالمعرّف النصي للمنتج الذي أُرسلت به المهمة — راجع قائمة منتجات الدفعات.
countrystring | nullالدولة التي أُرسلت بها المهمة، أو null لمنتجات البريد الإلكتروني.
submittedintegerالصفوف المستلمة في الإرسال.
prefilteredintegerالصفوف المستبعدة قبل الفحص — أسطر مشوّهة مثلًا.
dedupedintegerالصفوف المكررة المحذوفة.
totalintegerالصفوف الموضوعة فعليًا في قائمة انتظار الفحص، بعد الفلترة المسبقة وإزالة التكرار.
processedintegerالصفوف التي أنهتها القناة المصدر.
validintegerالصفوف المؤكدة كمسجّلة.
invalidintegerالصفوف المؤكدة كغير مسجّلة.
unknownintegerالصفوف التي تعذّر على المزوّد حسمها.
unknown_processedintegerالصفوف المجهولة التي أُعيدت محاولتها وسُوّيت.
unknown_unprocessedintegerالصفوف المجهولة التي لا تزال دون حسم. ويُسترد مقابلها.
stagestring | nullاسم المرحلة الداخلية أثناء تشغيل المهمة. للتشخيص فقط — لا تبنِ عليه تفريعات.
stage_secondsinteger | nullالثواني المستغرقة في المرحلة الحالية.
last_progress_atstring (ISO 8601) | nullوقت آخر تقدّم. وتوقّف الطابع الزمني عن التحرك يعني أن المهمة عالقة لا بطيئة فحسب.
failure_messagestring | nullسبب فشل المهمة، أو null.
cost_deductedstringالمبلغ المخصوم عن المهمة، على هيئة نص.
cost_refundedstringالمبلغ المسترد عن صفوف لم تُفحص قط، على هيئة نص.
result_availablebooleantrue عندما يمكن تنزيل ملف النتائج.
result_expires_atstring (ISO 8601) | nullوقت توقف إمكانية تنزيل ملف النتائج.
created_atstring (ISO 8601)وقت إنشاء المهمة.

submitted هو ما أرسلته؛ وtotal هو ما جرى فحصه فعليًا. ويختلفان كلما وُجدت صفوف مشوّهة أو مكررة، والفارق يساوي تمامًا prefiltered + deduped.

يُحتسب cost_deducted على total، ويغطي cost_refunded الصفوف التي لم تُحسم أبدًا — وهي فئة unknown_unprocessed. ولا يُحتسب إلا الحكمان valid وinvalid.

Terminal window
# Poll until the task leaves pending/processing. `last_progress_at` going
# stale is the real failure signal, not elapsed time.
for i in $(seq 1 120); do
body=$(curl -s -X GET "https://api.zelnum.com/api/v1/tasks/xKj9aP3qLm7v" \
-H "X-API-Key: YOUR_KEY_HERE")
status=$(printf '%s' "$body" | jq -r '.status')
printf '%s %s%%\n' "$status" "$(printf '%s' "$body" | jq -r '.progress')"
case "$status" in
completed) printf '%s' "$body" | jq .; break ;;
failed) printf '%s' "$body" | jq .; exit 1 ;;
esac
sleep 5
done