Docusignapi 自定义文档字段
我正在使用dev帐户和demo.docusign.net站点测试API。我想使用具有自定义数据字段的文档创建模板。我创建了一个模板,在将字段拖到文档的页面上,我创建了一个自定义字段。我叫它“姓”。我保存了自定义字段并保存了模板。现在,我想创建一个新文档,用于通过API进行签名,并填充该字段。使用演练作为指导,我能够从模板创建一个新的草稿信封。然后我想用数据填充自定义字段。然而,这是失败的。我得到以下错误: { “错误代码”:“无效的请求\u正文”, “消息”:“请求正文缺失或格式不正确。” }" 下面是我根据演练编写的代码。除了在设计时附加一个自定义字段外,我还想动态测试添加一个新的自定义字段并对其进行修改。因此,首先我发出一个POST请求,添加一个新字段,并使用Recipients/Tabs API设置它。然后我发出一个GET请求来获取收件人的标签,这样我就可以捕获标签ID。然后我发出一个PUT请求来修改字段,这就是我得到错误消息的地方。但是请求主体在我看来很好,它包含TagId唯一必需的字段。我假设唯一需要的字段是设置值的字段。对于POST请求,相同的请求主体可以正常工作。我只是复制了它并更改了字段。帖子运行良好,我可以通过在控制台中打开它来验证添加的字段。新的领域就在那里。只是修改的结果不起作用Docusignapi 自定义文档字段,docusignapi,Docusignapi,我正在使用dev帐户和demo.docusign.net站点测试API。我想使用具有自定义数据字段的文档创建模板。我创建了一个模板,在将字段拖到文档的页面上,我创建了一个自定义字段。我叫它“姓”。我保存了自定义字段并保存了模板。现在,我想创建一个新文档,用于通过API进行签名,并填充该字段。使用演练作为指导,我能够从模板创建一个新的草稿信封。然后我想用数据填充自定义字段。然而,这是失败的。我得到以下错误: { “错误代码”:“无效的请求\u正文”, “消息”:“请求正文缺失或格式不正确。” }"
/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 1 - Add New Tab
/////////////////////////////////////////////////////////////////////////////////////////////////
$curl = curl_init($baseUrl . "/envelopes/" . $envelopeId . "/recipients/1/tabs" );
$data = array (
'textTabs' =>
array (
0 =>
array (
'documentId' => '1',
'pageNumber' => '1',
'tabLabel' => 'test tab',
'value' => 'test',
),
),
);
$data_string = json_encode($data);
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, status is:" . $status;
exit(-1);
}
$response = json_decode($json_response, true);
curl_close($curl);
//--- display results
/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 2 - Get recipient tab information
/////////////////////////////////////////////////////////////////////////////////////////////////
$curl = curl_init($baseUrl . "/envelopes/" . $envelopeId . "/recipients/1/tabs" );
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 webservice, status is:" . $status;
exit(-1);
}
$response = json_decode($json_response, true);
curl_close($curl);
$lastNameTabID = $response['textTabs'][0]['tabId'];
$testTabID = $response['textTabs'][1]['tabId'];
//--- display results
/////////////////////////////////////////////////////////////////////////////////////////////////
// STEP 3 - update tab value
/////////////////////////////////////////////////////////////////////////////////////////////////
$curl = curl_init($baseUrl . "/envelopes/" . $envelopeId . "/recipients/1/tabs" );
$data = array (
'textTabs' =>
array (
0 =>
array (
'tabId' => $testTabID,
'value' => 'Some Value',
),
),
);
$data_string = json_encode($data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_PUT, 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, status is:" . $status;
exit(-1);
}
$response = json_decode($json_response, true);
curl_close($curl);
这是请求主体的输出
数据_string='{“texttab”:[{“tabId”:“627883d0-542c-40c7-a58c-ce68d9e057e1”,“value”:“Some value”}]}
我感谢你的指导
谢谢
乔我认为这比我们想象的要容易。您应该能够在post中定义附加标记以创建信封。下面是我的json的一部分,用于定义模板角色和文本选项卡。第一个是在模板中定义的字段,标记为“Company”。第二个是一个数据字段,我正在动态添加,并用XY坐标放置在第三页上。您还可以使用锚文本放置此文件
"templateRoles": [
{
"tabs": {
"textTabs": [
{
"tabLabel": "Company",
"value": "Acme Inc"
},
{
"tabLabel": "business",
"value": "widgets",
"pageNumber": "3",
"documentId": "1",
"yPosition": "300",
"xPosition": "300",
"locked": false
}
]
},
"roleName": "Customer",
"name": "Customer Bob",
"email": "signerrob@outlook.com"
}
],我认为这比我们想象的要容易。您应该能够在post中定义附加标记以创建信封。下面是我的json的一部分,用于定义模板角色和文本选项卡。第一个是在模板中定义的字段,标记为“Company”。第二个是一个数据字段,我正在动态添加,并用XY坐标放置在第三页上。您还可以使用锚文本放置此文件
"templateRoles": [
{
"tabs": {
"textTabs": [
{
"tabLabel": "Company",
"value": "Acme Inc"
},
{
"tabLabel": "business",
"value": "widgets",
"pageNumber": "3",
"documentId": "1",
"yPosition": "300",
"xPosition": "300",
"locked": false
}
]
},
"roleName": "Customer",
"name": "Customer Bob",
"email": "signerrob@outlook.com"
}
],好的,所以我做了一些挖掘,认为我有我们需要的东西。首先,要获取信封的收件人ID以及相关选项卡ID,请使用以下get:v2/accounts/:accountId/信封/:信封ID/recipients。这将为您提供编辑现有标记所需的内容。获得此处的信息后,可以使用PUT v2/accounts/:accountId/envelopes/:envelopeId/recipientId/选项卡编辑要编辑的选项卡。下面是我使用Postman发送的一个JSON请求示例,用于成功更新文本选项卡值
{
"textTabs": [
{
"tabId": "c75d32c4-8024-48c0-975a-acc232b20212",
"value": "ABC Corp",
}
]
}
要向该收件人添加选项卡,请使用与编辑相同的URL,但要使用帖子。好的,所以我做了一些挖掘,认为我已经找到了我们需要的内容。首先,要获取信封的收件人ID以及相关选项卡ID,请使用以下get:v2/accounts/:accountId/信封/:信封ID/recipients。这将为您提供编辑现有标记所需的内容。获得此处的信息后,可以使用PUT v2/accounts/:accountId/envelopes/:envelopeId/recipientId/选项卡编辑要编辑的选项卡。下面是我使用Postman发送的一个JSON请求示例,用于成功更新文本选项卡值
{
"textTabs": [
{
"tabId": "c75d32c4-8024-48c0-975a-acc232b20212",
"value": "ABC Corp",
}
]
}
若要向该收件人添加选项卡,请使用与编辑相同的URL,但要使用帖子。Ok,可以。这样我至少可以向前迈进。但是,它实际上并没有回答我为什么不能在创建信封后使用Recipient/Tabs API/accounts/{accountId}/envelopes/{envelopeId}/recipientId}/Tabs进行修改的问题。我仍然想要一个答案,以防在创建信封后需要修改字段。谢谢你,这确实管用。这样我至少可以向前迈进。但是,它实际上并没有回答我为什么不能在创建信封后使用Recipient/Tabs API/accounts/{accountId}/envelopes/{envelopeId}/recipientId}/Tabs进行修改的问题。我仍然想要一个答案,以防在创建信封后需要修改字段。谢谢