ローコードアプリ開発プラットフォームRetool でQuickBooks 連携アプリを作成
Retool はローコードでWebベースの業務アプリケーションを構築できるクラウドサービスです。この記事では、CData API Server を経由して Retool からQuickBooks に連携するアプリを作成する方法を説明します。
CData API Server は、QuickBooks のデータのクラウド to クラウドの仮想OData インターフェースを提供し、Retool からリアルタイムにQuickBooks のデータへ連携することができます。
QuickBooks データ連携について
CData は、QuickBooks のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:
- ローカルとリモートの両方の会社ファイルにアクセスできます。
- エディションと地域を問わず接続できます:QuickBooks Premier、Professional、Enterprise、Simple Start エディション 2002+、およびカナダ、ニュージーランド、オーストラリア、英国エディション 2003+。
- SQL ストアドプロシージャを使用して、取引の無効化やクリア、リストの統合、エンティティの検索などのアクションを実行できます。
お客様は、Power BI、Tableau、Excel などのお気に入りのツールと QuickBooks データを定期的に統合し、QuickBooks データをデータベースやデータウェアハウスに統合しています。
はじめに
API Server の設定
以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなQuickBooks OData サービスを作成していきましょう。
QuickBooks への接続
Retool からQuickBooks のデータを操作するには、まずQuickBooks への接続を作成・設定します。
- API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。
- 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「QuickBooks」を選択します。
- 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
CData コネクタの追加方法はこちら >> - それでは、QuickBooks への接続設定を行っていきましょう!
-
ローカルQuickBooks インスタンスへの接続には接続プロパティ入力は不要です。
CData 製品は、リモートコネクタ経由でQuickBooks にリクエストを作成します。リモートコネクタはQuickBooks と同じマシン上で動作し、軽量の組み込みWeb サーバーを介して接続を受け入れます。サーバーはSSL/TLS をサポートし、ユーザーにリモートマシンからのセキュアな接続を可能にします。
初めて接続するときは、CData 製品をQuickBooks で認証する必要があります。詳しくは、ヘルプドキュメントの「Using the Remote Connector」を参照してください。
- 接続情報の入力が完了したら、「保存およびテスト」をクリックします。
ローカルQuickBooks インスタンスへの接続には接続プロパティ入力は不要です。
CData 製品は、リモートコネクタ経由でQuickBooks にリクエストを作成します。リモートコネクタはQuickBooks と同じマシン上で動作し、軽量の組み込みWeb サーバーを介して接続を受け入れます。サーバーはSSL/TLS をサポートし、ユーザーにリモートマシンからのセキュアな接続を可能にします。
初めて接続するときは、CData 製品をQuickBooks で認証する必要があります。詳しくは、ヘルプドキュメントの「Using the Remote Connector」を参照してください。
API Server のユーザー設定
次に、API Server 経由でQuickBooks にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。
- 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
-
次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
-
その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。
QuickBooks 用のAPI エンドポイントの作成
ユーザーを作成したら、QuickBooks のデータ用のAPI エンドポイントを作成していきます。
-
まず、「API」ページに移動し、
「 テーブルを追加」をクリックします。
-
アクセスしたい接続を選択し、次へをクリックします。
-
接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。
OData のエンドポイントを取得
以上でQuickBooks への接続を設定してユーザーを作成し、API Server でQuickBooks データのAPI を追加しました。これで、OData 形式のQuickBooks データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。
リソースの登録
続いてRetool 側の手順を進めていきます。Retool ではまず、構成したAPI にアクセスするためのリソース情報を登録します。
- Retool にログインし、「Resouces」から「Create new」をクリックします。
- 接続できるサービスの一覧が表示されるので「REST API」を選択します。
- REST APIの設定画面では以下の通り必要な情報を入力します。Base URLには事前に作成したAPI のリソースエンドポイントを指定します。Headers には生成したユーザーの認証トークンを「x-cdata-authtoken」ヘッダーとして指定します。
- リソースを作成後、アプリの作成確認ダイアログが出てくるので、今回はこれで作成してしまいます。(もちろんテンプレートなどを使っても構いません。)
- 任意の名称を指定してください。
一覧画面の作成
リソースの登録が完了したら一覧画面を作成しましょう。
- まず、先程登録したAPIのコネクションを使って、データを取得するための「Query」を定義します。すでに登録されているQueryの名前を変更し内部のAPIを定義を調整します。
- デフォルトで Action Type、つまりAPIリクエストのメソッドが「GET」なので、このままでもデータは取得できます。ただ、初期状態ではすべての項目を取得してしまうので、API Serverがサポートするクエリパラメータを使って、取得項目やフィルター条件等を指定します。
- URL parmeters を記述したら、設定を保存して実行してみましょう。以下のようにデータが取得できればOKです。
- あとはこのデータを画面に表示するための「Table」UIコンポーネントを画面に配置します。
- デフォルトえはJSON形式のサンプルデータが表示されているので、これを変更します。
- 先程のクエリ名と対象のオブジェクト名を「{{QueryName.data.value}}」といった形で指定するだけでOKです。これだけで簡単に一覧画面が構成できました。
- 作成した画面はプレビューモードで動作確認できます。
このように、CData API Serverを経由することで、API 側の複雑な仕様を意識せずにAPI 連携をしたアプリをRetool で開発できます。他にも多くのデータソースに対応するCData API Server の詳細をこちらからご覧ください。