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


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

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

取引一覧取得APIで、実際に金銭のやり取りが発生したデータのみ取得したい

カテゴリ: POS

締め処理を別のソフトで行うため、取引一覧取得APIでのデータ取得を行い、その中から「サービス提供者とサービス利用者の間で金銭をやり取りが完了した」データのみ抽出したいと考えています。

この場合、レスポンス項目「cancelDivision」が「0:通常」であることを確認しておけば十分でしょうか。

また取引一覧取得APIを用いる際のレスポンスで、取引データは存在しているが実際には金銭のやり取りはない、というようなパターンがもし他に存在するようでしたら、その見分け方を教えていただけないでしょうか。

POS機能の全体像を把握できておらず、認識に不安がありお尋ねしました。

よろしくお願いいたします。

ベストアンサー

  • @eguchis

    売上データを吸い上げたい場合は「transactionHeadDivision(取引区分):1(通常)」をご確認ください。

    尚、キャンセルした取引を除いて取得したい場合、スマレジのキャンセルには以下の2パターンがありますので以下をご確認ください。

    ①取消

    cancelDivision(取消区分):1(取消)

    ②返品取消

    cancelDivision(取消区分):0(通常)

    disposeDivision(打消区分):1(打消元レコード) または 2(打消レコード)

    ※各キャンセルの詳細は以下ヘルプサイトをご参考ください。

    ◇取引をキャンセルする https://help.smaregi.jp/hc/ja/articles/202423816


    次に、現金のやりとりが発生した売上のみを抽出したい場合は、取引一覧取得APIにてcashTotal(内現金支払金額)項目等に金額が入っているものをご確認ください。

    ただし現金の動きをすべて取得したい場合は「transactionHeadDivision(取引区分):1(通常)」に加えて、「2(入金)、3(出金)、4(預かり金)、 5(預かり金返金)」も該当するのでご確認ください。

答え

  • 清谷様

    曖昧なご質問であったにもかかわらず、丁寧にご回答いただきありがとうございます。

    ご教授いただいた内容について開発環境にて実際に操作してみました。


    基本の流れとしては、下記2つということですね。

    • 締め前のキャンセルは「取消」

    対象レコードのcancelDivisionが「0 ⇒ 1」に変更される。

    • 締めを跨いだキャンセルは「打消」

    対象レコードのdisposeDivisionが「0 ⇒ 1」に変更され、

    金額等が対応するdisposeDivision「2」のレコードがキャンセル操作の日付で作成される。

    この際、cancelDivisionは変化しない。


    これ加えて、店舗基本情報設定17「締め方式区分」で締めのタイミングが左右されることと、

    同設定31「レジ端末取引取消ボタン設定」により能動的に取引/打消の選択が可能となることで、

    最終的なレコードの状況が変化するということが理解できました。


    スマレジの設定をどの様にするかは未だ検討中の段階ですが、売上を抽出し各決済方法を識別したいと考えていますので、

    ひとまずcancelDivisionが「0 」かつ disposeDivisionが「0 」の条件で抽出し、

    ご教示いただいたcashTotalの項目やその他クレジット関連項目を参照して識別する形で進めてみようかと思います。


    ありがとうございました。