我正在研究需要使用DocuSign API(PHP)的项目。这是我第一次使用DocuSign,我使用roleName = signer在DocuSign控制台中成功制作了模板。在那里,我还制作了自定义文字标记:address
,city
,state
和phone
,并将它们拖到我模板中的所需位置。我希望在那里从项目数据库中提取我的客户(签名者)信息。
从我的项目中,我通过PHP API成功连接DocuSign并接收嵌入式歌唱视图URL,打开我的模板,用户可以毫无问题地签署文档。
但是...我的所有自定义文本标签都是空的,签名者可以输入它们。我需要预先填写来自数据库的签名者个人数据。我在我的DocuSign控制台和我的代码以及roleName-> tagLabel关系中检查自定义标签标签拼写,大写/小写三重检查。我的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"
);
答案 0 :(得分:1)
您需要在JSON中使用textTabs
类型,而不是customFields
用于其他内容。例如,如果您将数据字段从用户界面拖到文档上并将其命名为address
,则要预先填写该字段,您需要引用它tabLabel
和值字段,例如这样:
"roleName" => "signer",
"tabs" => array(
"textTabs" => array(
array(
"tabLabel"=> "address",
"value" => "123 Main St."
)
)
)