コンテンツにスキップ

タスクステータス

GET/v1/tasks/{token}

ステータスが completed または failed になるまでタスクをポーリングしてください。推奨間隔: 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_availableboolean結果ファイルをダウンロードできる場合は true。
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