커스텀몰 API / 주문 조회

커스텀몰 API  /  주문 조회

주문 조회

고객이 주문·배송을 물으면 LIA가 이 API로 주문을 찾아요. 다른 고객의 주문이 섞이지 않도록 모든 주문 조회에는 소유자(회원 ID 또는 주문자 휴대폰)가 붙어요.

주문 목록

GET/v1/orders

최신 주문부터 돌려주고, 페이지는 커서로 넘겨요. 마지막 페이지는 next_cursor: null이에요.

쿼리 파라미터

member_idstring조건부

회원 ID. buyer_cellphone과 둘 중 하나는 필수 — 둘 다 없으면 400

buyer_cellphonestring조건부

주문자 휴대폰(숫자만). member_id와 같이 오면 둘 다 맞는 주문만 돌려주세요

order_idstring선택

이 주문만 조회

order_statusstring선택

카페24 상태 코드 쉼표 목록 (예: N30,N40)

start_date / end_datestring선택

주문일 범위 (YYYY-MM-DD 또는 ISO 8601)

embedstring선택

릴로는 items,receivers,buyer,shipments를 보내요

cursorstring선택

이전 응답의 meta.next_cursor (카페24의 offset 대신)

limitnumber선택

기본 10, 최대 50. 50을 넘으면 50으로 잘라 주세요

요청
curl "https://api.mall.example.com/v1/orders?member_id=m_1001&limit=10&embed=items,receivers,buyer,shipments" \
  -H "Authorization: Bearer $LILLO_API_KEY" \
  -H "X-Lillo-Api-Version: 2026-11-01"
응답 — 200 OK
{
  "data": [
    {
      "order_id": "20261110-0001234",
      "order_date": "2026-11-10T21:14:03+09:00",
      "payment_date": "2026-11-10T21:15:10+09:00",
      "member_id": "m_1001",
      "paid": "T",
      "payment_method": ["card"],
      "currency": "KRW",
      "payment_amount": "45000",
      "actual_order_amount": { "shipping_fee": "3000" },
      "receivers": [
        { "name": "K*** S.", "cellphone": "010-****-5821",
          "zipcode": "06236", "address1": "123 Teheran-ro", "address2": "4F" }
      ],
      "items": [
        {
          "order_item_code": "20261110-0001234-01",
          "product_no": "77",
          "product_name": "Wool Crew Knit",
          "option_value": "Color=Ivory, Size=M",
          "quantity": 1,
          "product_price": "42000",
          "option_price": "0",
          "order_status": "N30",
          "shipped_date": "2026-11-11T10:02:00+09:00",
          "image": "https://cdn.mall.example.com/products/77/main.jpg"
        }
      ],
      "shipments": [
        { "shipping_code": "D-20261111-0001", "shipping_company_code": "0006",
          "shipping_company_name": "CJ Logistics", "tracking_no": "684122140001",
          "status": "shipping",
          "items": [{ "order_item_code": "20261110-0001234-01" }] }
      ],
      "order_url": "https://mall.example.com/myshop/order/detail.html?order_id=20261110-0001234",
      "customs": null
    }
  ],
  "meta": { "next_cursor": "eyJpZCI6MTIzNH0" }
}

응답 필드는 주문 객체 문서에 정리했어요.

주문 상세

GET/v1/orders/{order_id}

order_idstring필수

주문 번호 (경로)

member_idstring조건부

소유자 — buyer_cellphone과 둘 중 하나는 필수

buyer_cellphonestring조건부

소유자 — 숫자만

응답은 { "data": Order }이고 형식은 주문 목록과 같아요. 주문이 없거나 그 소유자의 주문이 아니면 똑같이 404를 돌려주세요. 남의 주문이 있다는 사실도 드러나지 않게요.

요청
curl "https://api.mall.example.com/v1/orders/20261110-0001234?buyer_cellphone=01012345821" \
  -H "Authorization: Bearer $LILLO_API_KEY" \
  -H "X-Lillo-Api-Version: 2026-11-01"

배송 조회 (선택)

GET/v1/orders/{order_id}/shipments

소유자 파라미터가 필수이고, 응답은 { "data": [Shipment] }예요. 주문 응답에 shipments를 넣으면 이 엔드포인트는 만들지 않아도 돼요. capabilities의 shipments_endpoint로 알려 주세요.

오류

HTTPcode언제
400invalid_request소유자(member_id·buyer_cellphone)가 없어요
401unauthorizedAPI 키가 없거나 틀려요
404not_found주문이 없거나 그 소유자의 주문이 아니에요
429rate_limited호출 제한을 넘었어요
오류 응답
HTTP/1.1 400
{ "error": { "code": "invalid_request", "message": "member_id or buyer_cellphone is required" } }

HTTP/1.1 404
{ "error": { "code": "not_found", "message": "Order not found" } }
주문 조회 · 개발자 문서 | 릴로