shoplazza-orders について
shoplazza-orders は Shoplazza CLI で注文と関連記録を扱うスキルです。フルフィルメント、返金、決済情報を含む操作をコマンドに対応付け、慎重な書き込みでは確認と Dry-run を重視します。
主な機能
- 01注文の検索と件数確認
- 02注文の発送と追跡情報の更新
- 03返金と注文情報の更新
- 04フルフィルメントと返金記録の処理
- 05リスクと決済取引の管理
- 06慎重な書き込みの安全確認
活用シーン
- 01顧客やステータスで注文を検索
- 02追跡情報を指定して注文を発送
- 03返金内容を準備して確認
- 04注文の追跡情報を更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ shoplazza/ shoplazza-cli --skill shoplazza-ordersインストール後、Claude Code で/shoplazza-ordersを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/fulfillments.mdorders-create.mdpost-sales.mdrefunds.mdrisks.mdshipping-schemas.mdtracking-carriers.mdtransactions.md詳細
shoplazza CLI — orders モジュール
重要 — 何よりも先に、../shoplazza-common/SKILL.md を Read で確認してください。
共通の仕組み(3 つのアクセス層、出力エンベロープ(.data)、
--dry-run、--jq(-r を渡さないことも含む)、--fields、schema、api rest、認証/プロファイル、
安全プロトコル)はすべてここで扱います。このファイルでは orders ドメインのみを扱い、それらを繰り返しません。
概要
orders モジュールでは、注文のライフサイクル(検索、件数取得、取得、作成、更新、キャンセル、
支払い、削除)と、そのサブリソース(フルフィルメント(配送記録)、返金、不正リスク、
支払いトランザクション、アフターサービス(販売後)記録、配送ゾーン/料金、追跡キャリア)を管理します。3 つのアクセス層すべてが適用されます(層の選択ルールは shoplazza-common に記載されています。+shortcut を優先してください)。
ショートカットがあるのは +search / +count / +ship / +refund / +update-tracking のみ です。
その他すべての操作(取得、キャンセル、作成、支払い、およびすべてのサブリソース)は spec のリーフです。
Orders は大規模なドメインです。このファイルはルーターと高頻度の操作を扱い、
サブリソースごとの詳しい情報は references/ にあります。
コマンド一覧
目的 → コマンド。適合度の高い階層から順に記載しています。正確なフラグ/パラメーターは、この表ではなく
shoplazza orders <cmd> --help と shoplazza schema orders.<cmd> で確認してください。
| ユーザーの目的 | コマンド |
|---|---|
| 注文を検索/絞り込む | orders +search [--email <addr>] [--keyword <no/name/email>] [--status …] [--financial-status …] [--fulfillment-status …] [--customer-id <id>] [--since <t>] [--until <t>] |
| 注文数を数える | orders +count — +search と同じフィルターを使用しますが、--page-limit は除きます |
| 注文を発送する(发货) | orders +ship --order-id <id> --tracking <no> [--company <name>] [--company-code <code>] [--line-items id:qty,…] [--notify] |
購入者に返金する(退款;返金処理の前に --dry-run を実行してください) | orders +refund --order-id <id> --amount <n> [--note <txt>] [--return-items] [--payment-line-id <id>] |
| 追跡情報を修正/更新する | orders +update-tracking --order-id <id> --fulfillment-id <id> --tracking <no> [--company <name>] [--tracking-url <url>] [--notify] |
| 内部 ID で注文を 1 件取得する | orders get --params '{"order_id":"<id>"}' |
| 注文番号(#…)で注文を取得する | orders get-by-number --params '{"number":"<number>"}' |
+search では対応していないフィルター(複数ステータス配列、ID、SKU、タグ、あいまい検索など)を使って一覧表示する | orders list --params '{…}'(schema orders.list を参照) |
| 顧客に代わって注文を作成する(手工建单 / 代客下单) | orders create --data '{"order":{…}}' — ネストが多いリクエストボディについては references/orders-create.md を参照してください |
| 注文メモ/タグ/配送先住所を更新する | orders update --params '{"order_id":"<id>"}' --data '{"order":{…}}' |
注文をキャンセルする(破壊的操作のため、先に --dry-run を実行してください) | orders cancel --params '{"order_id":"<id>"}' [--data '{"reason":"…"}'] |
| 注文を支払い済みにする | orders pay --params '{"order_id":"<id>"}' --data '{"payment_line":{"payment_channel":"<channel>","payment_method":"<method>","transaction_no":"<txn>"}}' — 空のボディを指定すると、偽のテスト決済になります。実際のチャネル/方法/取引番号は payment_line に、カスタム表示名は gateway に指定してください(schema orders.pay) |
注文を削除する(破壊的操作のため、先に --dry-run を実行してください) | orders delete --params '{"order_id":"<id>"}' |
| フルフィルメント記録の CRUD/キャンセル/完了 | orders fulfillments … → references/fulfillments.md |
| 返金記録(1 件の注文/ストア全体/完了) | orders refunds … → references/refunds.md |
| 不正リスク記録(高リスクとしてマーク) | orders risks … → references/risks.md |
| 注文の決済取引(支払い取引記録) | orders transactions list --params '{"order_id":"<id>"}' → references/transactions.md |
| アフターサービス記録(售后) | orders post-sales … → references/post-sales.md |
| 配送ゾーン/配送料/利用可能な配送方法(運賃区域) | orders shipping-schemas … → references/shipping-schemas.md |
| この追跡番号の配送業者を確認する(配送業者の識別) | orders tracking-carriers detect --params '{"tracking_number":"<no>"}' → references/tracking-carriers.md |
リクエストに応じた操作
「发货 / 退款 / 取消订单 / ship / refund / cancel」は操作であり、質問ではありません。
- トリガーテーブルを使って、意図に合ったショートカットを選びます(サブリソースの詳細は
references/にあります)。 - 必須フィールドを確認します(各ショートカットの デフォルト値なし のフラグ)。不足または曖昧な場合は、
AskUserQuestionで質問し、決して捏造しないでください。特に--amount(金額)と--tracking(捏造できない実在の追跡番号)に注意してください。不足しているフィールドは 1 つの質問にまとめます。 - CLI のデフォルト値があるフラグや、省略すると無効になるフラグについては質問しないでください。 デフォルト値を優先します。
- 必須項目がすべてそろっている場合は、shoplazza-common に従って安全に実行します。
+refundは金銭を移動させます。必ず最初に--dry-runを指定し、内容(注文、金額、メモ、在庫を戻すかどうか)を平易な言葉で言い換えて、ユーザーの承認を待ってから本番実行します。- 破壊的な操作(
orders cancel/orders delete/fulfillments cancel/risks delete/post-sales delete/shipping-schemas delete-zone)では、最初に--dry-runを指定して内容を言い換え、ユーザーの承認を待ってから実行します。 orders payは支払い記録を書き込みます。+refundと同じ扱いにしてください。最初に--dry-runを指定し、内容(注文、チャネル、取引番号)を言い換えて、ユーザーの承認を待ちます。 空のボディで送信してはいけません。ボディがないと、誤った TEST 支払いが黙って記録されます。payment_lineのpayment_channel/payment_method/transaction_noは列挙型ではなく自由入力文字列です。ユーザーの表現から値を設定してください(例:「走的 PayPal」 →"payment_channel":"paypal","payment_method":"paypal")。transaction_noはそのまま入力します。 使用する列挙値を尋ねるために処理を止めてはいけません。- 必須の値が確認できていれば、
+ship/+update-tracking/+search/+countはそのまま安全に実行できます。
トリガーフレーズ → ショートカット
| ユーザーの発言 | ショートカット | 値の抽出方法 |
|---|---|---|
| 注文を調べて / 注文を探して / 今日、新しい注文はある? / 注文を検索または一覧表示 | +search | 既知のメールアドレス → --email;名前の一部 / 注文番号の一部 / その他 → --keyword;「今日 / 過去 N 日間」→ --since のみ(--until は指定しない);ステータスを表す語 → 以下の列挙値テーブル |
| 未発送の注文 / 発送していない注文 | +search --fulfillment-status waiting | 未発送 = waiting — unfulfilled という値はありません |
| 顧客 X / メールアドレスの注文 / 顧客 X からの注文 | +search | 顧客 ID → --customer-id;完全なメールアドレス → --email(完全一致のための正確な方法);専用フラグがある場合、ID やメールアドレスを --keyword に入れないでください |
| 注文はいくつ? / 注文の合計数 / 注文はいくつありますか? | +count | 「合計」= フィルターなし、期間を尋ねないでください;.data.count から数を取得 |
| 発送 / 発送済みにする / 注文 X を発送 | +ship | 追跡番号 → --tracking にそのまま指定;配送会社名 → --company;「購入者に通知」→ --notify;注文全体の場合は --line-items を省略 |
| 一部発送 / 一部の商品だけ発送 | +ship --line-items id:qty,… | 商品ごとの数量を line-id:qty の組み合わせで指定 |
| 返金 / 購入者に X 元を返金 / 購入者に返金 | +refund | 金額 → --amount にそのまま指定;理由が示されている場合 → --note;「在庫を戻す」→ --return-items |
| 送り状番号を変更 / 送り状番号を間違えて入力した / 追跡番号を修正 | +update-tracking | 次の3つすべてが必要です:--order-id、--fulfillment-id、--tracking |
| 注文番号 #… の詳細 / 注文番号で注文を検索 | get-by-number (leaf) | 先頭の # を削除 → --params '{"number":"…"}';内部 ID の場合は代わりに get を使用 |
| 手動で注文を作成 / 顧客に代わって注文 / 顧客の注文を作成 | create (leaf) | order の下に複雑なネストされたボディを指定 → references/orders-create.md;products +search で variant_id を解決;購入者の本人情報、住所、価格を捏造しないでください |
| 注文をキャンセル / 注文 X をキャンセル | cancel (leaf) | ID → --params;理由が示されている場合 → --data '{"reason":"…"}'(省略可);fulfillments cancel ではありません |
| 発送記録をキャンセル / フルフィルメントをキャンセル | fulfillments cancel (leaf) | --params に order_id と fulfillment_id の両方を指定;orders cancel ではありません |
| 高リスクとしてマーク / 不正注文のように見える / 不正としてフラグ付け | risks create (leaf) | 高 / 中 / 低 → level に high / medium / low;理由が示されている場合 → details 配列 → references/risks.md |
| 注文の支払い履歴 / 支払いトランザクション | transactions list (leaf) | 注文 ID → --params;これは購入者からの支払いであり、請求ではありません |
| 追跡番号 X の配送会社は? / 配送会社を特定 | tracking-carriers detect (leaf) | --params '{"tracking_number":"…"}' — list して手動で照合しないでください |
| 配送地域を設定 / 送料 / 配送ゾーンと料金 | shipping-schemas leaves | → references/shipping-schemas.md |
複数の行が該当する場合は、どれかを尋ねてください。推測しないでください。
必須確認項目と推測項目の一覧
確認が必要なのは、デフォルト値のないフラグだけです。
| ショートカット | ユーザーが指定していない場合に必ず確認する項目 | 可能であれば推測する項目 | 黙ってデフォルトを適用する項目 |
|---|---|---|---|
+refund | --amount(金額は絶対に捏造しないでください。全額返金の場合は、orders get で注文合計を確認することを提案できますが、それでも金額の確認は必要です);--order-id(指定されていない場合) | --note(明示された理由から);--return-items(库存退回/restock に関する表現から) | --payment-line-id(注文に複数の支払い明細がある場合のみ必要です。CLI が候補を表示してエラーになるため、その後で選択するか確認します) |
+ship | --tracking(追跡番号を絶対に捏造しないでください);--order-id(指定されていない場合) | --company(指定された運送業者から。ユーザーの呼び方をそのまま使います);--notify(买家通知に関する表現から) | --line-items(省略すると、発送可能なすべての商品が対象になります);--company-code |
+update-tracking | --order-id/--fulfillment-id/--tracking のうち、指定されていないもの | --company、--tracking-url(ユーザーが指定した場合のみ) | --notify(通知の再送を明示する表現がある場合のみ設定します) |
+search/+count | (なし。すべてのフィルターは任意です。確認してはいけません) | 列挙型の表を使い、表現からフィルターを推測します | --page-limit;時間範囲はユーザー自身が指定した時間表現からのみ設定します |
cancel(リーフ) | 注文 ID(指定されていない場合) | reason(ユーザーが理由を明示した場合のみ、本文に設定します) | reason(任意です。指定されていない場合は省略します) |
create(リーフ) | 不足している必須の購入者/住所のサブフィールド(last_name、email、country_code、province_code、city、address、zip)と商品項目(複数可)。身元、住所、価格を絶対に捏造しないでください。確認するか、products +search で variant_id を調べます | currency_code(ストアから取得:shop info get --jq '.data.currency');中立的な shipping_name のラベル("Standard Shipping");カタログの price が省略されている場合(バリアントの価格が適用されます) | 通知フラグ、tags、note、discount_application、payment_line(orders pay で支払いを記録します) |
確認してはいけない項目
CLI にデフォルト値があるか、省略すると無効になるフラグは、確認事項に含めてはいけません:
--notify(ユーザーが通知を求めた場合を除き省略) · --line-items(デフォルト:発送可能なすべての商品) ·
--company/--company-code(任意の運送業者情報) · --payment-line-id(複数の支払い明細に関するエラーが発生した後のみ) · --note(理由が示されている場合のみ) · --return-items(明示的な表現がある場合のみ) · --tracking-url · --page-limit · --since/--until(ユーザー自身が指定した時間表現からのみ設定し、時間範囲を捏造してはいけません)。
判断示例
| ユーザーの発言 | 判定 |
|---|---|
| "订单 111222 退 15.50 给买家,备注 wrong size,库存退回" | 返金 — +refund --order-id 111222 --amount 15.50 --note "wrong size" --return-items;まず --dry-run を実行し、内容を言い直して確認したうえで、実行の許可を待ってから実行します |
| "给订单 333444 退个款" | 質問 — 金額(通貨。決して推測しないでください)。どの注文かは尋ねないでください。発言に含まれています。全額返金の照会を提案してもかまいませんが、その場合も確認してください |
| "订单 555 可以发货了,运单号 YT123,中通,通知买家" | 発送 — +ship --order-id 555 --tracking YT123 --company 中通 --notify;そのまま安全に実行できます |
| "把订单 666 标记发货" | 質問 — 追跡番号(必須。決して捏造しないでください)。配送業者は任意なので、提示はしても必須条件にはしないでください |
| "找最近 7 天还没发货的订单" | 検索 — +search --fulfillment-status waiting --since <today-7d>;--until は指定しません |
| "取消订单 777,原因是买家申请" | キャンセル — orders cancel --params '{"order_id":"777"}' --data '{"reason":"买家申请"}';まず --dry-run を実行し、内容を言い直して確認します |
| "订单 888 像欺诈单,标成高风险" | リスク — orders risks create --params '{"order_id":"888"}' --data '{"risk":{"level":"high","details":["…"]}}';書き込み前に内容を言い直して確認します |
| "手工帮客户下个单:1 件 variant V123,单价 29.9,寄给 John Doe ([email protected]),美国加州洛杉矶 123 Main St 90012" | 作成 — ネストされた order 本文(line_items の variant_id、quantity、price、province_code を含む完全な shipping_address、shipping_line、tax_total、currency_code)を作成し、内容を言い直してから、まず --dry-run を実行します → references/orders-create.md |
| "帮客户下个单"(商品/購入者の情報なし) | 質問 — どの variant と数量か、また購入者の配送情報(氏名、メールアドレス、住所)を尋ねます。決して捏造しないでください。shipping_price/tax_total は金額です。提示された金額を使用するか、ユーザーが無料を示唆している場合に限り "0.00" を使用し、その内容を言い直して確認してください |
ステータスの列挙値(次の3つを覚えておいてください)
schema orders.listより — +search / +count / listで使用します:
| フィールド | 値 |
|---|---|
--status(注文) | opened(支払い待ち) · placed(処理中) · finished · cancelled |
--financial-status | waiting · paying · authorized · partially_paid · paid · cancelled · failed · refunding · refund_failed · refunded · partially_refunded |
--fulfillment-status | initialled · waiting(未発送 / 発送待ち) · partially_shipped · shipped · partially_finished · finished · cancelled · returning · partially_returned · returned |
unfulfilled / fulfilledは有効な値ではありません — 「まだ発送されていない」はwaitingに対応します。
ショートカットフラグにはそれぞれ値を1つだけ指定します。複数の値で絞り込むには、listのリーフを使います。status / financial_status / fulfillment_statusパラメーターにはJSON配列を指定できます。
時間範囲 — 対象のフィールド。 +search --since/--untilは、注文成立時刻(placed_at_min/placed_at_max)を指定します。値はISO日付またはUnixタイムスタンプです。これは売上の基準時刻であり、通常はこちらを使います。別の時点で絞り込むには、時間フィールドごとに_min/_maxの組を備えたlistのリーフを使います。ユーザーの表現に応じて選んでください:
| ユーザーの表現 | パラメーター |
|---|---|
| 注文 / 支払い / 成約 / 販売 / 売る / いくつ売れた / 販売数 / 売上高 / placed / paid / sold | placed_at_min / placed_at_max |
| 作成 / 追加 / created | created_at_min / created_at_max |
| 更新 / 変更 / 最後の操作 / updated / last changed | updated_at_min / updated_at_max |
| 完了 / 注文完了 / finished | finished_at_min / finished_at_max |
| 発送完了 / フルフィルメント完了 / fulfilled | fulfilled_at_min / fulfilled_at_max |
created_at ≠ placed_at(間違えやすい点です)。 Shoplazzaの注文行は、購入者がチェックアウトに進んだ時点で作成されます。つまり、支払いより前です。そのため、created_atには放棄されたカートや未払いのカートも含まれます。placed_atは注文が実際に成立した(支払いが完了した)時刻です。実際の売上(販売数 / いくつ売れた / 成約数 / 売上高 / how much sold)を計測する場合は、必ずplaced_at_*で絞り込み、created_at_*は使わないでください。放棄されたカートまで件数に含まれてしまいます。created_at_*を使うのは、ユーザーが文字どおり作成・追加された注文数を尋ねている場合だけです。時間に関する表現がない場合は、financial_statusまたはfulfillment_statusのフィルターがあれば売上の意図と判断してplaced_at_*を使います。どちらのフィルターもなければcreated_at_*を使います。
解決した時間範囲を明示してください。 「最近7日間」「今月」などの相対的な表現を--since / --untilに変換した場合は、使用した具体的な期間(例:2026-09-10から2026-09-17)をユーザーに伝えてください。境界やタイムゾーンが誤っていれば、件数に影響していることが分かります。
注文を正確に検索する
orders listでは、同じフィールドを検索する方法が3つあります。リクエストを満たす最も絞り込みの強い方法を選んでください。この分野でいうshoplazza-commonの精度の段階は次のとおりです:
| 段階 | パラメーター | 使用する場合 |
|---|---|---|
| 完全一致配列 | customer_emails、shipping_emails、shipping_phones、order_tags、skus、spus、product_ids、browser_ips、ids | 値が全体わかっている場合。+search --emailはcustomer_emailsのショートカットです。 |
| キーワード | keyword(検索対象のフィールドを絞り込む場合は、任意でkeyword_scope_fieldsを追加) | 断片しか分からない場合、またはユーザーが対象フィールドを指定していない場合。+search --keywordはこちらに対応します。 |
| あいまい検索の3パラメーター | fuzzy_fields + fuzzy_keywords + fuzzy_relation | 名前を指定した特定のフィールドで前方一致・部分一致させる場合、または複数フィールドをAND/ORで組み合わせる場合。リーフのみで使用できます。 |
keyword_scope_fieldsとfuzzy_fieldsで使えるフィールド名は共通です。schema orders.list --view requestのfuzzy_fieldsにあるフィールド名の一覧(name、number、id、shipping_email、tracking_number、discount_codeなど)を確認し、推測で指定しないでください。
対象範囲
注文に関するように見えても、実際には別の領域に属するもの(およびこの領域が扱う類似項目):
| ~のように見えるもの | 実際の対象 | コマンド |
|---|---|---|
| 返金/顧客への返金/購入者への返金 | この領域(割引ではありません。割引/クーポンコードはカートの価格を設定します。請求ではありません。アプリが課金します) | orders +refund |
| 注文の支払い取引/購入者の支払い取引 | この領域 | orders transactions list |
| アプリ料金の取引/販売者に請求されるアプリ料金の取引 | shoplazza-billing | billing transactions |
| 配送業者の検索/送り状番号の識別/追跡番号からの配送業者検索 | この領域 | orders tracking-carriers {detect,list} |
| リアルタイム送料見積もりの配送業者の登録 | shoplazza-shop | shop carrier-services |
| 配送料区域/送料プラン/配送ゾーンと料金 | この領域 | orders shipping-schemas … |
| メールアドレスで顧客の注文を検索/ある顧客の注文 | この領域(+search --email <addr> または --customer-id) | まず customers +search で ID を解決しても問題ありません。最終的なクエリは注文に関するものです |
| 顧客情報そのもの/顧客レコード | shoplazza-customers | customers +search / customers get |
| 在庫/補充/商品在庫 | shoplazza-products | products +stock / products inventory |
| 返金時の在庫戻し/返金時に在庫を再補充 | この領域 | orders +refund --return-items |
権限 · スコープ
認可はコマンドごとではなく、--domain の単位である領域ごとに行われます。認可のフローは
shoplazza-common → Authentication を参照してください。
| 操作 | 必要なもの | 付与 |
|---|---|---|
読み取り(get / get-by-number / list / +search / +count / サブリソースの読み取り) | orders 読み取りスコープ | auth login --domain orders |
書き込み(+ship / +refund / +update-tracking / create / update / cancel / pay / delete / サブリソースへの書き込み) | orders 書き込みスコープ | auth login --domain orders |
正確なスコープ名は shoplazza auth scopes で確認してください。--domain orders によってそれらのスコープが展開されます。
注意点
ドメイン固有の落とし穴のみです(一般的なもの — .data プレフィックス、-r なしの --jq — は
shoplazza-common に記載されています)。
| 症状 | 原因 | 対処法 |
|---|---|---|
unfulfilled / fulfilled で絞り込んだ | enum にありません | 未発送 = waiting。上記の enum テーブルを参照してください |
#… の番号で orders get を実行しても見つからない | get が受け取るのは内部の order_id です。注文番号は別のキーです | get-by-number --params '{"number":"…"}' を使用します(# を除去してください) |
+refund で「order has N payment_lines」エラーが発生する | 複数の支払い明細がある注文では、明示的な選択が必要です | 一覧に表示された候補から --payment-line-id を指定して再実行します |
+refund / +ship のドライランでリクエストが2つ表示される | これらのショートカットは、先に注文を GET して(支払い明細/出荷可能な商品の特定)、その後 POST します | 想定どおりです。ドライランの POST 本文には、検索で取得したデータ(例:refund_line_items、空の payment_line_id)は含まれません。実行時に補完されます |
| 出荷だけを取り消すつもりが注文を取り消した(またはその逆) | 注文のキャンセル ≠ 出荷記録のキャンセル | 注文 → orders cancel。フルフィルメント → orders fulfillments cancel(両方のパス ID が必要です) |
単純な返金に refunds create の本文を手作業で組み立てた | このエンドポイントでは refund_payments を含む完全な本文が必要です | +refund を推奨します。エンドポイントを直接使うのは分割返金/明細別返金の場合のみです → references/refunds.md |
1件の注文の記録を取得するために、ストア全体の refunds list を実行した | エンドポイントが2種類あります | 1件の注文の場合 → refunds list-by-order --params '{"order_id":"…"}' |
+search でカンマ区切りの値を --status に指定した | ショートカットのフラグは単一の値のみ指定できます | 複数のステータスの場合 → orders list --params '{"status":["opened","placed"]}' |
| 「特定の購入者」を検索したのにストア全体の結果が返る | フィルターが無視されたか、ページの表示件数が少なく見えるだけです | 回答する前に、orders +count でフィルターあり/なしの件数を照合してください — shoplazza-common の「フィルター付きリストの読み取り」を参照してください |
keyword_scope_fields=["email"] または ["order_no"] で検索してもヒット数が0 | これらはスキーマの説明文にある例で、受け付けられる値ではありません | fuzzy_fields のフィールド名(shipping_email、number、name など)を使ってください — 「注文を正確に検索する」を参照してください |
unknown flag: --fields | --fields に対応する orders コマンドはありません | --jq で絞り込んでください |
必須フィールドが足りず orders create が拒否された | 本文全体を order ラッパーの中に入れる必要があります。line_items[].quantity、shipping_address(last_name、email、country_code、province、province_code、city、address、zip)、shipping_line(shipping_name、shipping_price)、tax_total、currency_code はすべて必須です | 完全なネスト構造の本文を作成してください → references/orders-create.md(schema orders.create --view request で検証済み) |
country / province を設定したのに orders create が失敗する | 必須キーは country_code / province_code(ISO:US、CA)です。表示名の country / province は任意です | 両方のコードを送信してください。references/orders-create.md を参照してください |
orders pay の payment_line オブジェクトをコピーして orders create に指定した | orders create では、スキーマ上 payment_line は文字列型です(レジストリのフラット化によるものです)。orders pay ではオブジェクト型なので異なります | 作成時は payment_line を省略し、後から orders pay で支払いを記録してください |
本文なしの orders pay が予想外に「成功」した | 空の本文は不正なテスト支払いとして扱われます | 実際の決済チャネルには payment_line(payment_channel、payment_method、transaction_no)を、カスタム方式には gateway を指定してください |
| スキーマの概要に「shopping zone」とある | レジストリの誤記です。shipping zone の意味です | 無視してください。コマンドは shipping-schemas {create,update,delete}-zone です |
レシピ
# 1. Orders placed in the last 7 days that are not yet shipped
orders +search --fulfillment-status waiting --since <today-7d, e.g. 2026-07-16>
# 2. Paid orders for one customer
orders +search --customer-id 100200 --financial-status paid
# 3. All orders from a buyer email — exact, complete, and checked against the store total
orders +search --email [email protected] --page-limit 250
orders +count --email [email protected] --jq '.data.count' # must be < the unfiltered count
orders +count --jq '.data.count'
# 4. Total order count, no filters
orders +count --jq '.data.count'
# 5. Order detail by order number
orders get-by-number --params '{"number":"2026071500123"}' --jq '.data.order'
# 6. Ship the whole order and notify the buyer
orders +ship --order-id 4300123 --tracking SF0011223344 --company "顺丰" --notify
# 7. Fix a mistyped tracking number (no re-notify)
orders +update-tracking --order-id 991100 --fulfillment-id 77001 --tracking YT5544332211
# 8. Partial refund + return inventory — dry-run, restate, wait for go-ahead, then run
orders +refund --order-id 887799 --amount 19.90 --note "wrong size" --return-items --dry-run
orders +refund --order-id 887799 --amount 19.90 --note "wrong size" --return-items
# 9. Cancel an order with a reason — dry-run first
orders cancel --params '{"order_id":"660011"}' --data '{"reason":"买家重复下单"}' --dry-run
orders cancel --params '{"order_id":"660011"}' --data '{"reason":"买家重复下单"}'
# 10. Flag an order as high fraud risk with a reason
orders risks create --params '{"order_id":"445500"}' \
--data '{"risk":{"level":"high","details":["收货地址与 IP 所在国家不一致"]}}'
# 11. Which carrier owns this tracking number?
orders tracking-carriers detect --params '{"tracking_number":"9400111899223344556677"}'
# 12. Payment transactions on an order
orders transactions list --params '{"order_id":"778899"}'
# 13. One order's refund records
orders refunds list-by-order --params '{"order_id":"220033"}' --jq '.data.records'
参照資料
- references/orders-create.md — 手動注文/下書き注文の作成:ネストされた完全な本文(必須項目と任意項目)、必須か確認するかの判断、最小限の例と詳細な例
- references/fulfillments.md — フルフィルメントレコード:リーフ CRUD、キャンセル/完了、本文の形式
- references/refunds.md — 返金レコードの本文(分割返金/明細別返金)、ストア全体および注文ごとの一覧、カスタムチャネルでの返金に使う
finish - references/risks.md — 不正リスクレコード:レベルの列挙型、詳細、CRUD
- references/transactions.md — 購入者の決済トランザクション、ステータスの列挙型
- references/post-sales.md — アフターサービスレコード:一覧のフィルター、削除
- references/shipping-schemas.md — 一般スキーマ、配送ゾーン、利用可能な配送方法(GB の特殊ケース)
- references/tracking-carriers.md — 配送業者の検出/一覧
- コマンドごとのフラグ:
shoplazza orders <cmd> --help - 仕様リーフのパラメーター/本文/レスポンス:
shoplazza schema orders.<cmd>(ネストされた例:schema orders.fulfillments.create) - 複数機能にまたがる仕組み(認証/ティア/出力エンベロープ/
--dry-run/--jq/安全性):../shoplazza-common/SKILL.md - ショートカットの信頼できる唯一の情報源:
shortcuts/orders/*.go