2016-10-01 47 views
0

我正在将一组文档的签名嵌入到Web应用程序中。最终,这些文件将填入在线访谈中提供的答案。信封里需要三到四份文件。这些文档是基于服务器的模板。在模板定义中,我将申请人角色(签名人)的名称和电子邮件字段留空,因为它们是许多申请人将使用的通用模板。在测试场景中,我可以在信封中加载单个模板,并将其传递到整个过程,但当我转换为复合模板时,出现错误“errorCode”:“RECIPIENTS_NOT_PROVIDED”,“message”: “请求中找不到收件人。”来自信封请求。我已将代码与许多示例进行了比较,但无法看到任何不同之处。必须有一些基本的东西我不知道 - 这并不奇怪,因为这是我第一次使用DocuSign API。有人可以请赐我吗?使用复合模板的DocuSign API中的收件人未提供错误

的故障代码:

{ 
    "accountId":"xxxxxxx", 
    "emailSubject":"WOTC Certification Documents - Test Dummy", 
    "emailBlurb":"Documentation to be submitted by Consultant", 
    "status":"sent", 
    "compositTemplates":{ 
     "serverTemplates":[{ 
      "sequence":"1", 
      "templateId":"ca18aba4-49bd-4c28-9dce-fbd2dd3fbb7b", 
      "recipients":{ 
       "signers":{ 
        "name":"Test Dummy", 
        "roleName":"Applicant", 
        "recipientId":"1", 
        "clientUserId":"Dummy1234", 
        "email":"[email protected]" 
       } 
      } 
     },{ 
      "sequence":"2", 
      "templateId":"5ed3d600-5a57-4fee-931f-53233858dc65", 
      "recipients":{ 
       "signers":{ 
        "name":"Test Dummy", 
        "roleName":"Applicant", 
        "clientUserId":"Dummy1234", 
        "email":"[email protected]" 
       } 
      } 
     }] 
    } 
} 

谢谢。

回答

1

你在正确的轨道上,但是我建议你,你已经张贴了以下更改JSON:

  • compositTemplates”缺少一个“e” - 应compositeTemplates
  • compositeTemplates需要是对象的数组
  • compositeTemplates内的每个对象阵列需要含有serverTemplates属性(指定模板信息的阵列)以及inlineTemplates属性
  • 每个收件人内(即指定收件人信息的阵列)对象,签名需要是对象的数组
  • 每个签名对象需要一个recipientId财产

这是你的JSON再次,修改以实现我上面列出的更改:

{ 
    "accountId":"xxxxxxx", 
    "emailSubject":"WOTC Certification Documents - Test Dummy", 
    "emailBlurb":"Documentation to be submitted by Consultant", 
    "status":"sent", 
    "compositeTemplates":[ 
    { 
     "serverTemplates":[ 
     { 
      "sequence":"1", 
      "templateId":"ca18aba4-49bd-4c28-9dce-fbd2dd3fbb7b" 
     }], 
     "inlineTemplates":[ 
     { 
      "sequence" : 2, 
      "recipients":{ 
       "signers":[{ 
        "name":"Test Dummy", 
        "roleName":"Applicant", 
        "recipientId":"1", 
        "clientUserId":"Dummy1234", 
        "email":"[email protected]" 
       }] 
      } 
     }], 
    }, 
    { 
     "serverTemplates":[ 
     { 
      "sequence" : 3, 
      "templateId":"5ed3d600-5a57-4fee-931f-53233858dc65" 
     }], 
     "inlineTemplates":[ 
     { 
      "sequence" : 4, 
      "recipients": { 
       "signers" : [{ 
        "name":"Test Dummy", 
        "roleName":"Applicant", 
        "recipientId": "1", 
        "clientUserId":"Dummy1234", 
        "email":"[email protected]" 
       }] 
      } 
     }] 
    }] 
} 
+0

疯狂的事情是,我几乎死于前一版本的代码,我开始“简化”它尝试使它工作!在这个过程中,我刚刚破解了结构,当(除了缺失的e)之外,最初缺少的是签名者的数组结构。不过,我对序列号感到困惑。在网站上的复合模板示例中,他们指出内联模板应该与相应的服务器模板具有相同的序列号,但是您要序列化它们。你能否告诉我一种方式与另一种方式的重要性? – servant

+0

在思考这个结构,特别是数组层次时,我留下了一个问题:鉴于这里compositeTemplate数组的元素基本上是定义文档的serverTemplate/inlineTemplate对,什么样的使用场景会导致您使用多个serverTemplates或这些元素内的inlineTemplates? – servant

+0

重新序列号 - 我总是通过序列化数字得到期望的结果,所以我倾向于坚持这种方法。序列号只是告诉DocuSign将指定信息应用于信封的顺序......因此,如果您在此简单场景中对服务器模板/内联模板使用了相同的编号,则可能无关紧要(即,在仅包含1个服务器模板,1个内联模板的复合模板对象)。 –

相关问题