Docusignapi Docusign无法使用Docusign Api发布模板

Docusignapi Docusign无法使用Docusign Api发布模板,docusignapi,Docusignapi,我试图在docusignapi上发布模板,但唯一的响应是错误的请求,下面是我如何发布数据和文件(php和guzzle 5) 我认为该请求已经与API References/Post Template.htm%3FTocPath%3DREST%2520API%2520References%7C\uuuuuuuuu130中的请求相同 Im已经实现了登录,从信封id发送了签名请求,但仍停留在帖子模板上(上传数据和pdf),我是否遗漏了什么? 下面是错误响应 Client error response

我试图在docusignapi上发布模板,但唯一的响应是错误的请求,下面是我如何发布数据和文件(php和guzzle 5)

我认为该请求已经与API References/Post Template.htm%3FTocPath%3DREST%2520API%2520References%7C\uuuuuuuuu130中的请求相同

Im已经实现了登录,从信封id发送了签名请求,但仍停留在帖子模板上(上传数据和pdf),我是否遗漏了什么? 下面是错误响应

Client error response [url] https://demo.docusign.net/restapi/v2/accounts/asdfaccountId/templates [status code] 400 [reason phrase] Bad Request
以下是发布到docusign api的数据(文件部分被截断)


我终于明白了。我错过了错误信息。发布用于创建模板的字段数据时,recipientId是必需的

        'recipients' => [
            'signers' =>
            [
              [
                'roleName' => Config::get('templateRoleName'),
                  //it will not work if recipient id is not set
                'recipientId' => 1,
              ]
            ]
        ],
然而另一件有趣的事情发生了,我们也需要提供形式边界

因为我不能通过guzzle设置它,所以我硬编码请求主体。 这是我的代码,希望它能帮助别人

POST /restapi/v2/accounts/blablaAccountId/templates HTTP/1.1 Host: demo.docusign.net Content-Type: application/json X-DocuSign-Authentication: {"Username":"blabla@blabla.com","Password":"blabla","IntegratorKey":"blabla"} User-Agent: Guzzle/5.3.0 curl/7.35.0 PHP/5.6.17-3+deb.sury.org~trusty+1 --56af2bf9b3fb2 Content-Disposition: form-data; name="emailsubject" Agreement for asdf --56af2bf9b3fb2 Content-Disposition: form-data; name="documents[0][name]" asdf --56af2bf9b3fb2 Content-Disposition: form-data; name="documents[0][documentId]" asdf --56af2bf9b3fb2 Content-Disposition: form-data; name="envelopeTemplateDefinition[name]" asdf --56af2bf9b3fb2 Content-Disposition: form-data; name="envelopeTemplateDefinition[shared]" --56af2bf9b3fb2 Content-Disposition: form-data; name="asdf"; filename="f2EQySRYpYyGngxuw0bM" 
        'recipients' => [
            'signers' =>
            [
              [
                'roleName' => Config::get('templateRoleName'),
                  //it will not work if recipient id is not set
                'recipientId' => 1,
              ]
            ]
        ],