Cloud Signの契約書発行状況をCData ODBC Driver for REST+Tableauで可視化してみる
今回は最近注目しているWeb完結型クラウド契約サービス「クラウドサイン」のAPIを使って、Tableauと繋いでみました!
CloudSignとは?
前述の通り、オンライン上で契約書を交わすことができるサービスなんですが、契約書の準備はもちろんのこと、それを契約先へWebベースで送付し、サインや必要事項の入力、はては印鑑までWeb上で完結してしまうという素晴らしいサービスです!
以下のように今までの契約書のフォーマットに沿いつつ、構成することができ、なおかつ相手先もこのフォーマットベースで入力できるので、わかりやすいのがいいですね。
いちいち印刷したものを再スキャンとかする必要も無くなるので、NDA等数多く契約締結が発生する契約書などは、すごくありがたいと思います。
今回やってみたこと
通常Cloud Sign上ですと、以下のように各ステータスごとで件数が表示されるのですが
この情報を今回は、CloudSignのAPIを経由して、BIツールTableauでわかりやすくグラフ化してみました。
CloudSign のAPI
CloudSignのAPIは素晴らしいことにOpenAPI(Swagger)で仕様が公開されています!
APIに関する詳しい解説は、以下のURLを参照すると良さげです。
クラウドサインWeb APIとは何ですか | クラウドサイン ヘルプセンター
ちなみにざっとデータの構成をまとめると、
以下のように1契約書に対して、複数の宛先、ファイルを持ち、それぞれのファイルでユーザーに入力を求めるWidgetsが並ぶ、という構成になっています。
ほぼすべてのエンドポイントで読み取り・作成・更新をサポートしており、ある種マイクロサービスのように扱うこともできるのが嬉しい限りです。
APIでアクセスするためのClient ID取得
それでは、実際にTableauで分析を進めていきたいと思いますが、接続する前にAPIアクセス用のClientIDを取得しておく必要があります。
CloudSingにログインし、右上のユーザー名から[管理画面に移動]をクリックします。
左メニューの[クライアントID]から[新しいクライアントIDを発行する]をクリックすることで、APIアクセス用のクライアントIDが自動生成されます。
このクライアントIDを後ほど使用するので、控えておいてください。
CData ODBC REST Driverのインストールと設定
続いてTableauとCloudSignをシームレスに接続するために、中継役となるCData ODBC Driver for RESTをインストールします。
CData ODBC REST Driverは各種Web APIをODBC規格で汎用的にアクセスすることができるようにするためのドライバーコンポーネントです。
これを使用することで、APIを意識することなく、各種CloudSignのデータを扱えるようになります。
詳しくは以前のBlogでも詳しく紹介しているので、参照してみてください。
インストール後、ODBC データソースアドミニストレータを立ち上げて、[追加]をクリックします。
インストールしたCData ODBC Drivers for RESTを選択し、[完了]をクリック
完了をクリックすると、接続情報を入力する画面が立ち上がるので、任意のデータソース名を入力の上、先程取得したクライアントIDを[OAuth Client ID]へ入力
LocationにCloudSignのAPIを解釈するためのマッピングファイルであるRSDファイルを配置したフォルダを指定します。
RSDファイルは以下のGitHubで公開しているので、使ってみてください。現在Documents, Files, Participants, Widgetsの4種類作成していますが、今回使用したのはDocumentsエンドポイントです。
それと、OtherにはCloudSignのAPIアクセス用URLを入力します。今回はSandboxを使用しているので、以下のような感じで入力します。
[baseuri=https://api-sandbox.cloudsign.jp]
これで、[OK]をクリックすれば、Tableauで繋ぐための準備が完了です。
Tableauでの接続と可視化
それではTableauと繋いでみたいと思います。
Tableauを立ち上げて。[サーバーへ]の一覧から[その他のデータベース(ODBC)]を選択します。
DSNでは、先程作成したCloudSignのデータソースを指定して、接続をクリック。
裏でDSNへの接続処理が実施されるので、接続完了後[サインイン]をクリックします。
すると、以下のようにあらかじめ設定されていたRSDファイルをベースとして、Documentsなどのエンドポイントからデータが取得できるようになっています。
以下のような形でデータがプレビューできればOKです。
あとは、ワークシートに移動し、グラフを作成していくだけです。
Documentsの情報に含まれるStatusとレコード数を元に、締結状況を可視化してみました。
ちなみに、ステータスはただの数値情報なので、計算フィールドを作成して、実際の名称に置き換えています。以下のような感じです。
あと、一覧表や、各テンプレートごとの発行状況なども交えて、以下のようにグラフを構成してみました。
ちなみに今回は作成していませんが、Widgetエンドポイントであれば、お客さんが入力した情報も取得できるので、もう少し分析しがいのあるデータになると思います。
座標軸をどう処理するかがポイントになりそうですね。