1. ホーム
  2. php

[解決済み] DocuSign API: initialHereとsignHereを同じ文書に適用するかどうか。

2022-02-17 20:44:28

質問事項

文書にアンカー付きタブを使用していますが、サインピースがうまく機能します。他の投稿で、初期タブを追加するには、"signhere" を "initialhere" に置き換えるだけでよいことを知りました。素晴らしい。

最初の質問:私にとって最も簡単な解決策は、すべての受信者についてsignhereとinitialhereの両方を追加することです。私の理解では、そうすることで何かが壊れることはありません。タブがドキュメント上にない場合、ロールは単に無視されます。そうなのでしょうか?

2つ目の質問:各ロールに新しい受信者(同じ人)を作成するのか、受信者に複数のロールを割り当てるのか?ダウンロードしたサンプルコードでは、イニシャルについては何もしていないのですが、どうしたらいいのでしょうか?

PHP SDK を使用した現在のコードです。

$sign_here = new \DocuSign\eSign\Model\SignHere(['anchor_string' => '{sig:1}']);
$signer_tabs = new \DocuSign\eSign\Model\Tabs(['sign_here_tabs' => [$sign_here]]);

$signer_props = [
    'email' => $args['email'], 
    'name' => $args['name'],
    'recipient_id' => count($this->arrSigners) + 1,
    'role_name' => $args['role'],
    'tabs' => $signer_tabs
];

# Create the signer recipient model
$this->arrSigners[] = new Signer($signer_props);

解決方法は?

<ブロッククオート

もし、タブがドキュメント上になければ、そのロールは単に無視されます。そうなんですか?

はい、タブの有無にかかわらず、テンプレート以外のエンベロープではロール名は無視されます。 roleName は、テンプレート封筒の署名プロセスで、目的のユーザーを特定のロールにマッチングさせるために使用されます。 テンプレートを作成する際に、受取人、カーボンコピー閲覧者などのロール名を指定します。 作成したテンプレートを使って封筒を作成するときに、指定した受信者のロール名を指定して、テンプレートにあるロール名とデータが一致するようにします。言い換えれば、テンプレート名を使って指定されたタブを使用するかどうかを決定するのではなく、テンプレートの封筒を使用して生成された封筒にどのユーザーのデータを入力するかを決定するのです。

<ブロッククオート

2つ目の質問:各ロールに新しい受信者(同じ人)を作成するのか、受信者に複数のロールを割り当てるのか?ダウンロードしたサンプルコードでは、イニシャルについては何もしていないようです。

sign_here オブジェクトをさらに作成し、新しい配列と 'initial_here_tabs' という名前のエントリで、上に挙げた signer_tabs 配列に追加する必要があります。

$sign_here = new \DocuSign\eSign\Model\SignHere(['anchor_string' => '{sig:1}']);
$initial_here = new \DocuSign\eSign\Model\InitialHere(['anchor_string' => '{ini:1}']);

$signer_tabs = new \DocuSign\eSign\Model\Tabs([
'sign_here_tabs' => [$sign_here],
'initial_here_tabs' => [$initial_here]
]);

$signer_props = [
    'email' => $args['email'], 
    'name' => $args['name'],
    'recipient_id' => count($this->arrSigners) + 1,
    'tabs' => $signer_tabs
];

# Create the signer recipient model
$this->arrSigners[] = new Signer($signer_props);