当前位置: 首页 > 知识库问答 >
问题:

DocuSign-向嵌入式签名者发送电子邮件

程俊健
2023-03-14

我正在使用嵌入式Docusign API嵌入用于签名的文档。我将名字、姓氏和电子邮件存储在来自表单的会话中。我试图将templateRoles中的电子邮件更改为从表单存储在会话中的电子邮件,但我要么超时,要么得到一个错误,即电子邮件不正确:

"templateRoles" => array(
      array( "roleName" => $templateRoleName, "email" => $email, "name" => $recipientName, "clientUserId" => $clientUserId )),
session_start();
$results = array();
foreach($_SESSION['forms'] as $row){
$results[] = $row;
}

 $first_name = $results[0];
 $last_name = $results[1];
 $email2 = $results[2];

/////////////////////////////////////////////////////////////////////////////////////////////////
  // STEP 1 - Login (retrieves baseUrl and accountId)
  /////////////////////////////////////////////////////////////////////////////////////////////////
  $url = "https://www.docusign.net/restapi/v2/login_information";
  $curl = curl_init($url);
  curl_setopt($curl, CURLOPT_HEADER, false);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-DocuSign-Authentication: $header"));


  $json_response = curl_exec($curl);
  $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);


  if ( $status != 200 ) {

    echo "error calling (condition 1) webservice, status is:" . $status;
    exit(-1);
  }

  $response = json_decode($json_response, true);
  $accountId = $response["loginAccounts"][0]["accountId"];
  $baseUrl = $response["loginAccounts"][0]["baseUrl"];
      $headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
  curl_close($curl);


      /////////////////////////////////////////////////////////////////////////////////////////////////
  // STEP 2 - Create an envelope with an Embedded recipient (uses the clientUserId property)
  /////////////////////////////////////////////////////////////////////////////////////////////////
  $data = array("accountId" => $accountId,
    "emailSubject" => "Document",
            "templateId" => $templateId,
    "templateRoles" => array(
      array( "roleName" => $templateRoleName, "email" => $email2, "name" => $recipientName, "clientUserId" => $clientUserId )),
    "status" => "sent");

  $data_string = json_encode($data);
  $curl = curl_init($baseUrl . "/envelopes" );

  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_POST, true);
  curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
  curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string),
    "X-DocuSign-Authentication: $header" )
  );




  $json_response = curl_exec($curl);
  $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
  if ( $status != 201 ) {
    echo "error calling (condition 2) webservice, status is:" . $status . "<br>\nerror text is --> ";
    print_r($json_response); echo "<br>\n";
    exit(-1);
  }
      $headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
  $response = json_decode($json_response, true);
  $envelopeId = $response["envelopeId"];
  curl_close($curl);



    /////////////////////////////////////////////////////////////////////////////////////////////////
      // STEP 3 - Get the Embedded Signing View
      /////////////////////////////////////////////////////////////////////////////////////////////////
      $data = array("returnUrl" => "http://www.theURL.com/docusign/thank-you",
        "authenticationMethod" => "None", "email" => $email,
        "userName" => $recipientName, "clientUserId" => $clientUserId
      );

      $data_string = json_encode($data);
      $curl = curl_init($baseUrl . "/envelopes/$envelopeId/views/recipient" );

      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($curl, CURLOPT_POST, true);
      curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/json',
        'Content-Length: ' . strlen($data_string),
        "X-DocuSign-Authentication: $header" )
      );



      $json_response = curl_exec($curl);
      $status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
      if ( $status != 201 ) {
        echo "error calling webservice (condition 3), status is:" . $status . "\nerror text is --> ";
        print_r($json_response); echo "\n";
        exit(-1);
      }
              $headers = curl_getinfo($curl, CURLINFO_HEADER_OUT);
      $response = json_decode($json_response, true);
      $url = $response["url"];

               if ( $detect->isMobile() ) {
              echo "<p style='color:white;'>Click to Sign the Consent Form on your mobile device:</p>";
              echo "<a href='$url' style='width:100%; padding: 10px 20px; border: 3px solid white; color: white;'>Sign eConsent Form</a>";

                } else {
                   echo "<iframe src='$url' style='width:100%; height:100%; min-height: 800px;overflow:scroll;'></iframe>";
                }    

共有1个答案

谭卜鹰
2023-03-14

当您以管理员身份登录时,您将希望在帐户上启用一个设置。

首选项>功能>为(非抑制)嵌入式签名者使用信封完整电子邮件

 类似资料:
  • 我以嵌入式方式使用DocuSign API。我创建了一个信封并添加了签名者,第一个签名者总是被设置为嵌入的。这允许我检索一个URL,然后将其嵌入到iframe中。 然而,我也希望触发一封电子邮件(信封创建完成后,而不是创建完成后),发送给主要收件人/签名者,就像他们是未嵌入的签名者一样。 我尝试向收件人添加两次具有相同角色的签名者,但都没有成功。未发送电子邮件。 有没有办法做到这一点?

  • 我使用的是嵌入式签名代码配方中的代码,但从C#转换为VB.NET,代码使用的是Docusign API nuget。CreateEnvelope返回user_lacks_permissions。我已经通过了我的权限,检查了一切。我登录的用户是帐户管理员,似乎已经检查了所有权限。我将收件人电子邮件设置为实际的收件人电子邮件(不同于我的管理员帐户),尽管它是嵌入式签名,我不知道这是否是问题所在。我确实

  • 两部分问题: 我们正在尝试接收一个文档准备签名的通知(我们不完全清楚通知中提供了什么)。我们不想做电子邮件通知;我们想关掉那些。我们假定嵌入签名的信息包含在非电子邮件通知中。是否有一种简单的方法向另一个程序发送推送通知,说明文档已经准备好发送,如果是这样,是否最好的方法跟踪通知,让签名API发布并从DocuSign请求信息? 在我们的测试中,我们已经能够通过API调用接收嵌入的签名URL,但它将我

  • 我有一个web应用程序,我用它从用户那里收集一些信息(不是姓名或电子邮件),然后计划让他们通过DocuSign立即在线(不是通过电子邮件)以电子方式签署文档。 为了获得签名url(又名收件人视图),我似乎必须提供收件人的定义。“收件人”定义的一部分是用户名和电子邮件地址。这是真的吗? DocuSign API/SDK是否要求我提供最终用户(亦称签名者)的名称和电子邮件地址?如果我不提供这些东西,A

  • 问题内容: 现在,我已经建立了一个PHP电子邮件表单,并且一切正常。但是,在测试时,我只得到了发件人的电子邮件地址作为名称。我想要的是发件人的姓名,例如: 约翰·杜 科目科目科目 代替: j.doe@website.com 科目科目科目 下面是代码… 有谁可以帮助我吗?谢谢。 PHP: 问题答案: 在您的4行说完之后添加一行: