작업
백그라운드 작업을 조회하고 모든 결과 페이지를 수집하세요.
GET https://www.ninjabuy.com/api/v1/jobs/{id}에는 동일 계정의 Bearer 토큰이 필요합니다. 없거나 알 수 없거나 다른 계정 소유인 작업은 404를 반환합니다.
수명 주기
job.status | 의미 |
|---|---|
queued | 시작 대기 중입니다. |
running | 작업 중이며 결과가 추가될 수 있습니다. |
done | 처리가 완료되었습니다. 각 결과의 상태를 확인하세요. |
failed | 작업이 실패했습니다. job.error가 있으면 확인하세요. |
job에는 id, kind, status, startedAt과 선택적 progress(done, total), finishedAt, result, error가 포함됩니다. 타임스탬프는 Unix 에포크 이후의 밀리초입니다. 대기 중이거나 실행 중이면 poll_after_seconds와 Retry-After 헤더가 대기 시간을 알려줍니다. 초기 권장 시간은 5초입니다.
링크 일괄 작업은 kind: "link_mints"입니다. 최종 result는 total, converted, failed와 선택적 campaign, label을 보고합니다. 여기서 failed는 변환 없이 응답한 입력 수이며, 작업 전체의 상태가 failed라는 뜻은 아닙니다. 시트 변환은 kind: "sheet_conversion"이며, 최종 job.result에 집계와 서명된 XLSX 다운로드 URL이 포함됩니다. 작업 스키마는 sheet_read, picture_copy, resolution_run도 포함합니다.
커서 페이지 나누기
응답에는 job, results, cursor, has_more, request_id가 포함됩니다. 각 페이지에는 입력 순서대로 최대 50개 결과가 포함됩니다.
- 첫 페이지에서는
cursor를 생략하세요(오프셋 0). results를 처리하고 반환된 null이 아닌cursor를 보관하세요.has_more가 true이면?cursor=RETURNED_CURSOR로 다음 페이지를 요청하세요.- 대기 또는 실행 중
has_more가 false이면poll_after_seconds만큼 기다린 뒤 보관한 커서로 조회하세요. 결과가 나중에 추가될 수 있습니다. - 작업이
done또는failed이고 모든 결과 페이지를 읽었을 때만 종료하세요(cursor가 null).
커서는 16자리(0999999)의 단일 쿼리 매개변수여야 합니다. 잘못되거나 반복된 커서 매개변수는 400을 반환합니다. has_more: false만으로 완료라고 판단하지 마세요. curl 예제를 확인하세요.