スマレジAPIではスマレジが管理する様々なデータを取得およびスマレジに更新することが可能です。 今回はIntegrate.ioを使ってスマレジのデータをAmazon S3へ出力する 方法について紹介します。
Table of Contents:
スマレジとは?
スマレジAPIについて
スマレジAPI利用時の注意点
まとめ
スマレジとは
スマレジはiPadなどを用いた低価格かつ高機能なPOSレジです。
小売やアパレル、飲食店など多くのニーズに応える機能を有し、シンプル操作、時間や場所を選ばないリアルタイムな売上分析を実現します。
スマレジAPIについて
スマレジAPIではスマレジが管理する様々なデータを取得およびスマレジに更新することが可能です。
以下はスマレジAPIで取得できる情報の一例です。
- 部門情報
- 商品情報
- 会員情報
- 在庫情報
- 取引情報
- 店舗情報
- 日次締め情報
- セール情報
- スタッフ情報
- 日別予算情報
- ロス情報
- 出荷情報
- 発注情報
- 入荷情報
- 出庫情報
- 入庫情報
- 棚卸情報
- 棚卸在庫情報
スマレジデータのデータをAmazon S3へ出力する
1. スマレジAPIの利用方法について
1. まずメニューから「スマレジAPI設定」画面を開きます。
2. 次に「受信機能を利用する」にチェックをつけ、契約ID、URL、アクセストークン(なければ生成する)を確認します。
3. APIで取得する項目について「利用する」にセットします。
2. スマレジAPIにIntegrate.ioからリクエストを送信する
Integrate.ioからスマレジAPIへ接続する際、Integrate.ioのRest APIコンポーネントを利用します。
Rest API 接続設定画面
Rest APIコンポーネントの設定画面を開き、以下のように接続に必要な情報をセットします。
1. パッケージ画面でRest APIコンポーネントを追加し、以下の情報を入力します。
URL: https://webapi.smaregi.jp/access/
Header
Key | Value |
x-contract-id | 契約ID *「スマレジAPI設定画面」参照 |
x-access-token | APIキー |
content-type | application/x-www-form-urlencoded |
リクエスト Body
ヒント:リクエストのBodyについては、こちらのサイトで簡単に生成することができます。
今回は条件として、更新日が2020-01-01以降のデータを取得するように設定します。
proc_name=product_ref¶ms= { "fields": [ "productId", "categoryId", "productCode", "productName", "productKana", "taxDivision", "productPriceDivision", "price", "customerPrice", "cost", "attribute", "description", "catchCopy", "size", "color", "tag", "groupCode", "url", "displaySequence", "salesDivision", "stockControlDivision", "displayFlag", "division", "productOptionGroupId", "pointNotApplicable", "taxFreeDivision", "supplierProductNo", "staffDiscountRate", "appStartDateTime", "insDateTime", "updDateTime" ], "conditions": [ { "updDateTime >=": "2020-01-01" } ], "order": null, "limit": 1000, "page": 1, "table_name": "Product" }
2. Resultは以下のように指定します。
3. 取得したJSONをプレビューで確認
4. 取得する列を選択
3. Integrate.ioのジョブを実行してみる
今回は、以下のようなシンプルなジョブを定義し、実行します。
ジョブ実行結果
S3に出力されたCSVデータを確認し、正しく取得されていることを確認します。
ヒント:
今回は更新日が2020-01-01以降のデータを取得しましたが、実際にジョブを実装する際に、差分更新を行いたいなどの要件があるかと思います。その場合、Integrate.ioでは、動的に日付を計算した条件に従いデータを取得することが可能です。ここではそのやり方についても解説したいと思います。
1. 変数設定画面で動的に今日の日付をセットする変数を作成します。
2. リクエストBodyの条件設定部分に変数を使って条件をセットする
スマレジAPI利用時の注意点
スマレジAPI利用時にいくつか守るべき注意点があります。Integrate.ioからのアクセス時に、以下の点に注意し、ご利用ください。
負荷のかかる以下のような利用方法は避ける
- 検索条件を指定せずに全件検索を実施する
- 複数のリクエストを同時に送信する
下記2点での利用方法によるアクセスを行わない
- トランザクション系(取引/日次締め/在庫変動履歴)のAPIに於いて、検索条件を指定せずに全件検索を行う利用方法
- 複数のリクエストを、同時に送信する(並列送信する)利用方法
APIのスレッド数の制限(Integrate.ioのCurl Functionを利用してスマレジAPIにアクセスする場合)
スマレジAPI側からのガイダンスに基づき、APIリクエスト時の同時接続数(スレッド数)は「1」にするようにしてください。
Integrate.ioのCurl Functionを利用してスマレジAPIにアクセスする場合、システム変数「_DEFAULT_PARALLELISM」(デフォルト:0)を変更しない限りは、1スレッドでアクセスします。したがってシステム変数「_DEFAULT_PARALLELISM」は「0」のままに設定ください。
注)上記で紹介したRest APIコンポーネントを使用してデータを読み込む場合は、常に1スレッドでスマレジAPIにアクセスするため、特に設定は必要ありません。
こうしたガイダンスに沿わないリクエストは、遮断されてしまう場合がありますのでご注意ください。
まとめ
今回のブログでは、Integrate.ioを使用してスマレジAPI経由でデータを取得する方法を解説しました。スマレジAPIを使用すれば、データの抽出以外にもスマレジにデータを書き込むことも可能です。Integrate.ioでは様々なクラウド上のアプリケーションに対して、データの取得、書き込みが可能です。
自社のクラウドデータを別のクラウドアプリケーションやデータウェアハウスに連携し、データをより活用していきたいと考えている方は、ぜひオンラインデモに登録し、Integrate.ioの簡単な操作性とワークフロー、スケジューラ、豊富な変換機能を体感してみてください。