Skip to main content

1. 호출 순서

배송은 아래 순서로 진행됩니다. 각 단계의 응답이 다음 단계의 입력값이 됩니다.
1

주문 등록

POST /open-api/v1/orders 로 주문을 등록하고 orderId 를 받습니다.
2

배송 신청

POST /open-api/v1/shipmentsorderId 목록을 전달해 배송건을 생성하고, shipmentIdmasterNumber(DK 입고 송장번호)를 받습니다.
3

라벨 발행

POST /open-api/v1/shipments/labelsmasterNumber 목록을 전달해 DK 입고 송장 라벨 PDF를 받습니다(다건). 한 건만 필요하면 GET /open-api/v1/shipments/{masterNumber}/label 을 쓰며, 동작은 같고 건수만 다릅니다.
4

배송 조회

GET /open-api/v1/shipments/{masterNumber}/tracking 으로 배송 상태와 트래킹 정보를 조회합니다.

라벨 API는 다건(POST /open-api/v1/shipments/labels)과 단건(GET /open-api/v1/shipments/{masterNumber}/label) 두 가지이며 동작이 같습니다 — 라벨이 없으면 발행하고, 있으면 저장된 라벨을 그대로 반환합니다. 다건은 상한 100건에 전체 실패 방식이고, 단건은 재출력이나 다건 중 일부 실패 건을 복구할 때 씁니다.

2. 식별자 흐름

masterNumberDK 입고 송장번호입니다. 라벨 바코드에 인쇄되는 번호와 같은 값이며, 배송 신청 이후의 모든 배송 API는 이 번호를 키로 사용합니다.
주문만 등록한 상태에서는 라벨도 배송 상태도 존재하지 않습니다. 배송 신청을 해야 배송건이 생성되고 masterNumber 가 부여됩니다.

3. 배송 상태값

배송 정보 조회 응답의 shipmentStatus 는 아래 9종입니다. 딜리버드 트래킹 페이지가 보여주는 값과 같습니다. 표시 문구는 파트너사에서 직접 정할 수 있도록 코드값만 반환합니다.

3-1. 트래킹 이벤트

trackingEvents 는 라스트 마일 송장이 발행된 이후부터 쌓입니다.
  • 아직 발행되지 않았거나 트래킹 조회에 실패하면 빈 배열([]) 이 반환됩니다. 필드가 생략되지는 않습니다.
  • 트래킹 조회에 실패해도 응답은 200 이며 배송 상태는 정상 반환됩니다.
  • 이벤트 발생 시각 occurredAtUTC 기준 하나만 제공합니다.
배송 상태 변경에 대한 웹훅은 제공하지 않습니다. 폴링 방식으로 주기적으로 조회해 주세요.

4. 인증과 환경

배송 API의 인증·환경·공통 응답 규약은 기존 오픈 API와 동일합니다.
  • API 키 — 키 발급과 Authorization 헤더 사용법
  • 환경 — 운영·테스트 환경 URL과 식별자(global-ship)
  • 요청 및 응답 — 요청 본문 형식과 공통 응답 규약

5. 오류 응답

배송 API의 오류 응답에는 실패 유형을 구분하는 errorCode 가 담깁니다.
배송 신청과 라벨 발행(다건)은 전체 실패 방식입니다. 요청한 건 중 하나라도 조건을 만족하지 못하면 전체가 거부되고, 배송건 생성이나 라벨 발행이 일어나지 않습니다.
라벨 발행 중 서버 오류가 발생한 경우, 그 전에 이미 발행된 라벨은 저장되어 재호출 시 다시 발행되지 않습니다.