Box Sign でファイルへの署名をリクエストする

Box は、Box Inc. 社が提供するクラウドストレージサービスです。Box の新たなサービスとして「Box Sign」の提供が始まりました。本記事では Box Sign と連携する Questetra の自動工程について説明します。

1. Box Sign について

Box Sign とは、Box に保存されているファイルに対して電子署名を付加するサービスです。対象となるファイルを指定し、署名を求める対象者をメールアドレスで指定すると、対象者にリクエストメールが送信されます。メールの受信者は、メールの内容から Box 上のファイルにアクセスして、署名します。すべての署名対象者が署名を終えると、署名されたファイルの様子を示す PDF ファイルと、署名の内容を証明する PDF ファイルが、Box の指定されたフォルダに作成されます。

Box ドキュメント:Box Signの概要

Box Sign の有効化

Box Sign は Box アカウント持つユーザ全てによって利用できるサービスですが、デフォルトでは「無効」になっています。Box プラットフォームの管理者アカウントのユーザによって Box Sign 機能が有効化され、ユーザやグループに対して使用許可が与えられるなどの事前の準備が必要です。
また、個人向けサービスのユーザアカウント(Individual、Personal Pro、Business Starter)では本記事の Questetra の自動工程は動作しません。

Box ドキュメント:Box Signの有効化

2. Questetra の自動工程

Box Sign: 署名リクエスト作成

Questetra では、上記の Box Sign の署名リクエストを行うビルトイン自動工程が追加されました。(Ver. 14.1、Advanced エディション以上で利用可)

この新たに追加された自動工程「Box Sign: 署名リクエスト作成」を利用すると、ファイルや署名対象者の指定などを Questetra アプリで行うと自動で Box から署名リクエストメールが送信されるようになります。

Box Sign: 署名リクエスト作成設定画面

リクエストを送信する際に必要な情報をデータ項目に用意して、入力値をそれぞれの設定項目に指定します。

  • [C1:OAuth2 設定]の認証ユーザの Box 登録メールアドレスが、リクエストメールの送信元になります
  • [C4: 署名者メールアドレス]に指定されたデータ項目の値が空の時あるいは35件を超える場合はエラーとなります
  • パスワードを使用する設定([C5: 署名者ごとのパスワード]で文字型データ項目を指定)の場合、値の件数が署名者メールアドレスの件数と一致しない場合(空など)はエラーとなります
  • 「電子すかし」を適用したファイルを対象とした場合はエラーとなります(2022-10-28 現在)
  • 「署名する順序」は設定できません
  • Box テンプレートは使用できません

Box Sign: 署名リクエストの進捗確認

さらに Ver.15.1 より、ビルトイン自動工程[Box Sign: 署名リクエストの進捗確認]が追加されました。この工程は、[Box Sign の署名リクエスト]の進捗を、リクエストが完了するまで確認し続けます。

Box Sign: 署名リクエストの進捗確認設定画面

3. Box と Questetra の連携設定

Box と連携するための認証設定を行います。
具体的な方法は「Box を活用して、ファイルを社外の人へ送る」の記事を参考に設定してください。

4. サンプルアプリ

ヒューマンタスク「ファイル / 署名者を指定」でファイルを登録すると、ファイルが Box の指定フォルダにアップロードされます。「ファイル / 署名者を指定」工程で登録されたメールアドレスに、アップロードされたファイルに対して署名を求めるメールが送信されます。メールの受信者は、受信メールからファイルにアクセスして署名します。すべての署名依頼者が署名を終えるまで、進捗状況を監視し続けます。

ワークフローアプリの設定

データ項目

データ項目名データ型フィールド名必須「ファイル / 署名者を指定」工程説明
件名編集可プロセスの件名です
ファイルファイル型q_file編集可アップロード/署名されるファイルを登録します
フォルダ ID文字型 (単一行)q_folder_id表示なしファイルがアップロードされるフォルダ/署名用 PDF ファイルが保存される Box フォルダ ID をで指定します(初期値を利用) (*1)
ファイル ID文字型 (単一行)q_file_id表示なし対象のファイルの Box での ID が保存されます (*2)
署名者アドレス文字型 (複数行)q_address編集可リクエストメールの送信対象となるメールアドレスを入力します
複数件入力する場合、1件ごとに改行します (*3)
パスワード文字型 (複数行)q_password編集可リクエストの受信者が署名を行う際に求められるパスワードを入力します (*4)
メールアドレスの件数と一致しない場合はエラーとなります (*3)
メール件名文字型 (単一行)q_subject編集可リクエストメールの件名となります
入力が無い場合は Box のデフォルトで送信されます
メール本文文字型 (複数行)q_body編集可リクエストメールの本文となります
入力が無い場合は Box のデフォルトで送信されます
リクエスト ID文字型 (単一行)q_request_id表示なし[Box Sign の署名リクエスト]で取得された値が保存されます。
ステータス文字型 (単一行)q_status表示なしリクエストについての状況が保存されます。
未署名文字型 (複数行)q_not_signed表示なし署名を終えてないリクエスト先のアドレスが保存されます。
署名済文字型 (複数行)q_signed表示なし署名を終えたリクエスト先のアドレスが保存されます。
署名拒否文字型 (複数行)q_declined表示なし署名を拒否したリクエスト先のアドレスが保存されます。
署名済ドキュメント ID文字型 (単一行)q_signed_file_id表示なし署名用に複製された PDF ファイルの ID が保存されます。
ログファイル ID文字型 (単一行)q_log_file_id表示なしBox で作成される、署名のログファイルの ID が保存されます。
データ項目の設定
  • (*1) ファイルがアップロードされるフォルダと署名用 PDF ファイルが保存されるフォルダを別にする場合は、データ項目を追加して分けてください
  • (*2) ファイルのアップロード時に ID が取得され、自動で値が入力されます。既に Box にアップロードされているファイルの ID を手動で入力指定する場合は、[排他ゲートウェイ]を利用するなどして「ファイルアップロード」工程を迂回するように設定してください
  • (*3) 署名者が毎回特定されているような場合は、[初期値]を利用して設定し、[表示のみ]か[表示なし]に設定します
  • (*4) 署名者は事前にパスワードを知っている想定です

「ファイルアップロード」工程

[Box: ファイルアップロード]工程では、ワークフローに添付されたファイルが指定の Box フォルダにアップロードされます。

項目名必須説明
C1: OAuth2 設定Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)
C2: アップロードするファイルが保存されているファイル型データ項目アップロードするファイルの入ったデータ項目を指定します今回は「ファイル」を指定します
C3: ファイルをアップロードするフォルダの ID (指定がない場合は、ルートフォルダ)アップロードしたファイルを保存するフォルダの ID を指定します
今回は、データ項目「フォルダ ID」のフィールド名である「#{#q_folder_id}」を指定します。
C4: ファイル ID を保存する文字型データ項目アップロードしたファイルの ID の保存先となるデータ項目を指定します
C5: ファイル URL を保存する文字型データ項目アップロードしたファイルの URL の保存先となるデータ項目を指定します。今回は使用しません。
「ファイルアップロード」工程の設定

「署名リクエスト」工程

[Box Sign: 署名リクエスト作成]工程では、メールアドレスで指定された相手に署名を依頼するメールが送信されます。

項目名必須説明
C1: OAuth2 設定Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 署名用ドキュメントの作成元ファイル IDアップロードしたファイルの ID の保存先となるデータ項目「ファイル ID」を指定します
C3: 署名用ドキュメントを保存するフォルダ ID (ルートフォルダは使用できません) 署名された PDF ファイルと証明書 PDF を保存するBox フォルダの ID を指定します
今回は、データ項目「フォルダ ID」を指定します
C4: 署名者メールアドレス (複数設定する場合、1件ごとに改行してください) 署名者のメールアドレスが入力されるデータ項目「署名者アドレス」を指定します
C5: 署名者ごとのパスワード (1件ごとに改行してください)パスワードが入力されるデータ項目「パスワード」を指定します
パスワードを使用しない場合はドロップダウン上部の「空白」を指定し、データ項目「パスワード」を削除します
C6: 送信されるメールの件名(空白の場合、デフォルトの件名が使用されます)送信されるメールの件名となる文字列が入力されるデータ項目「メール件名」を参照する「#{#q_subject}」を指定します
C7:メール本文に含めるメッセージ(空白の場合、デフォルトの件名が使用されます)送信されるメールの本文となる文字列が入力されるデータ項目「メール本文」を参照する「#{#q_body}」を指定します
C8: 期限切れまでの日数署名の期限を設定する場合、期限切れまでの日数を数値で指定します。
今回は設定しません。
C9: 署名リクエスト ID を保存するデータ項目Box から返される、署名リクエスト ID を保存するデータ項目を指定します。ここではデータ項目「リクエスト ID」を指定します。
「署名リクエスト」工程の設定

「進捗確認」工程

[Box Sign: 署名リクエストの進捗確認]工程は、定期的に Box にアクセスし、Box が管理する署名依頼の進捗状況を取得します。進捗に変化があると、各データ項目に保存される値が更新されます。すべての署名依頼が完了されるまで監視を続けます。

項目名必須説明
C1: OAuth2 設定Boxへの接続に使用する OAuth2 設定を指定します。指定する OAuth2 設定ではあらかじめトークンを取得しておく必要があります(「Box と Questetra の連携設定」を参照)。
C2: 署名リクエスト ID「署名リクエスト」工程で取得された署名リクエスト ID が保存されるデータ項目を指定します。
「リクエスト ID」を指定します。
C3: 署名リクエストのステータスを保存するデータ項目監視によって取得された Box の[ステータス]を保存します。
データ項目「ステータス」を指定します。
C4-A: 未署名者のメールアドレス一覧を保存するデータ項目データ項目「未署名」を指定します。
C4-B: 署名済みの署名者のメールアドレス一覧を保存するデータ項目データ項目「署名済」を指定します。
C4-C: 署名を拒否した署名者のメールアドレスを保存するデータ項目データ項目「署名拒否」を指定します。
C5: 署名済みドキュメントのファイル ID を保存するデータ項目データ項目「署名済ドキュメント ID」を指定します。
C6: 署名ログのファイル ID を保存するデータ項目データ項目「ログファイル ID」を指定します。
「進捗確認」工程の設定

ワークフローアプリの動作

最初のヒューマンタスク「ファイル選択」工程で必要となる情報を入力します。署名者やフォルダが毎回同じ場合は、[初期値]にアドレスやフォルダ ID を設定しておけば、ファイルを選択するだけで入力を終えるようになります。

続く自動工程「ファイルアップロード」では、ファイルが「フォルダ ID」 データ項目で指定されたBox のフォルダにアップロードされ、Box でのファイル ID が取得されて、データ項目「ファイル ID」に保存されます。

「署名リクエスト」の工程では、指定されたデータ項目の値が Box に渡され、それらの情報に基づいて Box から署名リクエストメールが送信されます。送信元の情報は、OAuth2認証を設定したユーザが Box に登録しているものが利用されます。

「進捗確認」の工程では、署名リクエストを受けた人が署名を行ったかどうかを監視します。「署名者アドレス」に複数の受信可能なアドレスを設定して実行すると、全ての人が署名を終えるまで定期的に Box にアクセスして進捗を確認します。受信メールから署名を終えると、データ項目「ステータス」「未署名」「署名済」「署名拒否」の値が更新されます。プロセス詳細画面を再読み込みしながら確認してください。

[ステータス]について
  • sent:署名依頼メール送信済み
  • viewed:署名依頼メール開封済み
  • signed:依頼先全員が署名完了
  • declined:依頼先の1人が署名拒否
  • error_converting:(Box 内部での)変換エラー

[ステータス]が signed、declined、error_converting になると、自動工程が終了します。

error_converting は[Box Sign: 署名リクエスト作成]の実行時に Box 側でエラー(署名用 PDF の生成に失敗)が発生し、リクエストメールが送信されなかった状態です。

プロセス詳細画面

なお、紹介したサンプルアプリは Box Sign の動作を確認するためだけの、シンプルなものになっています。Questetra では他にも Box と連携する自動工程が多く提供されていますので、それらを組み合わせて利用した、より便利なワークフローアプリの開発にチャレンジしてください。

参考:
ワークフローから Box を活用する
Box にファイルをアップロードすると、プロセスが開始される
Box Sign 自動依頼フロー(外部サイト)

上部へスクロール

Questetra Supportをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む