各製品の資料を入手。
詳細はこちら →スマレジAPI の仕様変更に伴うドライバーの対応のお知らせ
2021年2月15日に株式会社スマレジより、API の利用につき以下の案内がございました。これを受け、CData Driver および CData Sync (スマレジ連携製品)でのクエリ方法に注意が必要になります。この記事では新しいAPI 仕様でのドライバーの使用方法を説明します。
スマレジ社からの案内の抜粋
【スマレジ】スマレジAPI(V2)仕様変更のお知らせ(管理画面)
一部のテーブル参照時、検索条件が必須になります。現在公開中のスマレジAPIに於いて、特定の方法でご利用いただいた際にデータベースサーバーへ大きな負荷がかかる問題がございます。
データベースサーバーへの負荷を軽減するため、一部のテーブル参照に際して検索条件の必須化を実施いたします。
大変お手数をお掛けして申し訳ございませんが、必須条件が設定されていない場合、正常にAPI連携が行われなくなりますので、下記の必須検索条件をご確認いただき、スマレジ管理画面 ver.4.10.0 リリースまでに修正・改修などご対応くださいますようお願いいたします。
取引情報参照 > 取引(TransactionHead):OR条件
下記の絞り込み条件のうち、1つ以上の条件がリクエストに設定されていないとエラーになります。
- 取引ID [transactionHeadId] ID指定,From-To(From-To指定可能範囲は10万以内)
- 取引日時[transactionDateTime] From-To(期間は31日間(1ヶ月ではありません))
- 端末取引日時[terminalTranDateTime] From-To(期間は31日間(1ヶ月ではありません))
- 締め日時[sumDateTime] 日付直接指定 または From-To(期間は31日間(1ヶ月ではありません))
- 更新日時[updDateTime] From-To(期間は31日間(1ヶ月ではありません))
取引情報参照 > 取引明細(TransactionDetail):OR条件
下記の絞り込み条件のうち、1つ以上の条件がリクエストに設定されていないとエラーになります。
- 取引ID [transactionHeadId] ID 指定,From-To(From-To 指定可能範囲は10万以内)
- 取引日時 [transactionDateTime] From-To(期間は31日間(1ヶ月ではありません))
- 更新日時 [updDateTime] From-To(期間は31日間(1ヶ月ではありません))
在庫情報参照 > 在庫履歴(StockHistory):OR条件
下記の絞り込み条件のうち、1つ以上の条件がリクエストに設定されていないとエラーになります。
- ID [id] ID指定, From-To (From-To 指定可能範囲は10万以内)
- 商品ID [productId] ID直接指定のみ
- 対象日時 [targetDateTime] From-To(期間は31日間(1ヶ月ではありません))
CData 製品での対処方法
スマレジ連携製品では、デフォルトでは対象データの全件取得が可能になっていますが、各種フィルター条件の付与をサポートしています。以下のトランザクション系のテーブル・ビューを取得する場合は、フィルター条件を付与してください。
- TransactionHeads
- TransactionDetails
- StockHistories
TransactionHeads
ID による範囲指定を行う場合の例
SELECT * FROM TransactionHeads WHERE TransactionHeadId >= 1 and TransactionHeadId <= 100000;
日付による範囲指定を行う場合の例
SELECT * FROM TransactionHeads WHERE TransactionDateTime >= '2021/03/01 00:00' and TransactionDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionHeads WHERE TerminalTranDateTime >= '2021/03/01 00:00' and TerminalTranDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionHeads WHERE AdjustmentDateTime >= '2021/03/01 00:00' and AdjustmentDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionHeads WHERE SumDateTime >= '2021/03/01 00:00' and SumDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionHeads WHERE CancelDateTime >= '2021/03/01 00:00' and CancelDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionHeads WHERE UpdDateTime >= '2021/03/01 00:00' and UpdDateTime <= '2021/03/31 00:00';
TransactionDetails
ID による範囲指定を行う場合の例
SELECT * FROM TransactionDetails WHERE TransactionHeadId >= 1 and TransactionHeadId <= 100000;
日付による範囲指定を行う場合の例
SELECT * FROM TransactionDetails WHERE TransactionDateTime => '2021/03/01 00:00' and TransactionDateTime <= '2021/03/31 00:00';
SELECT * FROM TransactionDetails WHERE UpdDateTime => '2021/03/01 00:00' and UpdDateTime <= '2021/03/31 00:00';
StockHistory
ID による範囲指定を行う場合の例
SELECT * FROM StockHistories WHERE Id >= 1 and ProductId <= 100000;
SELECT * FROM StockHistories WHERE ProductId = 1;
日付による範囲指定を行う場合の例
SELECT * FROM StockHistories WHERE TargetDateTime => '2021/03/01' and TargetDateTime <= '2021/03/31';
もしお困りのことがございましたら、弊社のサポートデスクまでご相談ください。