![](https://images.ctfassets.net/9pvazpst9iwl/VEtdmQuA91lQPRQuGYS7o/a60521c6b8b2277d056c1d5032cbbacf/illustration-isometric_floating-disks_inkwell.png)
コード不要!条件付きルーティングで柔軟なワークフローを実現
ドキュサインの便利な機能!今回は、電子署名ワークフローの自動化や作成テンプレートの最適化が図れる「条件付きルーティング」について解説します。これにより、従来APIによる開発などが必要でしたが、ノーコードである程度のロジックが実現できるようになります。
![](https://images.ctfassets.net/9pvazpst9iwl/1RtQscjrM4R5O7ojCCj2wu/4b7d3ca088aeae93bcdb3730a999ead8/illustration-isometric_pyramid-shadow_inkwell.png)
![Young African American programmer working on desktop PC in the office.](https://images.ctfassets.net/9pvazpst9iwl/3344844476695549/6970eebcfe96db604b2632ecaaeb3347/Young_African_American_programmer_working_on_desktop_PC_in_the_office..jpg)
条件付きルーティングは、ドキュサインの電子封筒(エンベロープ)において、ドキュメントフィールドに署名者が入力した条件によって動的に署名ワークフローを変更する機能です。ぱっと聞くとなかなか便利な機能ですが、少し使い方がトリッキーなところがあります。今回は、条件付きルーティングについてわかりやすく、深掘りしながら解説していきたいと思います。
前提
条件付きルーティングの前に、ドキュサインでの署名順番のワークフローがどのように処理されるかについて説明します。まず送信時に、署名者に対して役割と順番を設定します。このワークフローは数字の小さい順から処理されます。番号が同じ署名者がいれば、そこは並列に処理され、両方が完了しないと次の署名者(の順番の人)には進みません。この基本をまず押さえておきましょう。
![Conditional Routing1](https://images.ctfassets.net/9pvazpst9iwl/7262610657456112/14bf7de2c51f51bd74e1098a3aeccc5b/Conditional_Routing1.jpg)
おすすめ記事:ワークフロー機能で署名順を設定する方法
条件付きルーティングはアカウントワイドで設定することができます。なお、契約プランによっては利用できませんので、詳しくは弊社営業までお問い合わせください。
![Conditional Routing2](https://images.ctfassets.net/9pvazpst9iwl/6862079904387276/86fb2bb5051e7f9cf5006904abe9a25c/Conditional_Routing2.jpg)
概要
条件付きルーティングでは、署名者に対して「条件付き署名者グループ」というものを設定します。条件付き署名者グループは、その前の署名者の入力フィールドの条件によって、大きく2つの動きをします。
割り当てられた署名者を条件によって複数の候補から選択する
割り当てられた署名ワークフローを実行有無の決定
以下のワークフローでは、フィールドの値によって、閾値の大小で署名者を切り替えています。
![Conditional Routing3](https://images.ctfassets.net/9pvazpst9iwl/658187636484899/51651a1925e1f9ee6b866b7d8435cf11/Conditional_Routing3.jpg)
また、以下のワークフローではフィールドの値によって署名者の署名実行の有無を決めています。設定された条件に当てはまり次第、複数の条件付き署名者が有効になります。
![Conditional Routing4](https://images.ctfassets.net/9pvazpst9iwl/6553803361235321/56547e0114236a4a6d8453fb1a986a97/Conditional_Routing4.jpg)
条件付き署名者も署名順番をもつことに注意してください。あくまでエンベロープのすべてのワークフローはこの署名順番に基づきます。条件によってこの署名順番自体は変わりません。
設定
エンベロープもしくはテンプレートにて以下の設定が必要になります。
条件付き受信者グループ
条件付き受信者グループより署名順番が前方の通常の署名者
その署名者にルールが設定できるフィールドとルール
条件付き受信者グループ
条件付きルーティングには「条件付き受信者グループ」を署名順番設定時に設定します。
条件付き受信者グループには、以下も設定できます。
複数人の署名者(最低一人の署名者)
署名グループ
![Conditional Routing5b](https://images.ctfassets.net/9pvazpst9iwl/7449839019401422/26886af2e13e9ac387789fb4d69b4ef9/Conditional_Routing5.jpg)
条件付き受信者グループは署名者と同じ扱いになり、それぞれに署名の順番を振り当てます。署名のルーティングは、署名順番どおり割り振られます。条件分岐のルールに従い、条件付き受信者グループの1)ルーティングが許可されるか 2)その中の誰が実際の署名者になるか、が決定されます。
ルールの設定
条件付きグループに分岐するには、その前に必ず署名が必要な署名者と、フィールドに紐づくルールが必要です。
フィールドは、テキスト、ラジオボタン、式が利用できます。
ルールは前段の署名者に割り当てられたフィールド一つに対して設定できます。
![Conditional Routing6](https://images.ctfassets.net/9pvazpst9iwl/5753343308473806/0eec4660bc1da8560226fa8902e0eda2/Conditional_Routing6.jpg)
ルールは、入力有無や、入力値の等価、入力ルールを数字に設定した場合は、不等号による条件設定が可能です(日付の範囲指定はできません)。
条件付きグループ一つに対して、配置するフィールドが通常の署名者と同じように紐付きます。
条件付きグループに対しては、ルールを紐付けなければルーティングされません。ルールを紐付けなくても送信は可能ですが、送信時に以下のような警告がでます。
![Conditional Routing7](https://images.ctfassets.net/9pvazpst9iwl/2873292834792316/87e249bad30df66b2b95be99ab13a9b8/Conditional_Routing7.jpg)
制限事項
現時点でのリリースの制限事項です。アップデートがあり次第、随時情報を更新します。
同時に複数のフィールドに対してルーティングルールをセットアップすることはできません。→サポートされるようになりました(2021年4月27日追記)。
条件付きグループのフィールドには条件付きルールを設定はできません**。**
条件付きルーティングが判定されるまでに若干時間がかかります。ルーティング決定中はWebアプリケーションで見るとエンベロープが修正中に見えます。
まとめ
以上、条件付きルーティングについてご紹介しました。エンベロープにうまく組み込みことによって電子署名ワークフローの自動化や、作成テンプレートの最適化などが図れるかと思います。従来はAPIによる開発などが必要でしたが、ノーコードである程度のロジックが実現できます。開発者サンドボックス環境でも試せますので、活用の面白いアイデアなどあればぜひ教えて下さい!
大串 昌央