Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

スマレジ APIをドライバー化:各種ツールから接続してみた

本記事は、各種 Web API を ODBC / JDBC / ADO.NET といった標準のDB接続規格でアクセスできるようにするCData REST Driverを用いて、スマレジの API を各種ツールから接続する方法をまとめたものです。

image.png

ExcelやAccess・Power BIなどのエンドユーザーが利用するUIベースのツールはもちろん、Visual StduioやEclipseといった開発ツールからも接続することが可能です。

追記:※2020/06/24

正式にスマレジドライバーがリリースされました。

https://www.cdata.com/jp/drivers/smaregi/

image.png

対象 API

スマレジはクラウドベースのPOSTシステムとシンプルなレジ機能をメインとしたSaaS型アプリケーションです。

詳しくは以下のURLからどうぞ。

https://smaregi.jp/

スマレジ APIでは、現在以下のようなエンドポイントが提供されています。商品や在庫の管理はもちろん、取引情報や会員情報の管理も実施できます。

  • 部門情報
  • 商品情報
  • 会員情報
  • 在庫情報
  • 取引情報
  • セール情報
  • 会員ポイント情報 等

今回は商品情報の参照機能をドライバー化してみました。

なお、ドキュメントは以下の手順でダウンロードすることが可能です。されています。

WebAPIの仕様書のダウンロード方法

実現イメージ

今回はAPIの連係対象BIツールやIDEでから接続しますが、各APIは単純にツールと接続することはできません。
各ツールがどのようにWeb API側へリクエストを投げるべきかの判断材料やメタデータの情報が無いためです。

image.png

そこで、CData REST ベースの各種 Driverを用いて、このボトルネックを解決します。

まず、各ツールからはODBCインタフェースでSQL(Select文)をCData REST ODBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData ODBC REST Driverは、スマレジ の WebAPI のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して、Getメソッドを発行します。

リクエスト後、Jsonフォーマットで返ってきたデータセットはCData REST ODBC DriverがODBCインタフェースのResultsetに変換してツールに返します。

image.png

これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータをスマレジ API から取得することが可能です。

各種接続シナリオと必要なツール

CData REST Driverは様々なツールとの接続に利用できますが、今回は以下のツールを用いて接続する方法を解説していきます。

  • 各種CData REST Driver
  • Excel(Excel-addinで利用)
  • Access(ODBC接続で利用)
  • PowerBI (ODBC 接続で利用)

スマレジ API 利用準備

最初にスマレジのAPIを利用するために、スマレジ側でAPIの有効化設定を行います。

有効化には管理者権限を持ったユーザーが必要ですので注意してくだい。

スマレジ管理画面から「設定」→「システム連携」→「スマレジAPI連携」をクリックします。

image.png

受信設定タブから「受信機能を利用する」を「利用する」に変更し、契約IDとURL、アクセストークンを取得します。アクセストークンは初期状態では表示されていませんので、右側のボタンをクリックして取得できるようにします。

image.png

次に受信設定タブの下に表示されている機能設定から利用したい機能を確認し「利用する」へ変更しておきます。

image.png

設定後、更新ボタンをクリックすることで反映されます。

以上でスマレジ API 側の設定は完了です。

REST データ処理用 RSDファイルの作成

続いて、スマレジ の API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。

サンプルとしてスマレジの商品(Product)系テーブルを取得するための設定ファイルを作成していますので、以下のGitHubから保存して、利用してみてください。

CData.REST.Smaregi

保存先フォルダは後ほど使用するので「C:\CData_REST\Smaregi」といった書き込み可能な任意のフォルダに配置してください。

image.png

CData 各種 REST Driverのインストール

各種ツールとスマレジ API を繋ぐために必要となるCData REST Driverをインストールします。

基本的なインストール・設定方法は各種Driver共通ですので、ここではODBC Driverを例に説明します。

まず、CData REST ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。

image.png

ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。

※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。

image.png

インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。

以下の項目をセットし、保存します。

Otherにはそれぞれ事前に取得したcontract_id(契約ID)、access_token(アクセストークン)を設定してください。

  • Schema

    • Location : 先程RSDファイルを配置したフォルダパス(例:C:\CData_REST\Smaregi)
  • その他

    • Other :contract_id=abcd1234;access_token=12345678901234567890123456789012;

image.png

以上で、CData REST Driverの準備は完了です。

Excel から スマレジ API に接続(Excel Add-in for REST)

CData Excel Add-in for REST をインストール後、Excelを立ち上げるとCDataタブが追加されていることがわかります。このタブから各種操作を実施します。

接続を開始するには、CDataタブから[取得元REST]をクリックします。

image.png

最初に接続するためのウィザードが表示されるので、「CData 各種 REST Driverのインストール」の内容と同様に各種パラメータを入力します。

image.png

接続後、対象テーブルを選択し、「OK」をクリックします。

image.png

クリック後、対象のデータが一括で取得できます。

image.png

Access リンクテーブル から スマレジ API に接続(CData REST ODBC Driver)

次はCData ODBC Driverを利用して、Access リンクテーブルから接続してみたいと思います。

あらかじめ新規にAccessを立ち上げて、空のデータベースを作成しておきましょう。

続いて「外部データ」タブから「新しいデータ ソース」→「他のソースから」→「ODBC データベース」を選択します。

image.png

ウィザードが表示されるので「リンクテーブルを作成」を選択し、「OK」をクリックします。

image.png

データソースの選択では「コンピューターデータソース」から事前に作成したCData REST Driver用DSNを選択し「OK」をクリック

image.png

テーブルの一覧が表示されるので、任意のテーブルを選択し「OK」をクリックします。

image.png

固有レコードの識別選択では通常キーとなる情報を設定しますが、今回はUpdate等は行わないため、何も指定せずに「OK」をクリックしてください。

image.png

設定後、リンクテーブルが追加され、以下のように商品データを閲覧することができるようになります。もちろん、通常通りクエリデザイナーでも使用可能です。

image.png

PowerBI から スマレジ API に接続(CData REST ODBC Driver)

最後にCData ODBC Driverを用いて、Power BIからスマレジの商品データを取得します。

PowerBI Desktopを起動して、「データを取得」をクリックします。

image.png

データ接続先一覧の中から「ODBC」を選択し、「接続」をクリックします。

image.png

データソース名は先程登録したスマレジのDSNを選択し「OK」をクリックします。

image.png

image.png

テーブルの一覧から対象となるテーブルを選択し「読み込み」をクリックします。

image.png

以下のようにスマレジの商品データを読み込みことができます。

image.png

あとはPoewr BIの機能を用いて、ビジュアライズに利用することができます。

image.png

終わりに

いかがでしたでしょうか。

これ以外にもCData REST Driverは各種ETLツールや帳票ツールなどからも接続することが可能です。

以下のCData オンラインナレッジベースには、各種ツールからの接続方法を紹介した記事が多数掲載されているので、是非見てみてください。

https://www.cdata.com/jp/kb/

sugimomoto
CData Software Japan - Lead Engineer. favorite technology is Web API (OData),.NET C #, Dynamics 365 (CRM), Azure. Microsoft MVP for Business Solutions 2017-2018
http://kageura.hatenadiary.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away