カスタムストアAPI / 注文の書き込み(v1.1)

カスタムストアAPI  /  注文の書き込み

注文の書き込み(v1.1)

LIAが相談中に、キャンセル・返品・交換の受付、配送先の変更、注文メモをストアに直接登録します。capabilitiesで有効にしたものだけを呼び出します。

承認後にのみ呼び出します

キャンセル・返品・交換・配送先の変更は、担当者が承認した後にのみ呼び出します。自動承認はなく、期限を過ぎると保留になります。注文メモは内部記録のため、承認なしで残します。

共通ルール

  • 本文はCafe24と同じく{ "request": {...} }、レスポンスは{ "data": {...} }です。Content-Type: application/jsonを使います。
  • すべての書き込みにIdempotency-Keyヘッダーが付きます。同じキーで再度届いたら、再実行せずに最初のレスポンスをそのまま返してください。
  • 本文にmember_id・buyer_cellphoneがある場合は、その所有者の注文かを確認し、違えば404を返してください。
  • 本文のrequested_byは"lillo"です。ストアの管理画面で「Lillo経由の受付」と分かるようにしてください。
  • 8秒以内に応答してください。時間がかかる場合は受付だけ行い、202と現在のステータスを返してください。
  • 受付の通知SMS・メールはストアのポリシーどおりに送ってください。Lilloはお客様に別途送らず、相談の中で案内します。

キャンセル受付

POST/v1/orders/{order_id}/cancellation

本文(request)

claim_reason_typestring必須

Cafe24コード — A お客様都合、B 配送遅延、J 商品不良・誤配送、K その他。分からなければA

requested_bystring必須

"lillo"

claim_reasonstring任意

理由の文章

itemsobject[]任意

order_item_code、quantity。省略すると注文全体

member_id / buyer_cellphonestring任意

所有者の確認用。ない場合は管理者権限で処理します

リクエスト
curl -X POST "https://api.mall.example.com/v1/orders/20261110-0001234/cancellation" \
  -H "Authorization: Bearer $LILLO_API_KEY" \
  -H "X-Lillo-Api-Version: 2026-11-01" \
  -H "Idempotency-Key: 6f1c2a9e-4b7d-4f0e-9a51-3d2c8e7b1a04" \
  -H "Content-Type: application/json" \
  -d '{
    "request": {
      "member_id": "m_1001",
      "claim_reason_type": "A",
      "claim_reason": "Changed mind",
      "items": [{ "order_item_code": "20261110-0001234-01", "quantity": 1 }],
      "requested_by": "lillo"
    }
  }'
レスポンス — 201 Created
{
  "data": {
    "order_id": "20261110-0001234",
    "claim_type": "cancel",
    "claim_code": "C-20261112-0001",
    "items": [
      { "order_item_code": "20261110-0001234-01", "order_status": "C00" }
    ]
  }
}

レスポンスの商品明細order_statusは受付後のステータスです(C00/C10、すぐ完了した場合はC40)。出荷前でなければ409 not_allowed_in_stateを返してください。

エラーレスポンス — 409
{
  "error": {
    "code": "not_allowed_in_state",
    "message": "Already shipped",
    "order_status": "N30"
  }
}

返品受付

POST/v1/orders/{order_id}/return

本文はキャンセルと同じで、以下のフィールドを追加できます。レスポンスの商品明細ステータスはR00/R10です。

statusstring任意

acceptedまたはprocessing — Cafe24と同じです

pickupobject任意

回収先name、cellphone、zipcode、address1、address2。ない場合は注文の配送先

交換受付

POST/v1/orders/{order_id}/exchange

本文はキャンセルと同じで、交換後のオプションをexchange_itemsで送ります。ない場合は同じオプションで交換(不良交換)します。レスポンスの商品明細ステータスはE00/E10、オプションが品切れなら409 out_of_stockです。

本文 — exchange_items
"exchange_items": [
  { "order_item_code": "20261110-0001234-01",
    "variant_code": "P000000X000B", "quantity": 1 }
]

配送先を変更

PUT/v1/orders/{order_id}/receivers

zipcodestring必須

郵便番号

address1string必須

ベースURL

address2string任意

詳細住所

namestring任意

受取人

cellphonestring任意

携帯電話番号(数字のみ)

shipping_messagestring任意

配送メッセージ

member_idstring任意

所有者の確認用

変更する値だけを送ります。レスポンスは{ "data": { "order_id", "receivers": [...] } }で、氏名・連絡先はマスキングしてください。

リクエスト
curl -X PUT "https://api.mall.example.com/v1/orders/20261110-0001234/receivers" \
  -H "Authorization: Bearer $LILLO_API_KEY" \
  -H "X-Lillo-Api-Version: 2026-11-01" \
  -H "Idempotency-Key: 6f1c2a9e-4b7d-4f0e-9a51-3d2c8e7b1a04" \
  -H "Content-Type: application/json" \
  -d '{
    "request": {
      "member_id": "m_1001",
      "zipcode": "06236",
      "address1": "123 Teheran-ro, Gangnam-gu, Seoul",
      "address2": "5F",
      "shipping_message": "Leave at the door"
    }
  }'

注文メモ

POST/v1/orders/{order_id}/memos

memostring必須

メモの内容。最大2,000文字

authorstring必須

作成者(例:"LIA")

starred_memostring任意

"T"/"F"

fixedstring任意

"T"/"F"

メモはストアの管理者のみが閲覧できます。レスポンスは{ "data": { "memo_no", "order_id" } }です。

リクエスト
curl -X POST "https://api.mall.example.com/v1/orders/20261110-0001234/memos" \
  -H "Authorization: Bearer $LILLO_API_KEY" \
  -H "X-Lillo-Api-Version: 2026-11-01" \
  -H "Idempotency-Key: 6f1c2a9e-4b7d-4f0e-9a51-3d2c8e7b1a04" \
  -H "Content-Type: application/json" \
  -d '{
    "request": {
      "memo": "Customer asked for morning delivery on 11/14",
      "starred_memo": "F",
      "fixed": "F",
      "author": "LIA"
    }
  }'
注文の書き込み(v1.1) · 開発者ドキュメント | Lillo