2017-01-17 3 views
0

Momentan arbeite ich mit einer Node.js Integration für DocuSign (https://www.npmjs.com/package/docusign-esign), ich habe den ganzen Test mit dem Sandbox-Konto gemacht und perfekt gearbeitet, momentan versuche ich ein Produktionskonto, das Login, zu verwenden Prozess ist in Ordnung, aber wenn ich den Umschlag erstellen werde, bekomme ich einen USER_AUTHENTICATION_FAILED Fehler (auch wenn die erste Anmeldung ohne Fehler ging). Ich würde gerne wissen, ob jemand das gleiche erlebt hat oder eine Idee hat, wie ich das beheben kann.USER_AUTHENTICATION_FAILED Erstellen von Envelope

Dies ist der Code, den ich aus der DocuSign-esign nahm den Umschlag zu erstellen:

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) 

die Konto-ID ist die gleiche nach dem Anmeldevorgang abgerufen.

+0

Bitte überprüfen und ACCEPT/upvote Majid Antwort, wie ich glaube auch, dass das Problem ist. Stellen Sie sicher, dass Sie das BaseUrl verwenden, das in der Antwort des Anmelde-APIs zurückgegeben wird, da es sich um eine Datencenter-spezifische Konto-URL handelt. – Ergin

+0

Ja, ich habe die Basis-URL nach den Informationen, die ich vom Login bekomme, hinzugefügt und alles funktioniert reibungslos! – user3460835

Antwort

1

Eine mögliche Ursache könnte sein, dass Ihr DocuSign-Konto auf na2.docusign.net, na3.docusign.net oder eu.docusign.net gehostet wird, während Ihr Code die Standard-URL www.docusign.com als Basis-URL verwendet.

Der Anmeldeanruf wird auch dann ausgeführt, wenn Sie www verwenden, jedoch werden alle folgenden API-Aufrufe fehlschlagen, wenn Sie nicht die genaue Basis-URL treffen, die Ihrem Produktionskonto entspricht. Sie sollten diese Informationen als Teil des DocuSign Go-Live-Prozesses (früher als API-Zertifizierung bezeichnet) erhalten haben. Sie können die Basis-URL immer aus der Antwort des Anmeldeaufrufs abrufen.

Für Knoten, hier, wie Sie die richtige Basis-URL aus dem Login-Anruf zu bekommen und stellen Sie den API-Client-up (Linien in fett ist wahrscheinlich, was in Ihrem Code fehlt):

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

Vielen Dank !! funktioniert perfekt! : D – user3460835

Verwandte Themen