我在 DocuSign 沙箱中创建了一个测试模板,为与另一个系统进行一些自动化做准备。我正在尝试填充这些自定义字段,因为需要包含动态输入的数据。
到目前为止,我在身份验证、创建基于模板的“信封”或分配角色方面没有遇到任何问题。我可以毫无问题地获取模板、信封、文档的 ID。但是,我尝试检索自定义字段列表或通过 REST API 填充它们都没有成功。
我尝试从模板中提取字段,并在应用模板后从信封中提取字段。我什至通过用户界面手动设置了值,但仍然一无所获。而且请求并没有失败。他们很成功。要么只有空的响应数据结构,要么没有执行更新。
例如,当我尝试检索自定义字段时,我得到的是:
{
"textCustomFields": [],
"listCustomFields": []
}
Run Code Online (Sandbox Code Playgroud)
尽管已经通过 UI 创建了自定义字段并将其应用到模板等,但仍然如此。我也尝试获取文档字段,但收到的响应基本相同:
{
"documentFields": []
}
Run Code Online (Sandbox Code Playgroud)
我忍不住想我在这里错过了一些东西,但不知道是什么。我从身份验证响应中提取基本 URL,并调用了以下 API URL:
- 编辑 -
好的,根据下面答案的建议,我发现这些字段实际上都是“选项卡”,尽管在创建模板期间如何在 UI 中实际引用它们。现在的问题仍然是为什么它们仅针对单个收件人角色返回。以下是信封上角色的屏幕截图(电子邮件地址已编辑):
即使该角色被标记为“需要签名”,也不会返回“That Guy”的选项卡。他们因“其他人”而回归,尽管这个角色只是为了被复制。所以,也许现在看来问题更多地与角色定义有关,而不是其他任何事情。或者我必须再次回顾所有这些,因为必须为所有收件人设置这些需要预先填充的字段,并且不依赖于角色。每个人都应该看到同样的事情。
我正在更新 DocuSign 的 NetSuite 集成,以将所有脚本转换为 SuiteScript 2.0 并更新身份验证以利用 JWT 授予方法,因为当前方法看起来将在几周内以及完全一段时间内在新应用程序中被弃用明年。不过,我确实有几个问题,但我很难回答。
对于初学者来说,在为正文设置 IAT 和 EXP 值时,我是根据当前服务器时间(根据帐户数据中心所在的时区而变化)获取该值,还是应该基于获取 UTC时间呢?在我看来,文档在这件事上似乎不够清楚。
此外,我不清楚如何创建签名。除了上述问题之外,检索和准备必要的数据不是问题。但是,与我见过的用于创建签名的示例相比,根据我在 2.0 模块中看到的可用内容来安排要编码的数据似乎不太一致。例如,这是我所看到的近似值:
var header = { typ : "JWT" , alg : "RS256" };
var body = { iss : "abc123" , sub : "def456" , iat : 123456789 , exp : 123456789 + (60 * 60) , scope : "signature" };
var encHeader = base64UrlEncode(JSON.stringify(header));
var encBody = base64UrlEncode(JSON.stringify(body));
// the key pairs are stored elsewhere, and the functions represent a way …Run Code Online (Sandbox Code Playgroud)