Post Go Live проблема с Docusign с использованием node.js - PullRequest
7 голосов
/ 26 апреля 2019

Вот моя проблема:

  • Мы интегрировали docusign в наше приложение на стороне сервера с nodejs, используя это руководство https://github.com/docusign/docusign-node-client (раздел «OAuth JSON Web Token (JWT) Grant»)
  • Мы выполнили «Процесс Live»: наше приложение зарегистрировано на нашем производственном счете
  • Мы заменили тестовую конфигурацию на производственную конфигурацию.
  • Когда мы пытаемся создать конверт, мы получаем следующую ошибку: PARTNER_AUTHENTICATION_FAILED: указанный ключ интегратора не найден или отключен. Указан неверный аккаунт для пользователя

Что я делаю не так?

async function docusignInit() {
    var options;
    var env = [40077,50077].indexOf(config.main.port) != -1 ? 'test' :'prod';
    if (env == "test") {
        options = {
            basePath: restApi.BasePath.DEMO,
            oAuthBasePath: oAuth.BasePath.DEMO
        }
    } else {
        options = {
            oAuthBasePath: "account.docusign.com",
           // We called https://account.docusign.com/oauth/userinfo to found the uri
            basePath:"https://eu.docusign.net/restapi/"
        }
    }
    // in production, We must do
    // var apiClient = new docusign.ApiClient(options.basePath);
    // Otherwise, we get "Error: getaddrinfo ENOTFOUND undefined undefined:443"
    var apiClient = new docusign.ApiClient(options.basePath);
    var privateKeyFile = fs.readFileSync(`./server/docusign/keys/${env}/private.PEM`);
    var res = await apiClient.requestJWTUserToken(config.docusign.integratorKey, config.docusign.userName, [oAuth.Scope.IMPERSONATION, oAuth.Scope.SIGNATURE], privateKeyFile, 3600)
    var token = res.body.access_token;
    apiClient.addDefaultHeader('Authorization', 'Bearer ' + token);
    docusign.Configuration.default.setDefaultApiClient(apiClient);
    await sendDocusign({
        userId: 1,
        firstName: 'foor',
        lastName: 'bar',
        email:'foo@bar;'
    })
}


async function sendDocusign(role) {

    var envDef = new docusign.EnvelopeDefinition();
    envDef.emailSubject = 'Please signe this';
    envDef.templateId = config.docusign.templateId;

    var role = new docusign.TemplateRole();
    role.roleName = "roleName";
    role.clientUserId = role.userId;
    role.name = role.firstName + " " + role.lastName;
    role.email = role.email;

    envDef.allowReassign = false;
    envDef.templateRoles = [role];
    envDef.status = 'sent';

    var envelopesApi = new docusign.EnvelopesApi();
    return await envelopesApi.createEnvelope(config.docusign.userAccountId, {
        'envelopeDefinition': envDef
    })
}

1 Ответ

0 голосов
/ 06 мая 2019

учитывая, что ваша ошибка кажется, что вы упускаете ключ Integrator или вы пишете его в прямом смысле.В соответствии с что LINK возможно, что вы пропустили скобки внутри ключа встроенного интегратора?

Ключ интегратора должен быть помещен перед идентификатором пользователя, который находится в узле имени пользователяИмя пользователя взято.Ключ интегратора должен быть заключен в скобки «[и]».

Пример API в приведенной выше документации:

<soap:Header>
   <wsa:Action>http://www.docusign.net/API/3.0/GetRecipientEsignList</wsa:Action>
   <wsa:MessageID>uuid:3f9d7626-c088-43b4-b579-2bd5e8026b17</wsa:MessageID>
   <wsa:ReplyTo>
      <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
   </wsa:ReplyTo>
   <wsa:To>http://demo.docusign.net/api/3.0/api.asmx</wsa:To>
   <wsse:Security soap:mustUnderstand="1">
      <wsu:Timestamp wsu:Id="Timestamp-8838aa24-9759-4f85-8bf2-26539e14f750">
         <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>
         <wsu:Expires>2006-04-14T14:34:23Z</wsu:Expires>
      </wsu:Timestamp>
      <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a-9e133ea43c41">
         <wsse:Username>[Integrator Key Here]2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username>
         <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
         <wsse:Nonce>SjlScsL5q3cC1CDWrcMx3A==</wsse:Nonce>
         <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>
      </wsse:UsernameToken>
   </wsse:Security>
</soap:Header>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...