見積・納品・請求書サービス Misoca APIをドライバー化:各種ツールから連携

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

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

f:id:sugimomoto:20210112135528p:plain

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

対象 API

「Misoca」は、シンプルな操作で請求業務が実施できる、個人事業主の方に最適なクラウドベースの「見積・納品・請求書サービス」です。

f:id:sugimomoto:20210112135536p:plain

Misoca では、取引先や見積書・請求書の取得・作成・更新などが可能なAPIが提供されており、外部アプリケーション等との連携も実現できるようになっています。

f:id:sugimomoto:20210112135547p:plain

実現イメージ

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

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

f:id:sugimomoto:20210112135555p:plain

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

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

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

f:id:sugimomoto:20210112135602p:plain

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

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

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

  • Excel(Excel-addin で利用)
  • Access(ODBC 接続で利用)
  • PowerBI (Power BI Connector 接続で利用)

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

www.cdata.com

f:id:sugimomoto:20201124135144p:plain

テーブル一覧

Misoca API Profileでは、以下のテーブルを提供しています。用途に合わせて、接続してみてください。

テーブル名 対応API 備考
ContactGroups 取引先一覧を取得
Contacts 送り先一覧を取得
EstimateItems 見積書一覧を取得 見積書データの明細を表示します。
Estimates 見積書一覧を取得 見積書データのヘッダーを表示します。
InvoiceItems 請求書一覧を取得 請求書データの明細を表示します。
Invoices 請求書一覧を取得 請求書データのヘッダーを表示します。
Users 自分のユーザ情報を取得 デフォルトで自分のユーザー情報のみを表示します。

Misoca API 利用準備

最初にMisocaのAPIを利用するために、Misoca側でAPI接続用のアプリを作成します。

Misocaにログインした状態で、https://app.misoca.jp/oauth2/applications にアクセスし、「新しいアプリケーション」をクリックします。

f:id:sugimomoto:20210112135611p:plain

任意のアプリ名称とコールバックURLを入力します。今回はローカルのアプリから接続するのでコールバックURLには「http://localhost:33333」と指定しました。

f:id:sugimomoto:20210112135619p:plain

登録後、アプリケーションID・シークレットが表示されるので、これらの値を保存しておきます。

f:id:sugimomoto:20210112135628p:plain

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

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

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

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

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

f:id:sugimomoto:20210112135644p:plain

CData API Driver のインストール

各種ツールと Misoca 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\Misoca.apip | 予めダウンロードしたMisoca.apipのパスを指定します。 | | AuthScheme | OAuth | | | CallbackURL | http://localhost:33333 | 登録したMisoca アプリケーションのコールバックURLを指定します。 | | Initiate OAuth | GETANDREFRESH | アクセストークンの更新方法を指定します。 | | OAuth Client Id | 例)7BwwQ643Ba9Ys4yhV5pVGWQnmX0FASdZbuaHyaAxNqo |登録したMisoca アプリケーションのアプリケーションIDを指定します。 | | OAuth Client Secret | 例) Q8s--NswIX0qJ9lB7oHW1pjkRf_T-_EoT6eD2DKCSxA | 登録したMisoca アプリケーションのシークレットを指定します。 |

f:id:sugimomoto:20210112135652p:plain

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

Excel から Misoca 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:20210112135657p:plain

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

f:id:sugimomoto:20210112135702p:plain

f:id:sugimomoto:20210112135706p:plain

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

f:id:sugimomoto:20210112135712p:plain

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

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

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

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

image.png

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

image.png

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

f:id:sugimomoto:20210112152700p:plain

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

f:id:sugimomoto:20210112135719p:plain

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

f:id:sugimomoto:20210112135727p:plain

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

f:id:sugimomoto:20201124134536p:plain

PowerBI から Misoca API に接続(CData API Driver for Power BI)

続いて CData ODBC Driverを用いて、Power BIからMisocaのデータを取得します。

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

f:id:sugimomoto:20201027111449p:plain

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

f:id:sugimomoto:20201027111519p:plain

データソース名は先程登録したMisocaのDSNを入力し「OK」をクリックします。

f:id:sugimomoto:20210112135733p:plain

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

f:id:sugimomoto:20210112135738p:plain

以下のようにMisocaのデータを読み込みことができます。

f:id:sugimomoto:20210112135743p:plain

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

f:id:sugimomoto:20210112135749p:plain

終わりに

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

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

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

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

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

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

トライアル・お問い合わせ

関連コンテンツ