請求管理ロボ APIをドライバー化:各種ツールから接続してみた


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

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

対象 API

請求管理ロボは、毎月請求が発生する取引先に対して請求・集金・未収催促が全自動でできる「請求管理システム」です。

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

請求管理ロ APIでは、現在以下のようなエンドポイントが提供されています。請求書の更新や削除はもちろん、商品や請求先といったマスターの登録更新も実施できます。

  • クレジットカード登録
  • 口座振替依頼書発行
  • 請求先
  • 請求情報
  • 即時決済
  • 売上消込
  • 請求書
  • 商品 等

今回は請求書の参照機能をドライバー化してみました。

なお、ドキュメントは以下のリンクからダウンロードすることが可能です。

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の設定を行います。手順はは請求管理ロボのヘルプをご覧ください。アクセスキーは後の手順で使用するので手元に控えておいてください。

請求管理ロボ ヘルプ > API > API

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

続いて、請求管理ロボ の API を CData 各種 REST DeiverがSQLとして解釈できるように設定ファイルを作成します。

サンプルとして請求管理ロボの請求書(bill)テーブルを取得するための設定ファイルを作成していますので、以下のGitHubから保存して、利用してみてください。

CDataBillingRobo

保存先フォルダは後ほど使用するので「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)
  • その他

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