【问题标题】:Docusign envelope AuthoritativeCopy is always nullDocusign 信封 AuthoritativeCopy 始终为空
【发布时间】:2019-03-18 16:02:08
【问题描述】:

我正在使用 DocuSign SDK (c#) 检索我创建并提交的信封上的信息,我在该信封中设置了权威复制设置。我得到了信封 ID,但是当我检索信封时,属性 AuthoritativeCopy 始终设置为 null。

如果我从 DocuSign 控制台下载 API 日志,我可以看到它已设置,这是来自 JSON 的 sn-p:

"authoritativeCopy": true

所以我不明白为什么我总是使用 SDK 获得 null。我是否误解了这个属性应该是什么?有没有其他人遇到过这个或类似的事情?

我对 EnforceSignerVisibility 字段也有同样的问题,我确保将文档可见性打开为“必须签名才能查看,除非发件人”,我仍然总是得到 null 字段。如果我再次检查 API 日志,我可以看到它已启用,那么为什么我不能通过 SDK 的 Envelope 对象看到它?会不会是权限问题?我正在请求一个 JWT 用户令牌来请求信封信息。

样品请求:

Request Headers:
"X-DocuSign-Authentication", "{"Username":"{{username}}","Password":"{{password}}","IntegratorKey": "{{integratorKey}}"}")

GET https://demo.docusign.net/restapi/v2/accounts/{{account}}/envelopes/{{envelopeId}}?advanced_update=true

回复:

{
"status": "sent",
"documentsUri": "/envelopes/{{envelopeId}}/documents",
"recipientsUri": "/envelopes/{{envelopeId}}/recipients",
"attachmentsUri": "/envelopes/{{envelopeId}}/attachments",
"envelopeUri": "/envelopes/{{envelopeId}}",
"emailSubject": "Document for eSignature",
"envelopeId": "{{envelopeId}}",
"signingLocation": "online",
"customFieldsUri": "/envelopes/{{envelopeId}}/custom_fields",
"autoNavigation": "true",
"envelopeIdStamping": "true",
"notificationUri": "/envelopes/{{envelopeId}}/notification",
"enableWetSign": "true",
"allowMarkup": "false",
"allowReassign": "true",
"createdDateTime": "2019-03-20T19:48:57.6370000Z",
"lastModifiedDateTime": "2019-03-20T19:48:57.6370000Z",
"initialSentDateTime": "2019-03-20T19:48:59.2470000Z",
"sentDateTime": "2019-03-20T19:48:59.2470000Z",
"statusChangedDateTime": "2019-03-20T19:48:59.2470000Z",
"documentsCombinedUri": "/envelopes/{{envelopeId}}/documents/combined",
"certificateUri": "/envelopes/{{envelopeId}}/documents/certificate",
"templatesUri": "/envelopes/{{envelopeId}}/templates",
"brandId": "{{brandId}}",
"purgeState": "unpurged",
"is21CFRPart11": "false",
"signerCanSignOnMobile": "true",
"isSignatureProviderEnvelope": "false",
"allowViewHistory": "true"
}

对上述请求的响应不包括属性 enforceSignerVisibility 但是如果我下载 API 请求日志,我可以看到它已被设置:

...
...
"enableWetSign": "True",
"enforceSignerVisibility": "True",
"brandId": "",    
...
...

【问题讨论】:

    标签: docusignapi


    【解决方案1】:

    authoritativeCopy 由 DocuSign 设置。无法通过 API 设置。

    当您想从 DocuSign 下载权威副本后,信封将显示 authoritativeCopy == false。

    EnforceSignerVisibility 不同。它需要首先在帐户级别启用。请参阅管理工具屏幕发送设置和文档可见性设置。你需要勾选Allow sender to specify document visibility复选框

    【讨论】:

    • 我有点困惑,因为在 API 日志中我可以看到该属性已设置,因此我希望 SDK 是相同的。关于EnforceSignerVisibility,我没有那个选项,我只有一个下拉菜单,但即使我将它设置为"Must sign to view, unless sender",该属性仍然会一直返回null
    【解决方案2】:

    如果您在 Admin 下打开 DocVis 后将 enforceSignerVisibility 设置为 true,然后要获取 enforceSignerVisibility 值,则需要在 GET /envelopes API 调用中传递查询参数 advanced_update=true

    【讨论】:

    • 你知道的SDK有没有类似的参数?
    • 是的,GetEnvelopeOptionsEnvelopesApi.cs 中的内部类,GetEnvelopeOptions 有一个属性 public string advancedUpdate {get; set;}
    • 使用 SDK,即使在设置 advancedUpdate 之后,它仍然会返回为 null。使用 REST API,它根本不显示
    • 它仅在通过信封创建调用设置且高级更新查询参数用于获取 Get /envelopes/{envelopeId} API 调用时显示。您能否在创建信封时捕获 DocuSign API 日志以查看您发送的内容,DS API Logging 将展示如何在 DocuSign 中捕获日志,我假设您已使用 Sender can set Must Sign To View, unless member of sending account 开启 DocVis
    • 是的,我打开了Sender can set Must Sign To View, unless member of sending account,当我检索日志CreateAndSendEnvelope 时,我可以看到"enforceSignerVisibility": "True",,但是当我获取GET /envelopes/{envelopeId}?advancedUpdate=true 时,该属性根本没有出现
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多