供給元の在庫ソフトでも引当を取る
KOWAで買い手の注文を仮引当すると、供給元側には「在庫確保待ち」の注文ができます。供給元の接続プログラムは自社の受注・在庫管理ソフトへ同じ品番と数量を送り、そのソフトで実際に引当が完了したことを確認してKOWAへ結果を返します。KOWAが返す注文番号を外部側の参照番号として使い、再試行時に同じ予約を二重に作らないでください。
認証と取得
会社コンソールの「自動連携用APIキー」 kowa_inv_... を連携プログラムに設定します。送受信のすべてに Authorization: Bearer 発行したキー を付けます。買い手用の kowa_ord_... とは別のキーです。
GET https://kowashoji.com/api/inventory-sync/reservations
pending に orderId、supplierSku、quantity、expiresAt が並びます。買い手の氏名・住所・店舗名は渡しません。一回の取得は各200件までです。処理後、次の取得で残りを受け取ります。
外部ソフトで確保した結果
POST https://kowashoji.com/api/inventory-sync/reservations
Content-Type: application/json
{"action":"confirm","orderId":"KOWAの注文UUID","source":"inventory-system","externalReservationId":"自社ソフトの予約番号"}
source は半角英小文字で始まる識別名、externalReservationId は自社ソフトで追跡できる予約番号です。同じ注文・番号の再送は安全です。期限切れやKOWA側のキャンセルなどで409が返った場合は、外部ソフトに作った引当を解除して照合してください。KOWAの初期仮引当期限は72時間ですが、支払手続きによって延長される場合があります。外部ソフトの予約期限を固定で72時間にせず、確保済みの注文は出荷または解除まで維持してください。
確保できなかったときは {"action":"reject","orderId":"KOWAの注文UUID"} を送ります。KOWA側は買い手の仮引当を解放します。
キャンセル・期限切れの解除
GET 応答の releaseRequired に、外部ソフト側でまだ解除していない予約を返します。まず自社ソフトで予約を解除し、解除完了を確認した後、次を送ります。
{"action":"released","orderId":"KOWAの注文UUID","source":"inventory-system","externalReservationId":"自社ソフトの予約番号"}
外部予約の解除が済むまで、この一覧から消えません。出荷済みの注文は解除対象になりません。外部ソフトへの接続失敗や結果不明のときは照合してから再実行し、確保済みと推測してKOWAへ確認を返さないでください。
在庫数の合わせ方
在庫同期APIには、自社ソフトで未引当の販売可能数を送ります。KOWAは、外部で引当済みと確認したKOWA注文を観測時刻に照らして一度だけ加算し、KOWAの仮引当を差し引きます。古い在庫の読み取りや外部ソフトの更新遅延がある場合、複数店舗の同時販売を完全には防げません。売り越しを避けるため、各ソフトの反映時間に応じた販売数の上限を設定してください。
接続プログラムはソフトごとに必要です。例えば受注伝票の登録APIがある場合でも、登録受付と実際の在庫引当は別の状態として照会します。予約専用APIを持たないソフトでは、予約として扱える受注伝票や引当先の設定を確認してから接続します。