我正在从事需要使用DocuSign API(PHP)的项目。这是我第一次使用DocuSign,我成功地在DocuSign控制台中使用角色名称=签名者制作了模板。在那里,我还制作了自定义文本标签:address
、city
、state
和phone
,并将它们拖到模板中的所需位置。我想在那里放置我的客户(签名者)信息从项目数据库中。
从我的项目中,我成功地通过 PHP API 与 DocuSign 建立了连接,并收到了嵌入式唱歌视图 URL,这将打开我的模板,用户可以毫无问题地签署文档。
但。。。我所有的自定义文本标签都是空的,签名者可以在其中键入。我需要用来自数据库的签名者个人数据预先填充它们。我在DocuSign控制台和代码中三次检查自定义标签标签拼写,大写/小写以及角色名称->标签关系。我的PHP代码如下。
有人可以告诉我我做错了什么吗?
我失去了两天。
$data = array(
"accountId" => $accountId,
"emailSubject" => $this->_emailSubject,
"templateId" => $templateId,
"templateRoles" => array(
array(
"email" => $email,
"name" => $recipientName,
"clientUserId" => $clientUserId,
"roleName" => "signer",
"customFields" => array(
"textCustomFields" => array (
array (
"name" => "address",
"value" => "Address from DB",
"show" => "true",
),
array (
"name" => "city",
"value" => "City from DB",
"show" => "true",
),
array (
"name" => "state",
"value" => "State from DB",
"show" => "true",
),
array (
"name" => "phone",
"value" => "Phone from DB",
"show" => "true",
),
),
),
),
),
"status" => "sent"
);
您需要
在 JSON 中使用 textTabs
类型,而不是用于其他内容的customFields
。 例如,如果您将数据字段从 UI 拖到文档上并为其命名address
,要预填充该字段,您需要引用它的tabLabel
和值字段,如下所示:
"roleName" => "signer",
"tabs" => array(
"textTabs" => array(
array(
"tabLabel"=> "address",
"value" => "123 Main St."
)
)
)