スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

仮販売・取置きをAPI経由で完了する方法

カテゴリ: POS

いつもお世話になっております。

仮販売と取置きをAPI経由で完了にする場合の手続きですが、

■仮販売

  1. POST /transactions/temporaries (又はWaiterをチェックアウト)で仮販売を作成
  2. PATCH /transactions/temporaries/{id}/status でstatus:1 に更新
  3. POST /transactions で取引を登録(別取引IDの取引ができる)

■取置き

  1. POST /transactions/layaways で取置きを作成
  2. POST /transactions で layawayServerTransactionHeadId を指定して登録する(取置きが完了になり、新しい取引IDで取引ができる)

というかたちで合っておりますでしょうか?

お手数おかけいたしますが、ご確認のほどよろしくお願いいたします。

ベストアンサー

  • @LBB山野

    取引更新APIにて「仮販売データのbarcode」を指定した場合、取引データが生成され元の仮販売データは自動で完了ステータスになります。

    そのため、仮販売状態変更の操作(②)は不要となります。

    それ以外は記載いただいた通りで問題ございません。

答え

  • @スマレジ 清谷

    ご回答ありがとうございます。

    取引更新APIなのですが、

    PATCH /transactions/{id} のAPIという認識でよろしいでしょうか。

    Waiterでチェックアウトしたときに返ってきた仮取引の tempTransactionHeadID を使って

    GET /transaction/temporaries/{id} で仮取引を取得し、

    その仮取引のbarcodeを

    PATCH /transactions/{id} に(REQUEST BODYで)渡したのですが

     [type] => about:blank

      [title] => NotFound

      [detail] => 存在しないURIです。

      [status] => 40

    が返ってきました。

    利用するAPIや渡し方に問題がありましたらご指摘頂きたく

    お手数おかけいたしますが、ご確認のほどよろしくお願いいたします。

  • @LBB山野

    大変申し訳ございません。

    前回の案内に誤りがございました。

    仮販売データを基に取引をたてる場合は、取引更新APIではなく、「取引登録API」をご利用ください。

    正しくは以下の通りです。

    【「取引登録API」にて「仮販売データのbarcode」を指定した場合、取引データが生成され元の仮販売データは自動で完了ステータスになります。】


    取引登録API(POST/transactions)

    仕様書:https://www1.smaregi.dev/apidoc/#operation/createTransaction