スマレジ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の簡単な操作性とワークフロー、スケジューラ、豊富な変換機能を体感してみてください。