预填充用户的ID检查 - 使用templateRoles时DocuSign中的个人信息

时间:2016-03-14 19:28:22

标签: docusignapi

我目前正在使用其余的api(... / v2 / accounts / someId / envelopes)来请求用户文档。我的应用程序当前请求具有相应模板的文档,其中大部分数据都是使用templateRoles键预先填充的。当提示用户输入ID时,会再次询问他们已有的信息(姓名,地址等)。我们希望预先填写此信息。

我查看了文档,但idCheckInformationInput的示例都没有使用templateRoles。理想情况下,我们不必更改当前api调用的结构,因为它已经非常成熟且经过了充分测试。我尝试添加idCheckInformationInput键,但ID Check仍然返回空白。

我们目前的电话是:

... / V2 /帐户/ someId /信封

data => {
   "allowMarkup":false,
   "allowReassign":false,
   "allowRecipientRecursion":false,
   "asynchronous":false,
   "authoritativeCopy":false,
   "autoNavigation":false,
   "brandId":"xxxx",
   "compositeTemplates":null,
   "customFields":null,
   "emailBlurb":"",
   "emailSubject":"Secure Authorization Document",
   "enableWetSign":false,
   "enforceSignerVisibility":false,
   "envelopeIdStamping":false,
   "eventNotification":{
      "envelopeEvents":[
         {
            "envelopeEventStatusCode":"completed",
            "includeDocuments":false
         },
         {
            "envelopeEventStatusCode":"declined",
            "includeDocuments":false
         },
         {
            "envelopeEventStatusCode":"voided",
            "includeDocuments":false
         }
      ],
      "loggingEnabled":true,
      "includeCertificateWithSoap":false,
      "includeDocuments":false,
      "includeTimeZone":false,
      "includeSenderAccountAsCustomField":false,
      "recipientEvents":[

      ],
      "requireAcknowledgment":true,
      "signMessageWithX509Cert":false,
      "soapNameSpace":"",
      "url":"xxxx/external/signing/eventnotification",
      "useSoapInterface":false
   },
   "signingLocation":"Online",
   "status":"sent",
   "templateId":"xxxx",
   "templateRoles":[
      {
         "accessCode":null,
         "clientUserId":"xxxx",
         "email":"xxxx@xxxx.com",
         "emailNotification":null,
         "name":"a a a",
         "recipientId":"1",
         "roleName":"Client",
         "tabs":{
            "checkboxTabs":[
               {
                  "name":"Checkbox",
                  "selected":false,
                  "tabLabel":"ExchangeEtcEmployed"
               },{...}
            ],
            "radioGroupTabs":[

            ],
            "textTabs":[
               {
                  "name":"Text",
                  "tabLabel":"\\*DOB",
                  "value":"1/1/1980"
               }, {...}

            ]
         },
         "idCheckConfigurationName": "ID Check $",
         "idCheckInformationInput":{ //new key possibly in the wrong spot
            "addressInformationInput":{
               "addressInformation":{
                  "street1":"aaa",
                  "street2":"",
                  "city":"San Francisco",
                  "state":"CA",
                  "zip":"94102"
               },
               "displayLevelCode":"Editable"
            },
            "dobInformationInput":{
               "dateOfBirth":"1/1/1980",
               "displayLevelCode":"Editable"
            },
            "ssn4InformationInput":{
               "ssn4":"4444",
               "displayLevelCode":"Editable"
            }
         }
      }
   ]
}

我还注意到,如果我添加requireIdLookup:true,并关闭docusign侧的标志(manage - > template - > roles - > Identify - > Identity Check = ID Check $)no ID检查显示。让它出现的唯一方法是检查它,它总是返回空。

编辑:

我最近尝试使用指定格式here,但结果与以前相同:

{
   "allowMarkup":false,
   "allowReassign":false,
   "allowRecipientRecursion":false,
   "asynchronous":false,
   "authoritativeCopy":false,
   "autoNavigation":false,
   "brandId":"xxxx",
   "compositeTemplates":[
      {
         "inlineTemplates":[
            {
               "sequence":"1",
               "recipients":{
                  "signers":[
                     {
                        "accessCode":null,
                        "clientUserId":"xxxx",
                        "email":"xxx@xxx.com",
                        "emailNotification":null,
                        "name":"a a a",
                        "recipientId":"1",
                        "roleName":"Client",
                        "tabs":{
                           "checkboxTabs":[...],
                           "radioGroupTabs":[...],
                           "textTabs":[...]
                        },
                        "idCheckInformationInput":{
                           "addressInformationInput":{
                              "addressInformation":{
                                 "street1":"aaa",
                                 "street2":"",
                                 "city":"San Francisco",
                                 "state":"CA",
                                 "zip":"94105"
                              },
                              "displayLevelCode":"Editable"
                           },
                           "dobInformationInput":{
                              "dateOfBirth":"1/1/1980",
                              "displayLevelCode":"Editable"
                           },
                           "ssn4InformationInput":{
                              "ssn4":"xxxx",
                              "displayLevelCode":"Editable"
                           }
                        },
                        "requireIdLookup":true,
                        "idCheckConfigurationName":"ID Check $"
                     }
                  ]
               }
            }
         ],
         "serverTemplates":[
            {
               "sequence":"1",
               "templateId":"xxx"
            }
         ]
      }
   ],
   "customFields":null,
   "emailBlurb":"",
   "emailSubject":"Secure Authorization Document",
   "enableWetSign":false,
   "enforceSignerVisibility":false,
   "envelopeIdStamping":false,
   "eventNotification":{...},
   "signingLocation":"Online",
   "status":"sent",
   "templateId":null,
   "templateRoles":null
}

EDIT2:

虽然我不得不删除roleName,但我能够使用compositeTemplates格式来实现它。将roleName设置为“Client”时,它严格遵循“Client”(收件人和路由模式)模板的Roles部分中定义的内容,并忽略传递的requireIdLookup键以及任何idCheckInfromationInput。删除角色还会阻止任何文档的输入填充选项卡数据 - 考虑到标记是特定于角色的,这是有意义的。

理想情况下,我可以使用templateRoles版本,但我对使用角色的compositeTemplates感到满意。您应该能够在给定模板的角色模式中的Identify列下指定ID Check $,然后在传入idCheckInfromationInput时将ID ID填入。

2 个答案:

答案 0 :(得分:0)

在我看来,idCheckInformationInput就在正确的位置,但是你缺少idCheckConfigurationName和requireIdLookup条目。请查看下面的文档摘要和下面的小样本:

https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Recipients/Signers%20Recipient.htm?Highlight=idCheckInformationInput

"name":"a a a",
"recipientId":"1",
"roleName":"Client",
 ...
"requireIdLookup" :"true",
"idCheckConfigurationName": "ID Check $",
  "idCheckInformationInput": {
    "addressInformationInput": {
      "addressInformation": {
        "street1": "sample string 1",
        "street2": "sample string 2",
        "city": "sample string 3",
        "state": "sample string 4",
        "zip": "sample string 5",
        "zipPlus4": "sample string 6"
      },
      "displayLevelCode": "sample string 1",
      "receiveInResponse": "sample string 2"
    },

答案 1 :(得分:0)

为了让这个工作,我需要切换到compositeTemplates格式,并通过roleName传递问题我不得不UNCHECK"发件人无法编辑收件人"在单击模板enter image description here的角色时启动的收件人和路由模式的cog下拉列表中。