6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-09-03

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

image.png

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

対象 API

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

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

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

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

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

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

APIの仕様書のダウンロードリンク

実現イメージ

今回は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リクエスト形式に変換して、POSTメソッドを発行します。

リクエスト後、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 > API

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

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

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

CDataBillingRobo

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

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にはそれぞれ事前に取得したuser_id(メールアドレス)、access_key(アクセスキー)を設定してください。

  • Schema

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

    • Other :user_id=メールアドレス;access_key=アクセスキー

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

補足

請求管理ロボの請求書参照APIの請求書の最大取得件数は200件です。

image.png

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

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?