CData Software Blog

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

CData ArcESB を使ってクラウドサインで締結された書類をGoogle Drive に連携する

こんにちは。CData Software Japanの色川です。

リモートワークも広がる中、契約業務も書面契約から電子契約に急速に変化してきていますね。この記事では、電子契約サービスのクラウドサインで契約締結された書類(PDF ファイル)を、Google Drive に連携する方法をご紹介します。

クラウドサインとは?

CloudSign(クラウドサイン)は契約締結から契約書管理まで完結できるクラウド型電子契約サービスです。日本の法律に特化した弁護士監修の電子契約サービスで、多くの企業や自治体に活用されています。

www.cloudsign.jp

CData ArcESB とは?

ファイル転送(MFT)とSaaSデータ連携をノーコードで実現できるデータ連携ツールです。ファイル・データベース・SaaS API、オンプレミスやクラウドにある様々なデータをノーコードでつなぐ事ができます。

www.arcesb.com

この記事のシナリオ

電子契約サービス上で契約締結されたドキュメントを、ファイルサーバやクラウドストレージで管理・参照したいケースは多いと思います。この記事では「クラウドサインで契約締結された書類(PDF ファイル)を、Google Drive に連携する」シナリオを作成します。

最終的には、クラウドサイン上にある指定した条件に合致するドキュメントが、このようにGoogle Drive へ連携されます。

クラウドサイン

この記事では、クラウドサイン上で"サービス契約書" という名前を含むPDF ドキュメントを2つ用意しました。これらのドキュメントは締結完了までフローを進めています。

Google Drive

この記事では、クラウドサインにアップロードされた時のドキュメントタイトルで、Google Drive の指定フォルダにアップロードします。

必要なもの

この記事のシナリオでは以下の製品を利用します。すべて30日間のトライアルが提供されています。ぜひお手元で試してみてください。

製品のインストール等はこちらの記事を参考にしてください。

www.cdatablog.jp

クラウドサイン - クライアントID の発行と取得

クラウドサインへのAPI 接続には クライアントID が必要になります。

こちらのガイドを参考に、あらかじめ発行・取得してください。

help.cloudsign.jp

Google Drive - クライアントID、クライアントシークレットの発行と取得

Google Drive へのAPI 接続には Google Drive API の有効化と、クライアントID、クライアントシークレットが必要になります。

具体的な手順については、こちらの記事を参考にしてください。

https://www.cdatablog.jp/entry/2020/04/21/

ArcESB の基本的な使い方

ArcESB の起動方法や基本的なフローの作り方についてはこちらをご覧ください。

www.arcesb.com

www.arcesb.com

それでは実際に連携フローを作成していきます。

この記事で作成するフローの構成と概要

このシナリオでは「クラウドサインから締結済のドキュメントをローカルフォルダにダウンロードする」フローと「ローカルフォルダにあるファイルを、Google Drive へアップロードする」フローを作成します。

  コネクタ 内容
1 CData(CloudSign_Select) クラウドサインから締結済ドキュメントの情報をSelect
2 XMLMap 1.で取得した情報を3.にマッピング
3 CData(CloudSign_Download) クラウドサインから指定フォルダへドキュメントをダウンロード
  コネクタ 内容
A File 指定フォルダのファイルを取得
B Google Drive 1.で取得したファイルをGoogle Drive へアップロード

もしGoogle Drive 以外のクラウドストレージに保存したい時は、Bのコネクタを置き換えるだけで実現することができます。

クラウドサインから締結済のドキュメントをローカルフォルダにダウンロードする

最初のフローでは、Documents/Files テーブルから締結済のドキュメント(ファイル)情報を取得し、取得した情報をもとに DownloadFile ストアドプロシージャを実行して、ローカルフォルダにダウンロードします。

CData コネクタ(CloudSign_Select)の設定

最初にフローの起点となるCData コネクタ(CloudSign_Select)を配置し「クラウドサインから締結済ドキュメントの情報を取得」します。コアカテゴリから「CData コネクタ」を選択し、フローキャンバスへ配置します。

コネクタの設定で、クラウドサインへの接続を設定します。事前準備で取得したクライアントID を設定します。

接続テストでクラウドサインへの接続を確認します。

アクションは「Select」。対象テーブルに、まずは「Documents」テーブルを選択します。

この記事では、取得するドキュメント情報として「書類の状態(Status)が締結済」で「書類のタイトル(Title)に"サービス契約書"を含む」ことを条件に設定しています。

Documents テーブルの構成について、詳しくはヘルプを参考にしてください。

cdn.cdata.com

次に、締結済ドキュメントに含まれるファイルの情報を取得するために、子テーブルとして「Files」テーブルを選択します。

Files のDocumentId が、親テーブルであるDocuments のDocumentId と一致するデータを子テーブルとして取得します。

Files テーブルの構成について、詳しくはヘルプを参考にしてください。

cdn.cdata.com

設定した条件が正しいか「XML 出力をプレビュー」で取得されるデータをプレビューすることができます、便利ですね。目的のドキュメント情報が取得できることを確認します。

CData コネクタ(CloudSign_Download)の設定

次に最初のフローの終点となるCData コネクタ(CloudSign_Download)を配置し「クラウドサインから指定フォルダへドキュメントをダウンロード」します。コアカテゴリから「CData コネクタ」を選択し、フローキャンバスへ配置します。

先ほどと同じように、クライアントID を設定してクラウドサインへの接続を確認します。

アクションは「Execute Stored Procedure」。ストアドプロシージャに「DownloadFile」を選択します。

XMLMap の配置と構成

このフローの最後に、CData コネクタ(CloudSign_Select)の情報を、CData コネクタ(CloudSign_Download)にマッピングします。

コアカテゴリから「XMLMap」コネクタを配置します。

フローキャンバスの中で、CData コネクタ(CloudSign_Select)からXMLMap に。XMLMap からCData コネクタ(CloudSign_Download)へフローを繋ぎます。これで双方のデータ構成(スキーマ)がXMLMap で認識できるようになります。

XMLMap の設定でそれぞれの項目をマッピングします。

このシナリオではCData コネクタ(CloudSign_Download)に必要な項目を以下のようにマッピングしています。同じ名前を持つ項目は自動的にマッピングが支援されます。

CData コネクタ(CloudSign_Download) マッピング内容
DocumentId DocumentId
FileId Files テーブルのFileId
FileName Files テーブルのName
OutputFolder C:\Work\CloudSign

これで「クラウドサインから締結済のドキュメントをローカルフォルダにダウンロードする」フローができあがりました。

連携フローの実行と確認

作成したフローを実行して確認してみましょう。

起点となるCData コネクタ(CloudSign_Select)からフローを実行してみます。アウトプットタブから「受信」を実行します。

OutputFolder に指定したフォルダに、指定した条件に合致するドキュメントのファイルがダウンロードされていれば成功です。

ローカルフォルダにあるファイルを、Google Drive へアップロードする

次のフローでは、先ほどのフローでダウンロードしたフォルダからファイルを取得して、Google Drive へアップロードします。

File コネクタの設定

最初にこのフローの起点となるFile コネクタを配置し「ローカルフォルダからファイルを取得」します。コアカテゴリから「File コネクタ」を選択し、フローキャンバスへ配置します。

コネクタの設定で、ファイルを取得するフォルダパスとファイル名の条件を設定します。パスには先ほどのフローでOutputFolder に指定したフォルダを。ファイルマスクには pdf のみが一致するように設定しました。

File コネクタでは、取得(受信)した後に削除することや、前回取得した時から更新されているかによって処理対象とするか否かを設定したりすることが出来ます。差分実行も簡単ですね。

Google Drive コネクタの設定

次にこのフローの終点となるGoogle Drive コネクタを配置し「Google Drive へアップロード」します。MFT カテゴリから「Google Drive コネクタ」を選択し、フローキャンバスへ配置します。

コネクタの設定で、Google Drive への接続を設定します。事前準備で取得したクライアントID とクライアントシークレットを設定し、Google Drive へ接続します。

送信先(アップロード先)フォルダを指定します。この記事では、事前に用意したリモートフォルダを指定します。

File コネクタから、Google Drive コネクタにフローを繋いでファイル(メッセージ)が流れるように構成します。

これで「ローカルフォルダにあるファイルを、Google Drive へアップロードする」フローができあがりました。

連携フローの実行と確認

作成したフローを実行して確認してみましょう。

起点となるFile コネクタからフローを実行してみます。アウトプットタブから「受信」を実行します。

Google Drive の指定したフォルダに、最初のフローで取得したファイルがアップロードされていれば成功です。

シナリオの自動実行

ArcESB ではフローを定期実行するスケジューラ機能を持っています。今回のシナリオであれば、それぞれのフローの起点となるコネクタの「オートメーション」タブで設定することができます。1時間に1度、毎時0分に定期実行する場合は、このように設定します。

この記事で作成したフロー(テンプレート)の入手

この記事で作成したフローについては、こちら からテンプレートとして使える arcflow がダウンロードできます。

ダウンロードしたarcflow は ワークスペースをインポート から登録できます。こちらのテンプレートを利用する時は、各コネクタでの接続情報などを、お使いの環境に併せて編集してください。

おわりに

クラウドサインからの情報取得やファイルダウンロードなどのAPI アクセスも、ローカルファイルやクラウドストレージでのファイルの扱いも、ArcESB では一貫した分かりやすいUI で連携フローを作成することができます。

ArcESB はシンプルで拡張性の高いコアフレームワークに、豊富なMFT・EDI・エンタープライズコネクタを備えたパワフルな製品です。CData Drivers との組み合わせで250を超えるアプリケーションへの連携を実現できます。必要な連携を低価格からはじめられる事も大きな特長です。

皆さんのつなぎたいシナリオでぜひ ArcESB を試してみてください。

www.arcesb.com

お試しいただく中で何かご不明な点があれば、テクニカルサポートへお気軽にお問い合わせください。

www.cdata.com


この記事では ArcESB™ 2021 - 21.0.8126 を利用しています。