返品取引時における旧取引IDと新取引IDの取得に関して(取引明細一覧csv)
現在ざっくりと以下の方法で取引データを取得しております
①初回連携時:取引明細一覧csvを利用して過去3年分の取引データを30日×12回に分けて取得しております。
②初回連携後(更新):取引明細APIによる差分抽出
返品取引が実行された取引に関して、旧取引IDを取得したいです。
過去質問(リンク添付)によると取引取得APIでは、disposeServerTransactionHeadIdに旧取引IDが設定されているため問題ないように思われるのですが、取引明細一覧csvにはdisposeServerTransactionHeadIdがないように思われます。
取引明細一覧csvで返品取引実行前の取引IDを取得することって可能でしょうか?
そもそも、取引明細一覧csvで返ってくる返品取引実行済みのデータに関して、旧取引IDと新取引IDの2つの取引が返ってくるのでしょうか?新取引IDのみ返ってきたりはしないでしょうか?
答え
こちら返ってきたcsvにおいて、"transactionDetailDivision=2"となる取引の取引IDを用いて取引取得APIを叩き、返品実行前の旧取引IDを取得する方法で実装しようかと考えております。
何か問題点やさらにより良い方法等あれば教えていただけますと幸いです。
@高田海斗
ご確認いただいたように、取引明細一覧CSVではdisposeServerTransactionHeadIdを取得することができかねます。
元取引を確認されたい場合は、ご記載いただいた『返ってきたcsvにおいて、"transactionDetailDivision=2"となる取引の取引IDを用いて取引取得APIを叩き、返品実行前の旧取引IDを取得する方法』で運用していただく必要がございます。
注意点としましては、スマレジでは返品処理の方法が3種類ある点です。
処理方法により、確認項目も変わってきます。
【返品処理の方法】
1つ目:返品取消(消込レコード作成)
2つ目:取消
詳細はこちらのヘルプサイトをご確認ください。
3つ目:返品販売詳細はこちらのヘルプサイトをご確認ください。
1つ目の「返品取消(消込レコード作成)」であれば、記載の方法で問題ありません。
2つ目の「取消」であれば、新たに取引は作成されません。
そのため、元取引を確認、という作業は不要になります。
この場合、「cancelDivision:1」となります。
3つ目の「返品販売」であれば元取引との紐づけがないため、取引取得APIを実行してもdisposeServerTransactionHeadIdはブランクとなります。
以上を踏まえて、運用を行っていただければと存じます。