Print Label — ラベル手動再印刷
Storage に保存済みの出荷ラベル PDF を、出荷元の print server(Dispatch Config の action=print)へ再送します。紙詰まり・印刷失敗・プリンター不調からの回収用です。Retry Label と違いキャリア API を再呼び出ししません = 追跡番号は変わりません。
Base URL
https://api.lmile.io· 認証x-ingest-secretヘッダー または operator JWT(Authorization: Bearer)(詳細) ·shopはリクエストボディに含めます(API キーで呼ぶ場合は省略できます)
/api/routing/shipment/print-labelは機械間 secret(x-ingest-secret)と倉庫スタッフの operator JWT のどちらでも呼べます(系統はヘッダの有無で明示判別。詳細)。operator JWT 経由は操作スタッフを記録します。
ラベル生成成功時の自動印刷(Fulfillment)が失敗すると
sot.lm_fulfillment_shipments.last_print_errorに記録されます。本 API で保存済み PDF を再印刷してください。ラベル再発行(Address Recovery のretry-label/autoRetryLabel)の成功時は印刷イベントが自動配信されるため本 API の呼び出しは不要です — 本 API は紙詰まり等の手動再印刷専用です。
エンドポイント
POST
/api/routing/shipment/print-label
保存済みラベル PDF の手動再印刷(キャリア再呼び出しなし)
POST /api/routing/shipment/print-label
リクエスト
POST https://api.lmile.io/api/routing/shipment/print-label
x-ingest-secret: {INGEST_SECRET}
Content-Type: application/json{
"shop": "demo-store.myshopify.com",
"sourceSystem": "shopify",
"externalOrderRef": "1001"
}ボディパラメータ
shop
string
✓
店舗ドメイン(API キーで呼ぶ場合は省略できます)
routingOrderId
string (uuid)
△
対象注文。無ければ sourceSystem + externalOrderRef で特定
sourceSystem / externalOrderRef
string
△
routingOrderId 未指定時に必須
fromLocationId
string[] (uuid)
対象出荷元を限定。省略時は保存済みラベル(label_pdf_path)がある出荷元すべて
レスポンス
printed
印刷送信に成功した出荷元数(action: "printed" の件数)
shipments[].action
printed(送信成功)/ skipped(対象外)/ failed(送信失敗)
shipments[].reason
skip / fail 理由: no_label_pdf(保存済みラベルなし)/ fulfillment_source_unresolved / no_print_config(print 設定なし)/ label_pdf_download_failed
shipments[].labelPdfPath
印刷した PDF の Storage パス(shipping-labels バケット)
shipments[].error
action=failed 時の print server 応答(last_print_error に保存)
挙動・冪等性
対象:
fromLocationId指定 > 省略時はlabel_pdf_pathがある出荷元すべて。ラベル未生成の出荷元はno_label_pdfで skip します(本 API はラベルを生成しません。生成は Fulfillment / Retry Label)。print 設定の解決キーは出荷元(
action=labelと同じ。Dispatch Config)。設定の無い出荷元はno_print_configで skip(silent skip しません)。成功:
label_printed_atを更新しlast_print_errorをクリア。失敗:last_print_errorを更新。冪等性はありません(呼ぶたびに物理印刷されます)。同じラベルを複数回 POST すると複数枚出力されます — 再印刷の意図的な操作としてのみ使用してください。
エラー
エンドポイント固有:
400
注文の特定情報なし / バリデーション失敗
{ "ok": false, "error_kind": "invalid_input", "details": [...] }
404
注文が存在しない
{ "ok": false, "error_kind": "order_not_found", "error": "routing order not found" }
共通エラー(401 / 400 / 403 / 405 / 500 / 503)は Error Codes を参照。
データモデル
sot.lm_fulfillment_shipments— 出荷元ごとのlabel_pdf_path/label_printed_at/last_print_error。再印刷はこの行を更新(Fulfillment)sot.lm_location_dispatch_config.action = 'print'— 出荷元 print server 設定(Dispatch Config)ラベル PDF: Supabase Storage
shipping-labels(private)の{shop}/{routingOrderId}/{fromLocationId}.pdf
Last updated
Was this helpful?