請求管理ロボ APIをドライバー化:各種ツールから接続してみた
本記事は、各種 Web API を ODBC / JDBC / ADO.NET といった標準のDB接続規格でアクセスできるようにするCData REST Driverを用いて、請求管理ロボの API を各種ツールから接続する方法をまとめたものです。
ExcelやAccess・Power BIなどのエンドユーザーが利用するUIベースのツールはもちろん、Visual StduioやEclipseといった開発ツールからも接続することが可能です。
対象 API
請求管理ロボは、毎月請求が発生する取引先に対して請求・集金・未収催促が全自動でできる「請求管理システム」です。
詳しくは以下のURLからどうぞ。
請求管理ロ APIでは、現在以下のようなエンドポイントが提供されています。請求書の更新や削除はもちろん、商品や請求先といったマスターの登録更新も実施できます。
- クレジットカード登録
- 口座振替依頼書発行
- 請求先
- 請求情報
- 即時決済
- 売上消込
- 請求書
- 商品 等
今回は請求書の参照機能をドライバー化してみました。
なお、ドキュメントは以下のリンクからダウンロードすることが可能です。
実現イメージ
今回はAPIの連携対象BIツールやIDEでから接続しますが、各APIは単純にツールと接続することはできません。
各ツールがどのようにWeb API側へリクエストを投げるべきかの判断材料やメタデータの情報が無いためです。
そこで、CData REST ベースの各種 Driverを用いて、このボトルネックを解決します。
まず、各ツールからはODBCインタフェースでSQL(Select文)をCData REST ODBC Driverに向けて発行してもらいます。そのリクエストを受け取った、CData ODBC REST Driverは、請求管理ロボ の WebAPI のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト形式に変換して、POSTメソッドを発行します。
リクエスト後、Jsonフォーマットで返ってきたデータセットはCData REST ODBC DriverがODBCインタフェースのResultsetに変換してツールに返します。
これにより、各種ツールからアドホックにSQLによるリクエストがあったタイミングで最新のデータを請求管理ロボ API から取得することが可能です。
各種接続シナリオと必要なツール
CData REST Driverは様々なツールとの接続に利用できますが、今回は以下のツールを用いて接続する方法を解説していきます。
- 各種CData REST Driver
- Excel(Excel-addinで利用)
- Access(ODBC接続で利用)
- PowerBI (ODBC 接続で利用)
請求管理ロボ API 利用準備
最初に請求管理ロボのAPIを利用するために、請求管理ロボ側でAPIの設定を行います。手順はは請求管理ロボのヘルプをご覧ください。アクセスキーは後の手順で使用するので手元に控えておいてください。
REST データ処理用 RSDファイルの作成
続いて、請求管理ロボ の API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。
サンプルとして請求管理ロボの請求書(bill)テーブルを取得するための設定ファイルを作成していますので、以下のGitHubから保存して、利用してみてください。
保存先フォルダは後ほど使用するので「C:\CData_REST\BillingRobo」といった書き込み可能な任意のフォルダに配置してください。
CData 各種 REST Driverのインストール
各種ツールとて請求管理ロボ API を繋ぐために必要となるCData REST Driverをインストールします。
基本的なインストール・設定方法は各種Driver共通ですので、ここではODBC Driverを例に説明します。
まず、CData REST ODBC Driverの30日間の評価版をダウンロードします。ダウンロードの際には、Emailの登録が必要となります。
ダウンロードしたsetup.exeファイルをBIツールがインストールされているマシンにインストールします。インストールウィザードに従い、EULAを確認した上でインストールを完了します。
※途中、ライセンスサーバーへのオンラインアクティベーションが行われるためネットワーク環境に接続されている必要があります。
インストールが完了すると、ODBCのDSN設定のウィンドウが立ち上がります。
以下の項目をセットし、保存します。
Otherにはそれぞれ事前に取得したuser_id(メールアドレス)、access_key(アクセスキー)を設定してください。
-
Schema
- Location : 先程RSDファイルを配置したフォルダパス(例:C:\CData_REST\BillingRobo)
- Location : 先程RSDファイルを配置したフォルダパス(例:C:\CData_REST\BillingRobo)
-
その他
- Other :user_id=メールアドレス;access_key=アクセスキー
以上で、CData REST Driverの準備は完了です。
Excel から 請求管理ロボ API に接続(Excel Add-in for REST)
CData Excel Add-in for REST をインストール後、Excelを立ち上げるとCDataタブが追加されていることがわかります。このタブから各種操作を実施します。
接続を開始するには、CDataタブから[取得元REST]をクリックします。
最初に接続するためのウィザードが表示されるので、「CData 各種 REST Driverのインストール」の内容と同様に各種パラメータを入力します。
接続後、対象テーブルを選択し、「OK」をクリックします。
クリック後、対象のデータが一括で取得できます。
Access リンクテーブル から 請求管理ロボ API に接続(CData REST ODBC Driver)
次はCData ODBC Driverを利用して、Access リンクテーブルから接続してみたいと思います。
あらかじめ新規にAccessを立ち上げて、空のデータベースを作成しておきましょう。
続いて「外部データ」タブから「新しいデータ ソース」→「他のソースから」→「ODBC データベース」を選択します。
ウィザードが表示されるので「リンクテーブルを作成」を選択し、「OK」をクリックします。
データソースの選択では「コンピューターデータソース」から事前に作成したCData REST Driver用DSNを選択し「OK」をクリック
テーブルの一覧が表示されるので、任意のテーブルを選択し「OK」をクリックします。
固有レコードの識別選択では通常キーとなる情報を設定しますが、今回はUpdate等は行わないため、何も指定せずに「OK」をクリックしてください。
設定後、リンクテーブルが追加され、以下のように請求書データを閲覧することができるようになります。もちろん、通常通りクエリデザイナーでも使用可能です。
PowerBI から 請求管理ロボ API に接続(CData REST ODBC Driver)
最後にCData ODBC Driverを用いて、Power BIから請求管理ロボの請求書データを取得します。
PowerBI Desktopを起動して、「データを取得」をクリックします。
データ接続先一覧の中から「ODBC」を選択し、「接続」をクリックします。
データソース名は先程登録した請求管理ロボのDSNを選択し「OK」をクリックします。
テーブルの一覧から対象となるテーブルを選択し「読み込み」をクリックします。
以下のように請求管理ロボの請求書データを読み込みことができます。
あとはPoewr BIの機能を用いて、ビジュアライズに利用することができます。
補足
請求管理ロボの請求書参照APIの請求書の最大取得件数は200件です。
上記「REST データ処理用 RSDファイルの作成」でGithubからダウンロード可能な定義ファイルでは、200件取得出来る様に定義しております。200件を超える場合には、下記のSQLの様に、where句にて、発行日の検索開始日(issue_start_date)と発行日の検索終了日(issue_stop_date)で絞り込んでください。
select * from bill where issue_start_date = '2018/08/01' and issue_stop_date = '2018/08/31'
終わりに
いかがでしたでしょうか。
これ以外にもCData REST Driverは各種ETLツールや帳票ツールなどからも接続することが可能です。
以下のCData オンラインナレッジベースには、各種ツールからの接続方法を紹介した記事が多数掲載されているので、是非見てみてください。
Author And Source
この問題について(請求管理ロボ APIをドライバー化:各種ツールから接続してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/kuwazzy/items/463da23152d0c4cfdde5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .