我是DocuSign集成的初学者,我想上传发送给租户的文档,在他们在上述字段中进行数字签名后,我必须将其保存到我的应用程序数据库中。这样做的最佳方法是什么?我一直在尝试eg-01-node-jwt库,正如他们在文档中提到的那样。在提供rsa密钥,访问令牌和其他凭据后执行代码时,我收到错误。
发送一个包含三份文件的信封。此操作大约需要 15 秒... checkToken:使用当前访问令牌
API 问题:状态代码 404,消息正文:
{
"success": false,
"message": "Not Found",
"error": {
"message": "Not Found"
}
我尝试过的代码
'use strict';
const sendEnvelope = require('./lib/sendEnvelope')
, listEnvelopes = require('./lib/listEnvelopes')
, dsConfig = require('./dsConfig.js').config
;
async function main() {
// initialization
if (! dsConfig.clientId) {
console.log (`nProblem: you need to configure this example,
either via environment variables (recommended) or via the ds_config.js
file. See the README file for more informationnn`);
process.exit();
}
console.log ('nSend an envelope with three documents. This operation takes about 15 seconds...');
let envelopeArgs = {
signerEmail: dsConfig.signerEmail,
signerName: dsConfig.signerName,
ccEmail: dsConfig.ccEmail,
ccName: dsConfig.ccName
}
, results = await sendEnvelope.sendEnvelope(envelopeArgs);
console.log (`Envelope status: ${results.status}. Envelope ID: ${results.envelopeId}`);
console.log ("nListing envelopes in the account that have changed status in the last 30 days...");
results = await listEnvelopes.listEnvelopes();
if (results.envelopes && results.envelopes.length > 2){
console.log (`Results for ${results.envelopes.length} envelopes were returned. Showing the first two:`);
results.envelopes.length = 2;
} else {
console.log (`Results for ${results.envelopes.length} envelopes were returned:`);
}
console.log (`n${JSON.stringify(results, null, ' ')}`);
console.log ("nDone.n");
}
async function executeMain() {
try {
await main();
} catch (e) {
let body = e.response && e.response.body;
if (body) {
// DocuSign API problem
if (body.error && body.error == 'consent_required') {
// Consent problem
let consent_scopes = "signature%20impersonation",
consent_url = `https://${dsConfig.authServer}/oauth/auth?response_type=code&` +
`scope=${consent_scopes}&client_id=${dsConfig.clientId}&` +
`redirect_uri=${dsConfig.oAuthConsentRedirectURI}`;
console.log(`nProblem: C O N S E N T R E Q U I R E D
Ask the user who will be impersonated to run the following url:
${consent_url}
It will ask the user to login and to approve access by your application.
Alternatively, an Administrator can use Organization Administration to
pre-approve one or more users.nn`)
} else {
// Some other DocuSign API problem
console.log (`nAPI problem: Status code ${e.response.status}, message body:
${JSON.stringify(body, null, 4)}nn`);
}
} else {
// Not an API problem
throw e;
}
}
}
// the main line
executeMain();
编辑 1
基本路径是什么?
DsJwtAuth.basePath = "localhost:5000";
我收到一个像这样的帖子请求 POST/v2/accounts/900be0b4-0eb7-4fcb-b7d0-d3aed6c191a1/envelopes 404
抱歉,您遇到了此问题。您是否首先从 https://github.com/docusign/eg-01-node-jwt 下载代码示例的存储库版本?
为了执行更多调试,您需要使用标准 Node.js 调试技术找出引发错误的位置。