2017-01-17 13 views
0

В настоящее время я работаю с интеграцией Node.js для DocuSign (https://www.npmjs.com/package/docusign-esign), я провел весь тест с помощью учетной записи sandbox и отлично работал, прямо сейчас я пытаюсь использовать производственную учетную запись, логин процесс прекрасен, но когда я собираюсь создать конверт, я получаю ошибку USER_AUTHENTICATION_FAILED (даже если первый вход прошел без ошибок). Я хотел бы знать, если кто-то испытал то же самое или у вас есть идея, как я могу это исправить.USER_AUTHENTICATION_FAILED Создание конверта

Это код, который я взял из DocuSign-ESIGN создать конверт:

var loginAccount = new docusign.LoginAccount(); 
loginAccount = loginAccounts[0]; 
var accountId = loginAccount.accountId; 

var envelopesApi = new docusign.EnvelopesApi(); 

envelopesApi.createEnvelope(accountId, envDef, null, function (error, envelopeSummary, response) 

Идентификатор счета тот же извлекается после завершения процесса регистрации.

+0

Пожалуйста, просмотрите и ACCEPT ответ/UPVOTE Маджида, как я считаю, что это вопрос. Убедитесь, что вы используете 'baseUrl', который возвращается в ответе API входа, поскольку это будет URL учетной записи конкретного центра обработки данных. – Ergin

+0

Да, я добавил базовый url согласно информации, которую я получаю от входа, и все работает плавно! – user3460835

ответ

1

Возможна одна из причин, по которой ваша учетная запись DocuSign размещается на na2.docusign.net, na3.docusign.net или eu.docusign.net, в то время как ваш код использует по умолчанию www.docusign.com в качестве базового URL-адреса.

Вход в систему будет проходить, даже если вы используете WWW, однако все последующие вызовы API не удастся, если вы не нажмете точный базовый URL-адрес, соответствующий вашей производственной учетной записи. Вы должны были получить эту информацию в рамках процесса DocuSign Go-Live (ранее известного как сертификация API). Вы всегда можете получить базовый URL-адрес из ответа на вход в систему.

Для узла, вот как получить правильный базовый URL из вызова входа и установить его на API клиента (строки в полужирный, вероятно, что отсутствует в вашем коде):

authApi.login(loginOps, function (err, loginInfo, response) { 
    if (err) { 
    return next(err); 
    } 
    if (loginInfo) { 
    // list of user account(s) 
    // note that a given user may be a member of multiple accounts 
    var loginAccounts = loginInfo.getLoginAccounts(); 
    console.log('LoginInformation: ' + JSON.stringify(loginAccounts)); 
    var loginAccount = loginAccounts[0]; 
    var accountId = loginAccount.accountId; 

var baseUrl = loginAccount.baseUrl;

var accountDomain = baseUrl.split("/v2");

apiClient.setBasePath(accountDomain[0]);

docusign.Configuration.default.setDefaultApiClient(apiClient);

next(null, loginAccount); 
    } 
}); 
+0

Большое спасибо! работает отлично! : D – user3460835