Pular para o conteúdo

Status da Tarefa

GET/v1/tasks/{token}

Faça polling da tarefa até o status ser completed ou failed. Intervalo recomendado: 3–5 segundos.

Token usado para consultar e baixar. É o parâmetro de caminho {token} dos endpoints de tarefa.

{
"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"
}
statusDescrição
pendingNa fila, aguardando recursos.
processingDetecção em andamento.
completedConcluído. O resultado está pronto para download.
failedExecução falhou.
CampoTipoDescrição
task_idstringToken usado para consultar e baixar. É o parâmetro de caminho {token} dos endpoints de tarefa.
progressintegerPercentual concluído, de 0 a 100.
statusstringpending, processing, completed ou failed.
productstringSlug do produto com que a tarefa foi enviada — veja a lista de produtos em lote.
countrystring | nullPaís com que a tarefa foi enviada, ou null para produtos de e-mail.
submittedintegerLinhas recebidas no envio.
prefilteredintegerLinhas descartadas antes da detecção — linhas malformadas, por exemplo.
dedupedintegerLinhas duplicadas removidas.
totalintegerLinhas realmente enfileiradas para detecção, após a pré-filtragem e a deduplicação.
processedintegerLinhas que o canal upstream concluiu.
validintegerLinhas confirmadas como registradas.
invalidintegerLinhas confirmadas como não registradas.
unknownintegerLinhas que o provedor não conseguiu resolver.
unknown_processedintegerLinhas desconhecidas que foram reprocessadas e concluídas.
unknown_unprocessedintegerLinhas desconhecidas ainda não resolvidas. Estas são reembolsadas.
stagestring | nullNome interno do estágio enquanto a tarefa está em execução. Apenas para diagnóstico — não ramifique com base nele.
stage_secondsinteger | nullSegundos gastos no estágio atual.
last_progress_atstring (ISO 8601) | nullQuando o progresso avançou pela última vez. Um timestamp que para de avançar significa que a tarefa está travada, e não apenas lenta.
failure_messagestring | nullMotivo pelo qual a tarefa falhou, ou null.
cost_deductedstringValor deduzido pela tarefa, como string.
cost_refundedstringValor reembolsado por linhas que nunca foram verificadas, como string.
result_availablebooleantrue quando o arquivo de resultado pode ser baixado.
result_expires_atstring (ISO 8601) | nullQuando o arquivo de resultado deixa de poder ser baixado.
created_atstring (ISO 8601)Quando a tarefa foi criada.

submitted é o que você enviou; total é o que foi realmente verificado. Eles diferem sempre que houver linhas malformadas ou duplicadas, e a diferença é exatamente prefiltered + deduped.

cost_deducted é cobrado sobre total, e cost_refunded cobre as linhas que nunca foram resolvidas — o grupo unknown_unprocessed. Apenas os veredictos valid e invalid são cobrados.

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