CData Software Blog

クラウド連携のCData Software の技術ブログです。

請求管理ロボ API を各種ツールから連携可能なコネクタ・ドライバー化:CData API Driver

f:id:sugimomoto:20210408170649p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

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

ExcelAccess・Power BIなどのUIベースのツールやAsteriaなどのETLツールはもちろん、Visual StduioやEclipseといった開発ツールからも接続することが可能です。

請求管理ロボ とは?

請求管理ロボは請求・集金・消込・催促を自動化し、経理業務の軽減・効率化を促進するクラウドサービスです。

www.robotpayment.co.jp

f:id:sugimomoto:20210408170658p:plain

また、請求先の登録や請求書の参照・更新などを行うことができるAPIも公開されており、CRMSFAとの連携なども実現できるようになっています。

apispec.billing-robo.jp

f:id:sugimomoto:20210408170708p:plain

今回はこのAPIを使って、様々なツールとの連携を実現しています。

実現イメージ

この記事では 請求管理ロボ APIに対してExcelやPower BI・Asteriaといった各種ツールからの接続方法を紹介します。しかしながら、各APIは単純にツールと接続・連携することはできません。

各ツールがどのようにWeb API側へリクエストを投げるべきかの判断材料や各種認証方法の処理、メタデータの情報等が無いためです。そのためには基本的にカスタムコネクタを作るか、プログラムを組まなければいけません。

f:id:sugimomoto:20210408170720p:plain

そこで、CData API Driver を用いて、このボトルネックを解決します。

まず、各ツールからはODBCJDBCインタフェースでSQL(Select文)をCData API Driverに向けて発行してもらいます。そのリクエストを受け取った CData API Driverは、請求管理ロボ の API のエンドポイントに対して、SQL文を解釈し、HTTPリクエスト発行します。

リクエスト後、JSONフォーマットで返ってきたデータをCData API Driverが各種インタフェースフォーマットにデータを変換してツールに返します。

f:id:sugimomoto:20210408170728p:plain

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

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

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

上記以外のツールからの接続に関しては、以下のページで各種接続方法記事を公開しています。

www.cdata.com

f:id:sugimomoto:20201124135144p:plain

テーブル(ビュー)一覧

請求管理ロボ API Profileでは、以下のテーブル(ビュー)を提供しています。用途に合わせて、接続してみてください。

テーブル名 対応API 備考
BillDetails 請求書明細参照 bill_detail/search
BillingIndividuals 請求先部署参照 billing_individual/search
BillingPaymentMethods 決済情報参照 billing_payment_method/search
Bills 請求書参照 bill/search
ClearningDetails 消込結果明細参照 clearing_detail/search
Clearnings 消込結果参照 clearing/search
Demands 売上消込結果参照 v1.0/demand/search
Goods 商品参照 goods/search
Payments 入金参照 payment/search

請求管理ロボ API 利用準備

請求管理ロボのAPIに接続するにはAPI用のアクセスキーが必要となります。

アクセスキーは請求管理ロボの画面の「API接続設定」画面で生成できます。

f:id:sugimomoto:20210408170737p:plain

以下のようにアクセスキーを発行し、アクセス元となるIPアドレスを登録します。

f:id:sugimomoto:20210408170742p:plain

API データ処理用 設定ファイルを作成

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

すでに私が作成したものがあるので、以下のURLからダウンロードしてください。

https://cdatajbuilds.s3-ap-northeast-1.amazonaws.com/APIProfiles/BilingRobo.apip

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

f:id:sugimomoto:20210408170749p:plain

CDataSyncの場合は手順を後述します。

CData API Driver のインストール

各種ツールと 請求管理ロボ API を繋ぐために必要となる CData API Driverをインストールします。

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

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

https://www.cdata.com/jp/apidriver/download/

f:id:sugimomoto:20201027111336p:plain

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

f:id:sugimomoto:20201027111341p:plain

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

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

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

プロパティ名 備考
Profile C:\API Profiles\BilingRobo.apip 予めダウンロードした請求管理ロボ.apipのパスを指定します。
ProfileSettings APIKey=YOUR_API_KEY;User=USERNAME@MAIL.com; 予め取得したアクセスキーとユーザーIDを指定します。

f:id:sugimomoto:20210408170756p:plain

入力後、接続テストをクリックし以下のようなメッセージが表示されればOKです。

f:id:sugimomoto:20210408170804p:plain

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

Excel から 請求管理ロボ API に接続(Excel Add-in for API

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

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

f:id:sugimomoto:20201116171024p:plain

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

f:id:sugimomoto:20210408170809p:plain

接続後、対象テーブルを選択し、「OK」をクリックします。また、ここの画面で細かなフィルターやJOINの指定を行うことも可能です。

f:id:sugimomoto:20210408170814p:plain

f:id:sugimomoto:20210408170821p:plain

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

f:id:sugimomoto:20210408170828p:plain

Access リンクテーブル から 請求管理ロボ API に接続(CData REST ODBC Driver)

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

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

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

image.png

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

image.png

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

f:id:sugimomoto:20210408170837p:plain

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

f:id:sugimomoto:20210408170844p:plain

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

f:id:sugimomoto:20210408170850p:plain

なお、Accessでうまくデータが取得できない場合は接続プロパティの「Other」の項目に「SupportAccessLinkedMode = False;」を設定してみてください。

f:id:sugimomoto:20201124134536p:plain

PowerBI から 請求管理ロボ API に接続(CData API Driver for Power BI)

続いて CData Power BI Connector を用いて、Power BIから請求管理ロボのデータを取得します。

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

f:id:sugimomoto:20201027111449p:plain

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

f:id:sugimomoto:20201027111519p:plain

データソース名は先程登録した請求管理ロボのDSNを入力し「OK」をクリックします。

f:id:sugimomoto:20210408170858p:plain

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

f:id:sugimomoto:20210408170903p:plain

以下のように請求管理ロボのデータを読み込みことができます。

f:id:sugimomoto:20210408170909p:plain

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

f:id:sugimomoto:20210408170916p:plain

ASTERIA Warp から 請求管理ロボ API に接続(CData JDBC API Driver)

ASTERIA Warpでは、フローデザイナーを使って、データ処理のプロセスを作成します。

フローデザイナーの基本的な利用方法についてはWarpフローデザイナー操作ガイドをご覧ください。

CData JDBC API Driver はインストール後、「cdata.jdbc.api.jar」と「cdata.jdbc.api.lic」のファイルをAsteriaのドライバーフォルダ(asteriahome5\system\lib\drivers)に登録します。

f:id:sugimomoto:20210218152238p:plain

その後、ASTERIA Warpを立ち上げて、フローデザイナーにアクセスし、CData JDBC Driverを使用するために接続を追加します。

画面左のコネクションペイン上にある電源ボタンをクリックをクリックすると、「コネクションの作成」ダイアログが表示されます。

f:id:sugimomoto:20210216154030p:plain

「接続種別」として「RDB」を選択、「名前」に分かりやすい名前を設定し「OK」をクリックします。

f:id:sugimomoto:20210408170925p:plain

作成したコネクションをダブルクリックすると、画面右のインスペクタに接続プロパティが表示されます。 「基本」タブでドライバーのパスとURLをそれぞれ設定します。

プロパティ名 備考
ドライバーのパス 例)C:\asteriahome5\system\lib\drivers\cdata.jdbc.api.jar 前節でインストールした API JDBC Driverファイルへの参照を指定します。
URL jdbc:api:Profile=C:\API Profiles\BilingRobo.apip;
ProfileSettings="APIKey=YOUR_API_KEY;
User=USERNAME@MAIL.com;";
請求管理ロボに接続するための接続文字列を指定します。

f:id:sugimomoto:20210408170931p:plain

これでコネクションの作成は完了です。あとは、フロー上でデータベースタブにある「RDBGet」のコンポーネントを使って、データの取得が行なえます。

「RDBGet」フローに配置し、ダブルクリックします。

f:id:sugimomoto:20210216180653p:plain

コネクションの選択ウインドウが表示されるので、先程作成した請求管理ロボのコネクションを選択しましょう。

f:id:sugimomoto:20210408170937p:plain

その後、SQLビルダーが表示されるので、取得したいデータが格納されている、任意のテーブルとカラムを選択します。

f:id:sugimomoto:20210408170942p:plain

あとは、「モデルにSQLを適用する」をクリックし「SELECTテスト」でデータが正常に取得できているかを確認します。

以下のようにデータが参照できれいればOKです。設定を保存してSQLビルダーを閉じます。

f:id:sugimomoto:20210408170948p:plain

CDataSync から 請求管理ロボ に接続

www.cdata.com

CDataSyncではデータソースとして、請求管理ロボに接続することができます。

なお、CDataSync Windows版の場合は「BilingRobo.apip」のプロファイルをSyncの本体が存在するフォルダの「www\app_data\profiles」に配置してください。profilesフォルダが存在しない場合は手動で作成してください。

C:\ProgramData\CData\sync\profiles

f:id:sugimomoto:20210408170956p:plain

Cross-Platform版の組み込みJettyで構成している場合は、以下のフォルダにapipファイルを配置します。

/opt/sync/profiles

配置後、CDataSyncを起動すると以下のようにデータソースとして 請求管理ロボが利用できるようになります。

f:id:sugimomoto:20210408171001p:plain

接続プロパティは以下の通り設定します。

プロパティ名 備考
ProfileSettings USERNAME@MAIL.com
ProfileSettings APIKey=YOUR_API_KEY;

入力後、「接続」ボタンをクリックし、請求管理ロボへのログインが完了すればOKです。

f:id:sugimomoto:20210408171009p:plain

併せて、任意の同期先の接続情報も構成しておきましょう。

f:id:sugimomoto:20210311162106p:plain

接続完了後、新しくジョブを作成します。

f:id:sugimomoto:20210311162114p:plain

先程作成した請求管理ロボのコネクションを選択します。

f:id:sugimomoto:20210408171015p:plain

ジョブを作成した後は、請求管理ロボ の同期対象となる任意のテーブルを選択しましょう。

f:id:sugimomoto:20210408171019p:plain

データのプレビュー画面で、実際に取得が成功しているかどうかを確認できました。

f:id:sugimomoto:20210408171025p:plain

あとは、任意のスケジュールを指定してデータのレプリケーションを実行できます。

f:id:sugimomoto:20210311162149p:plain

終わりに

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

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

www.cdata.com

また、こういったツールとはどう連携すればいいの? といった問い合わせはテクニカルサポートフォームまでお気軽にどうぞ!

https://www.cdata.com/jp/support/submit.aspx