REST API

오류

문제 응답 명세를 처리하고 요청을 추적하세요.

오류는 RFC 9457 문제 JSON 명세를 따르며 미디어 유형은 application/problem+json입니다.

{
  "type": "https://www.ninjabuy.com/api/v1/problems/bad-body",
  "title": "Invalid request",
  "status": 400,
  "detail": "The request did not match the expected shape.",
  "request_id": "REQUEST_ID",
  "errors": [{"pointer": "/links", "detail": "Validation detail"}]
}

type은 고정된 문제 식별자이고 title과 detail은 설명입니다. status는 HTTP 상태와 일치합니다. 선택적 errors 항목에는 JSON Pointer와 검증 상세 정보가 포함됩니다. 빈 포인터는 본문 전체를 뜻합니다. 문제를 보고할 때 request_id를 함께 알려주세요(X-Request-Id에도 포함).

아래 모든 유형은 https://www.ninjabuy.com/api/v1/problems/로 시작합니다.

유형 접미사HTTP의미 / 조치
bad-json400본문이 유효한 JSON이 아닙니다. 구문을 수정하세요.
bad-body400본문, 쿼리 매개변수 또는 커서 검증에 실패했습니다. errors를 확인하세요.
bad-idempotency-key400Idempotency-Key에 인쇄 가능한 ASCII 문자 1~255자를 사용하세요.
unauthorized401유효한 Bearer 토큰을 제공하세요. WWW-Authenticate에 검색 정보가 있습니다.
not-found404리소스를 사용할 수 없거나, 알 수 없거나, 이 계정 소유가 아닙니다.
method-not-allowed405Allow에 지정된 메서드를 사용하세요.
idempotency-key-in-progress409이 키의 첫 요청이 실행 중입니다. Retry-After에 따라 기다리세요.
upload-too-large413업로드한 바이트가 선언한 크기 또는 20 MiB 한도를 초과합니다.
unsupported-media-type415Content-Type: application/json을 보내세요.
idempotency-key-reused422이 키는 다른 요청에 사용되었습니다. 새 키를 사용하세요.
invalid-workbook422업로드가 한도 내에서 읽을 수 있는 XLSX/CSV가 아닙니다. errors를 확인하세요.
upload-expired422업로드 예약이 만료되었습니다. 파일을 다시 업로드하세요.
rate-limited429다시 시도하기 전에 Retry-After에 지정된 초만큼 기다리세요.
search-rate-limited429키워드 검색 구간의 한도가 소진되었습니다. Retry-After에 따라 기다리세요.
service-unavailable503잠시 후 다시 시도하세요. Retry-After가 있으면 따르세요.
internal-error500나중에 다시 시도하세요. 계속되면 요청 ID를 보관하세요.

성공한 요청에도 입력별 실패가 포함될 수 있습니다. 링크 상태는 HTTP 오류와 별도로 처리하세요. 생성 요청을 재반환하려면 Idempotency-Key를 사용하세요. 키 없이 일괄 작업을 다시 제출하면 다른 작업이 생성됩니다.