我正在网站上实施 echosign api。
我已经从
https://github.com/craigballinger/echosign-api-php
我想为我的网站嵌入小部件。我已经实现了这个小部件。
现在在我的例子中,我们为每个订单动态生成文档。它是 PDF,根据计划可能是 3 到 6 页。
现在我想知道如何将签名占位符放在动态文档的特定位置。
在此之前,我使用的是 docusign,其中我必须指定 XY 坐标来指定文档上签名占位符的位置。
请帮忙。
我正在网站上实施 echosign api。
我已经从
https://github.com/craigballinger/echosign-api-php
我想为我的网站嵌入小部件。我已经实现了这个小部件。
现在在我的例子中,我们为每个订单动态生成文档。它是 PDF,根据计划可能是 3 到 6 页。
现在我想知道如何将签名占位符放在动态文档的特定位置。
在此之前,我使用的是 docusign,其中我必须指定 XY 坐标来指定文档上签名占位符的位置。
请帮忙。
您无法使用 X、Y 坐标(如 DocuSign)以编程方式设置签名字段的位置。我遇到了同样的问题并通过电子邮件发送了 EchoSign,他们告诉我您必须使用文本标签作为字段名称。
文档:http ://secure.echosign.com/doc/TextFormsTutorial.pdf
例如,要将签名字段放入文档中,为该字段命名{{_es_:signer:signature}}
,EchoSign 会将其替换为签名字段。
值得注意的是,如果您不将这些内容放入文档中,EchoSign 会自动将签名字段附加到文档末尾。
您可以使用表单域图层模板,该模板是可应用于文档的预定义表单域位置。有关更多信息,请查看参数 formFieldLayerTemplates
https://secure.echosign.com/public/docs/EchoSignDocumentService17#DocumentCreationInfo
你好我也有同样的情况。我仍然无法使用 API 添加自定义字段。
这是我的代码:
$fields_array = array(
"fileInfos" => array([
"transientDocumentId" => $transientDocumentId
]),
"name" => "PDF testing",
"participantSetsInfo" => array([
"memberInfos" => array([
"email" => "myemail@test.com"
]),
"order" => 1,
"role" => "SIGNER"
]),
"mergeFieldInfo" => array([
"defaultValue" => "Test",
"fieldName" => "sigBlock2"
]),
"signatureType" => "ESIGN",
"state" => "DRAFT" //<-- if I use AUTHORING i can't assign custom fields
);
$postdata = json_encode($fields_array);
$resource = curl_init();
curl_setopt_array($resource, array(
CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements",
CURLOPT_HTTPHEADER => $header, //<---contain token etc....
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postdata,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
));
$res = curl_exec($resource);
$result = json_decode($res,true);
$id = $result['id'];
然后设置自定义字段:
$fields_array = array(
"fields" => [array(
"locations" => [array(
"height" => 36,
"left" => 75,
"pageNumber" => 2,
"top" => 200,
"width" => 150
)],
"contentType" => "DATA",
"name" => "sigBlock1",
"backgroundColor" => "#CCCCCC",
"inputType" => "TEXT_FIELD",
"required" => true,
"visible" => true
)]
);
$postdata = json_encode($fields_array);
$resource = curl_init();
curl_setopt_array($resource, array(
CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements/" . $id . "/formFields",
CURLOPT_HTTPHEADER => $header,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => $postdata,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
));
$res = curl_exec($resource);
然后将状态更改为 IN_PROGRESS 以发送电子邮件:
$fields_array = array(
"state" => "IN_PROCESS"
);
$postdata = json_encode($fields_array);
$resource = curl_init();
curl_setopt_array($resource, array(
CURLOPT_URL => "https://api.eu1.echosign.com/api/rest/v6/agreements/" . $id . "/state",
CURLOPT_HTTPHEADER => $header,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => $postdata,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false
));
$res = curl_exec($resource);
所以我收到带有链接的电子邮件以签署文件....但我没有看到我的自定义字段!我总是看到文档末尾附加了默认符号字段。
我哪里错了?