API REST

Tâches

Interrogez les tâches en arrière-plan et récupérez toutes les pages de résultats.

GET https://www.ninjabuy.com/api/v1/jobs/{id} nécessite le jeton bearer du même compte. Les tâches absentes, inconnues ou appartenant à d'autres comptes renvoient 404.

Cycle de vie

job.statusSignification
queuedEn attente de démarrage.
runningLe traitement est en cours ; d'autres résultats peuvent arriver.
doneLe traitement est terminé. Vérifiez le statut de chaque résultat.
failedLa tâche a échoué. Lisez job.error s'il est présent.

job inclut id, kind, status et startedAt, ainsi que les champs facultatifs progress (done, total), finishedAt, result et error. Les horodatages sont en millisecondes depuis le début de l'époque Unix. Pendant l'attente ou l'exécution, poll_after_seconds et l'en-tête Retry-After indiquent le délai à respecter ; la suggestion initiale est de 5 secondes.

Les lots de liens ont kind: "link_mints". Leur result final indique total, converted, failed et, éventuellement, campaign et label. Ici, failed compte les entrées ayant reçu une réponse sans conversion ; cela ne signifie pas que le statut de la tâche entière est failed. Les conversions de feuilles ont kind: "sheet_conversion" ; leur job.result final contient des compteurs et une URL signée de téléchargement du XLSX. Le schéma des tâches couvre aussi sheet_read, picture_copy et resolution_run.

Pagination par curseur

La réponse contient job, results, cursor, has_more et request_id. Chaque page contient jusqu'à 50 résultats dans l'ordre des entrées.

  1. Omettez cursor pour la première page (décalage 0).
  2. Traitez results et conservez tout cursor non nul reçu.
  3. Lorsque has_more vaut true, demandez la page suivante avec ?cursor=RETURNED_CURSOR.
  4. Si has_more vaut false pendant l'attente ou l'exécution, attendez poll_after_seconds, puis interrogez avec le curseur conservé. D'autres résultats peuvent arriver ensuite.
  5. Terminez uniquement lorsque la tâche est done ou failed et que toutes les pages de résultats ont été lues (cursor vaut null).

Un curseur doit être un paramètre de requête unique de 1 à 6 chiffres (de 0 à 999999). Des paramètres de curseur invalides ou répétés renvoient 400. Ne considérez pas has_more: false seul comme une fin de traitement. Consultez les exemples curl.