API REST

Trabajos

Consulta el trabajo en segundo plano y recupera todas las páginas de resultados.

GET https://www.ninjabuy.com/api/v1/jobs/{id} requiere el token bearer de la misma cuenta. Los trabajos ausentes, desconocidos o de otras cuentas devuelven 404.

Ciclo de vida

job.statusSignificado
queuedEn espera de comenzar.
runningEl procesamiento está en curso; pueden llegar más resultados.
doneEl procesamiento terminó. Revisa el estado de cada resultado.
failedEl trabajo falló. Lee job.error cuando esté presente.

job incluye id, kind, status y startedAt, además de los campos opcionales progress (done, total), finishedAt, result y error. Las marcas de tiempo son milisegundos desde el inicio de la época Unix. Mientras esté en cola o en ejecución, poll_after_seconds y el encabezado Retry-After indican cuánto esperar; la sugerencia inicial es de 5 segundos.

Los lotes de enlaces tienen kind: "link_mints". Su result final informa total, converted, failed y, opcionalmente, campaign y label. Aquí failed cuenta las entradas respondidas sin conversión; no significa que el estado del trabajo completo sea failed. Las conversiones de hojas tienen kind: "sheet_conversion"; su job.result final contiene conteos y una URL firmada para descargar el XLSX. El esquema de trabajos también contempla sheet_read, picture_copy y resolution_run.

Paginación con cursor

La respuesta contiene job, results, cursor, has_more y request_id. Cada página contiene hasta 50 resultados en el orden de entrada.

  1. Omite cursor para la primera página (desplazamiento 0).
  2. Procesa results y conserva cualquier cursor recibido que no sea nulo.
  3. Cuando has_more sea true, solicita la siguiente página con ?cursor=RETURNED_CURSOR.
  4. Si has_more es false mientras está en cola o en ejecución, espera poll_after_seconds y consulta con el cursor guardado. Pueden llegar más resultados después.
  5. Termina solo cuando el trabajo esté done o failed y se hayan leído todas las páginas de resultados (cursor es null).

El cursor debe ser un único parámetro de consulta de 1 a 6 dígitos (de 0 a 999999). Los parámetros de cursor no válidos o repetidos devuelven 400. No interpretes solo has_more: false como finalización. Consulta los ejemplos de curl.