주문 정보 전달하기

퀵 배송, 도보 배송 등 배송 요청 시 출발지와 도착지의 상세 정보를 제공합니다. 주문 유형을 선택하고 배송 메시지를 전달할 수 있으며 선택한 서비스에 따라 세부 응답을 받아볼 수 있습니다.

해당 API를 사용하려면 Vendor ID와 API 키값이 필요합니다.
발급 방법은 시작하기의 Vendor ID 및 API 키 발급받기를 참고하세요.

Request

요청 호출 방식과 각 요청 헤더에 포함될 내용을 안내합니다. 요청이 실패할 경우 🔗문제 해결하기에서 에러에 대한 상세 내용을 확인하세요.

호출 방식

표 1 | 호출 방식
MethodURL
POSThttps://open-api-logistics.kakaomobility
.com/goa-sandbox-service/api/v2/orders

요청 헤더

표 2 | 요청 헤더
ParameterDescription
Authorization시작하기에서 생성한 Authorization 파라미터 값
vendorkakaoT 퀵∙도보 배송 API Sandbox에서 발급받은 Vendor 아이디
Content-Typeapplication/json

요청 코드 예제

REST API를 호출하려면 요청 헤더의 Authorization 파라미터 값이 필요합니다. 이를 생성하려면 먼저 Signkey 값을 생성해야 합니다.

퀵 주문


curl -X 'POST' \
  'https://open-api-logistics.kakaomobility.com/goa-sandbox-service/api/v2/orders' \
  -H 'accept: application/json' \
  -H 'vendor:${vendor_id}'  \
  -H 'Content-Type: application/json' \
  -H 'Authorization: XXX' \
  -d '{
  "partnerOrderId": "{연동사 주문 ID - 유니크 해야합니다}",
  "orderType": "QUICK",
  "pickup": {
    "location": {
      "basicAddress": "서울특별시 강남구 역삼동 xxx",
      "detailAddress": "1층",
      "latitude": 37.4354059,
      "longitude": 126.74551
    },
    "contact": {
      "name": "전달하는 사람 이름",
      "phone": "010-1000-0001"
    }
  },
  "dropoff": {
    "location": {
      "basicAddress": "서울특별시 강남구 일원동 xxx",
      "detailAddress": "2층",
      "latitude": 37.569691,
      "longitude": 126.825791
    },
    "contact": {
      "name": "받는 사람 이름",
      "phone": "010-1000-0002"
    }
  }
  "productInfo": {
    "trayCount": 1,
    "size": "XS",
    "totalPrice": 29800,
    "products": [
      {
        "name": "양념게장 (대)",
        "quantity": "1",
        "price": 29800,
        "detail": "터지면 큰일남"
      }
    ]
  }
}'

요청에 대한 파라미터는 다음과 같습니다.

표 4 | Body
NameTypeDescriptionRequired
orderTypeEnum
(String)
주문 유형

다음 중 하나:
QUICK: 퀵
QUICK_ECONOMY: 퀵 이코노미
QUICK_EXPRESS: 퀵 급송
DOBO: 도보 배송
필수
partnerOrderIdString연동사 주문 아이디
(내부에서 사용하시는 주문 아이디)
필수
Object차량 선택선택
fleetEnum차량 선택

다음 중 하나:
MOTORCYCLE: 오토바이
JIMBAJI_MOTORCYCLE
: 짐받이 오토바이
PASSENGER_CAR: 승용차
DAMAS: 다마스
LABO: 라보
TON: 1톤
선택
typeEnum지정 차량 여부

다음 중 하나:
MINIMUM: 최소 차량 배차REQUIRED: 지정 차량 배차
선택
Object배송 유의사항필수
trayCountInteger배송 상품 포장 묶음 개수
(없으면 1 기본)
선택
totalPriceInteger배송 상품 가격선택
sizeEnum상품 크기

다음 중 하나:
XS: 서류, 초소형
S: 소형
M: 중형
L: 대형
필수
Array상품 상세 정보선택
nameString상품명선택
quantityString상품 수량선택
priceInteger상품 금액선택
detailString상품 상세 정보선택
Object출발지 정보필수
Object출발지 위치 정보필수
basicAddressString출발지 기본 주소필수
detailAddressString출발지 상세 주소선택
latitudeDouble출발지 위도 정보필수
longitudeDouble출발지 경도 정보필수
loadingMethod Enum출발지 상하차 방법
(퀵, size “L” 인 경우에만 설정)

PICKER: 기사님이 상하차
USER: 고객이 상하차
TOGETHER: 같이 상하차
선택
wishTimeDateTime픽업 희망 시간
(ex“2024-02-21T17:08:54.000+09:00”)

설정 가능 시간
퀵/퀵 급송/대형: 현재 시간 +20분부터 +14일까지
퀵 이코노미: 현재 시간 +60분부터 +14일까지
선택
Object출발지 연락처 정보필수
nameString출발지 이름필수
phoneString출발지 전화번호필수
noteString출발지 메모선택
Object목적지 정보필수
Object목적지 위치 정보필수
basicAddressString목적지 기본 주소필수
detailAddressString목적지 상세 주소선택
latitudeDouble목적지 위도 정보필수
longitudeDouble목적지 경도 정보필수
loadingMethod Enum목적지 상하차 방법
(퀵, size “L” 인 경우에만 설정)

PICKER: 기사님이 상하차
USER: 고객이 상하차
TOGETHER: 같이 상하차
선택
Object목적지 연락처 정보필수
nameString목적지 이름필수
phoneString목적지 전화번호필수
note String목적지 메모선택
Object기타 옵션선택
isRoundTripBoolean왕복 여부 (다마스/라보/1톤 불가)선택
Object의뢰인 정보선택
nameString의뢰인 이름선택
phoneString의뢰인 전화번호선택

Response

응답 성공 시 요청에 대한 성공 여부를 HTTP 상태 코드로, 요청 본문은 JSON 포맷으로 전달합니다.

응답 코드 예제

{
  "requestId": ${requestId},
  "partnerOrderId": ${partnerOrderId},
  "receipt": {
    "orderId": ${orderId},
      "orderType": "QUICK",
      "priceInfo": { 
        "totalPrice":10000
      },
      "status": "matching"
  }
}

요청 응답에 대한 객체 정보는 다음과 같습니다.

표 4 | 응답 객체
NameTypeDescriptionRequired
requestIdString요청 아이디선택
partnerOrderIdString연동사 주문 아이디선택
Object주문 정보선택
orderIdString주문한 상품의 주문 아이디선택
orderTypeEnum
(String)
주문 유형선택
Object가격정보필수
totalPriceInteger총 지불 가격필수
cancelFeeInteger취소 수수료
(취소된 오더인 경우 노출)
선택
statusEnum
(String)
주문 상태

다음 중 하나:
COMPLETED: 배송 완료
MATCHING: 배송원 배정 중
MATCHED: 배송원 배정 완료
PICKUP_WAITING
: 배송 물품 픽업 대기 중
PICKUP_STARTED:
배송원이 픽업 위치로 출발
PICKUP_COMPLETED
: 배송원 배송 물품 픽업 완료
DROPOFF_WAITING
: 배송 대기 중
DROPOFF_STARTED
: 목적지로 배송 출발
CANCELED: 배송 취소
MATCHING_FAILED
: 배송원 배정 실패
ABORTED: 관리자에 의한 강제 종료
선택