スマレジAPIではスマレジが管理する様々なデータを取得およびスマレジに更新することが可能です。 今回はIntegrate.ioを使ってスマレジのデータをAmazon S3へ出力する 方法について紹介します。

Table of Contents:

スマレジとは?

スマレジAPIについて

スマレジAPI利用時の注意点

まとめ

スマレジとは

スマレジはiPadなどを用いた低価格かつ高機能なPOSレジです。
小売やアパレル、飲食店など多くのニーズに応える機能を有し、シンプル操作、時間や場所を選ばないリアルタイムな売上分析を実現します。

スマレジAPIについて

スマレジAPIではスマレジが管理する様々なデータを取得およびスマレジに更新することが可能です。

以下はスマレジAPIで取得できる情報の一例です。

  • 部門情報
  • 商品情報
  • 会員情報
  • 在庫情報
  • 取引情報
  • 店舗情報
  • 日次締め情報
  • セール情報
  • スタッフ情報
  • 日別予算情報
  • ロス情報
  • 出荷情報
  • 発注情報
  • 入荷情報
  • 出庫情報
  • 入庫情報
  • 棚卸情報
  • 棚卸在庫情報

スマレジデータのデータをAmazon S3へ出力する

1. スマレジAPIの利用方法について

1. まずメニューから「スマレジAPI設定」画面を開きます。

thumbnail image

2. 次に「受信機能を利用する」にチェックをつけ、契約ID、URL、アクセストークン(なければ生成する)を確認します。

thumbnail image

3. APIで取得する項目について「利用する」にセットします。

thumbnail image

2. スマレジAPIにIntegrate.ioからリクエストを送信する

Integrate.ioからスマレジAPIへ接続する際、Integrate.ioのRest APIコンポーネントを利用します。

thumbnail image

Rest API 接続設定画面
Rest APIコンポーネントの設定画面を開き、以下のように接続に必要な情報をセットします。

thumbnail image

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&params=
{
  "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は以下のように指定します。

thumbnail image

3. 取得したJSONをプレビューで確認

thumbnail image

4. 取得する列を選択

thumbnail image

3. Integrate.ioのジョブを実行してみる

今回は、以下のようなシンプルなジョブを定義し、実行します。

thumbnail image

ジョブ実行結果
S3に出力されたCSVデータを確認し、正しく取得されていることを確認します。

thumbnail image

ヒント:

今回は更新日が2020-01-01以降のデータを取得しましたが、実際にジョブを実装する際に、差分更新を行いたいなどの要件があるかと思います。その場合、Integrate.ioでは、動的に日付を計算した条件に従いデータを取得することが可能です。ここではそのやり方についても解説したいと思います。

1. 変数設定画面で動的に今日の日付をセットする変数を作成します。

2. リクエストBodyの条件設定部分に変数を使って条件をセットする

thumbnail image

スマレジAPI利用時の注意点

スマレジAPI利用時にいくつか守るべき注意点があります。Integrate.ioからのアクセス時に、以下の点に注意し、ご利用ください。

負荷のかかる以下のような利用方法は避ける

  • 検索条件を指定せずに全件検索を実施する
  • 複数のリクエストを同時に送信する

下記2点での利用方法によるアクセスを行わない

  1. トランザクション系(取引/日次締め/在庫変動履歴)のAPIに於いて、検索条件を指定せずに全件検索を行う利用方法
  2. 複数のリクエストを、同時に送信する(並列送信する)利用方法

APIのスレッド数の制限(Integrate.ioのCurl Functionを利用してスマレジAPIにアクセスする場合)

スマレジAPI側からのガイダンスに基づき、APIリクエスト時の同時接続数(スレッド数)は「1」にするようにしてください。

Integrate.ioのCurl Functionを利用してスマレジAPIにアクセスする場合、システム変数「_DEFAULT_PARALLELISM」(デフォルト:0)を変更しない限りは、1スレッドでアクセスします。したがってシステム変数「_DEFAULT_PARALLELISM」は「0」のままに設定ください。

thumbnail image

注)上記で紹介したRest APIコンポーネントを使用してデータを読み込む場合は、常に1スレッドでスマレジAPIにアクセスするため、特に設定は必要ありません。

こうしたガイダンスに沿わないリクエストは、遮断されてしまう場合がありますのでご注意ください。

まとめ

今回のブログでは、Integrate.ioを使用してスマレジAPI経由でデータを取得する方法を解説しました。スマレジAPIを使用すれば、データの抽出以外にもスマレジにデータを書き込むことも可能です。Integrate.ioでは様々なクラウド上のアプリケーションに対して、データの取得、書き込みが可能です。

自社のクラウドデータを別のクラウドアプリケーションやデータウェアハウスに連携し、データをより活用していきたいと考えている方は、ぜひオンラインデモに登録し、Integrate.ioの簡単な操作性とワークフロー、スケジューラ、豊富な変換機能を体感してみてください。