5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ASTERIA WarpAdvent Calendar 2021

Day 7

ASTERIA WarpでDocuSign APIを使ってみた

Last updated at Posted at 2021-12-06

電子署名サービス「DocuSign」で署名した契約書類をメタデータとあわせてBoxで管理したいという話があったので、WarpでDocuSign APIを試してみました。

準備

アカウント作成

今回は開発用のアカウントを作成して試してみます。無料で使えてうれしい:clap:

アクセストークン取得まではこちらに沿って進めていきます↓

クライアントIDとクライアントシークレットを追加

DocuSignの 設定>アプリとキー より「アプリとインテグレーションキーの追加」をクリック。
image.png

インテグレーションキーの追加ウィンドウでアプリ名を入力すると、「アプリの作成」ボタンが有効になるので、クリックして作成します。
image.png

インテグレーションキー作成後の編集画面がこちら。
image.png

インテグレーションキーがいわゆるクライアントIDです。
認証カテゴリにある「秘密鍵の追加」をクリックするとSecret Keysにキーが追加されます。これがクライアントシークレットになります。

さらに下にスクロールして、リダイレクトURIを指定します。
このURIはlocalhostなど適当に設定します。
image.png

Authorization Codeの取得方法

ブラウザで新規ウィンドウを開き、以下URLにアクセスします。
URL内のクライアントID、リダイレクトURIはそれぞれインテグレーションキーでの設定値に置き換えてください。

https://account-d.docusign.com/oauth/auth?response_type=code&scope=signature&client_id=クライアントID&redirect_uri=リダイレクトURI

アクセス時にログイン画面や同意画面が表示されたら、表示内容に従って、「同意する」をクリックします。

image.png

正常に動作すると、設定したリダイレクトURIに遷移しブラウザのアドレスバーを確認します。
“code=”より右側の文字列をコピーしておきます。

image.png

このあとのAccessToken取得フローはWarpでつくろうと思いますが、このcodeの有効期限は2分間!短い!
さすがに2分のうちにフロー作成~実行までするのは難しいので、
先にフローを作っておいて、あとから「codeを取得してWarpに反映させて実行」すると2分間で対応できると思います。
もし失敗したらcode取得用のURLにもう一度アクセスすればOKです。

フロー作成

一から作るのは大変だな~、という方にフローテンプレートというものがあります。
今回はテンプレートから作成していきます。
このテンプレートは無料で誰でも使えるサンプルフローのようなものです。サポート対象外なので使う時は注意が必要ですが、ある程度フローが組まれているのでフロー開発の参考になるのでおススメです!

まずは以下URLからテンプレートをダウンロードします。
https://support.asteria.com/hc/ja/articles/4404481552665

テンプレートのインポート

フローデザイナーの「ファイル」>「テンプレートのインポート」からダウンロードしたzipファイルをインポートします。
image.png

テンプレートから新規プロジェクト作成

新規プロジェクトの作成画面からインポートしたテンプレートを選択します。カテゴリーでDocuSignと入力すると出てきます。
image.png

プロジェクト名をつけて「OK」をクリックすると、ナビゲーション画面が表示されます。
ここでは、さきほど取得したクライアントID、クライアントシークレット、Authorization Codeを入力します。Authorization Codeは空のまま作成して、フロー生成後に設定してもOKです。
image.png

フロー確認

ナビゲーション画面に沿って進めると、フローが2本生成されます。

・トークン取得 フロー
image.png
初回のみトークン取得フローを実行します。このフローでアクセストークンとリフレッシュトークンを取得します。
実行するとプロジェクトフォルダ配下にtoken.csvが生成され、トークンが保存されます。トークン取得フローはAuthorization Code発行から2分以内に実行する必要があります。
Authorization Codeの設定をしたい場合は、フロー変数の「AuthorizationCode」の初期値に入力します。

・エンベロープ取得 フロー
image.png
エンベロープ取得フローを実行すると、プロジェクトフォルダ配下に各エンベロープIDを名前とするフォルダが生成されます。デフォルトでは1ヵ月前~現在までの完了したエンベロープを取得します。期間や取得するエンベロープのステータス変更もフローを修正して対応できます。
その中にcustom_field.csv、document.pdf、document_certificate.pdfが保存されます。保存されるファイルは、それぞれエンベロープカスタムフィールド、完了済の書類、完了証明書にあたります。
フォルダ名やファイル名の変更にはフローの修正が必要です。

実行

実行すると完了したエンベロープのエンベロープカスタムフィールド、完了済の書類、完了証明書が保存されました~。
image.png

さいごに

Boxアダプターを使って、DocuSignから取得した情報をBoxのメタデータに連携させれば、電子帳簿保存法に対応したドキュメント管理も実現できますね。
APIドキュメントへたどり着くまでちょっと時間かかったのと日本語のドキュメントが見当たらなかったので、とっかかりはハードル高い感じがしましたが、フロー開発を進めていくとAPIの使いやすさに感動して今ではすっかりDocuSignのファンです~。
DocuSign APIはすごく充実しているのでほかにもいろいろなことができそうだなーと思いました!
フローテンプレートもぜひ使ってみてください。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?