Aller au contenu

Statut de la tâche

URL de base https://api.accessful.de/api/v1/upload-service. Chaque requête nécessite l’en-tête X-API-Key — voir Authentification.

GET /job-status/{caseId}

200 OK — un cas terminé :

{ "jobStatus": "completed", "stage": "finished", "score": 87 }

score est la qualité d’accessibilité du résultat, 0–100 (significatif une fois completed). 404 est renvoyé pour un caseId inconnu.

jobStatus Signification
queued En attente dans la file.
running En cours de traitement.
completed Terminé — résultat prêt à être téléchargé. terminal
failed Le traitement a échoué. terminal
analyzer_failed L’étape d’analyse d’accessibilité a échoué. terminal
canceled La tâche a été annulée. terminal
quota_pending En attente d’une vérification de quota asynchrone.
quota_exceeded Rejeté — quota contractuel épuisé. terminal

Lors de l’interrogation, arrêtez-vous dès que vous voyez un état terminal.

Outre jobStatus, chaque réponse comporte un champ stage — la phase fine du pipeline, orthogonale au statut global. Utilisez-le pour afficher la progression au-delà d’un simple « running » : la longue phase de remédiation par IA se distingue de l’analyse.

stage Signification
queued Accepté, en attente du démarrage de la première analyse.
analyzing L’analyse initiale du fichier téléversé est en cours.
resolving La remédiation par IA du fichier est en cours.
revalidating La ré-analyse du fichier remédié est en cours.
finished Traitement terminé ; score reflète le fichier final.
failed Traitement arrêté sur une erreur irrécupérable.

Tant qu’un cas est queued, la réponse vous indique aussi où il se situe dans la file d’analyse — la même « position d’attente » en temps réel que celle affichée par l’interface web — afin que vous puissiez présenter un « 7 sur 23, ~5 min » parlant plutôt qu’un « queued » statique.

200 OK — un cas encore en attente :

{
"jobStatus": "queued",
"stage": "queued",
"score": 0,
"queuePosition": 7,
"queueTotal": 23,
"estimatedWaitSeconds": 300
}
Champ Type Notes
queuePosition integer Rang dans la file à partir de 1 (1 = prochain à être traité).
queueTotal integer Nombre total de cas actuellement en attente (longueur de la file).
estimatedWaitSeconds integer Estimation indicative du temps d’attente en secondes, dérivée de la profondeur de la file et du débit de l’analyseur. Peut être absente si aucune estimation n’est disponible.

La position est un instantané en temps réel « best-effort » recalculé à chaque requête : elle ne fait que diminuer à mesure que les cas en amont sont traités, et un seul retrait de la file décale tous ceux qui suivent. Comme alternative en mode push, enregistrez le webhook case.queued pour recevoir la position de départ au moment où un cas est accepté.