DocuSign是一个电子签名服务,它提供webhook功能(称为"Connect")来实时通知外部系统签名事件。当文档完成签名流程时,DocuSign可以通过webhook向配置的URL发送通知。
PDF数据未在webhook中返回可能有以下几种原因:
确保在DocuSign管理控制台的Connect配置中勾选了"包含文档"选项。这是最常见的原因。
如果通过API配置webhook,确保请求中包含includeDocuments=true
参数:
{
"url": "https://your-webhook-url.com",
"includeDocuments": "true",
"envelopeEvents": [
{"envelopeEventStatusCode": "completed"}
]
}
如果webhook中确实无法包含PDF,可以在收到webhook通知后,使用DocuSign API获取文档:
// 示例代码 - Node.js获取已签名文档
const docusign = require('docusign-esign');
async function getSignedDocument(envelopeId) {
const apiClient = new docusign.ApiClient();
apiClient.setBasePath('https://demo.docusign.net/restapi');
apiClient.addDefaultHeader('Authorization', 'Bearer ' + accessToken);
const envelopesApi = new docusign.EnvelopesApi(apiClient);
const document = await envelopesApi.getDocument(accountId, envelopeId, 'combined');
// 保存PDF文件
const fs = require('fs');
fs.writeFileSync('signed_document.pdf', document);
}
确保使用的API账户有以下权限:
signature
权限envelope_read
权限document_read
权限对于大文档,建议:
通过以上方法,您应该能够解决PDF数据未在DocuSign webhook中返回的问题。
没有搜到相关的文章