需要Docusign API端点
文档https://docs.docusign.com/esign/guide/authentication/legacy_auth.html不起作用。我花了至少2个小时试图让这些说明起作用。无论您的指示是错误的,还是他们的网站上有错误。需要Docusign API端点
4天前我开了一个支持案例,但他们没有回应。我正处于时间紧缩之中,以便让这一切顺利进行。有谁知道如何得到这个网址。
这里是我的C#代码:
ApiClient apiClient = new ApiClient("https://www.docusign.net/restapi");
DocuSign.eSign.Client.Configuration.Default.ApiClient = apiClient;
DocuSignHeader myHeader = new DocuSignHeader()
{
Username = ConfigurationManager.AppSettings["DocuSignUsername"],
Password = ConfigurationManager.AppSettings["DocuSignPassword"],
IntegratorKey = ConfigurationManager.AppSettings["DocuSignIntegratorKey"],
};
DocuSign.eSign.Client.Configuration.Default.AddDefaultHeader("X-DocuSign-Authentication", JsonConvert.SerializeObject(myHeader));
AuthenticationApi authApi = new AuthenticationApi();
LoginInformation loginInfo = authApi.Login();
LoginAccount myAccount = loginInfo.LoginAccounts[0];
.. create envelope here..
EnvelopesApi envelopesApi = new EnvelopesApi(GetBasePath(myAccount.BaseUrl));
EnvelopeSummary envelopeSummary = envelopesApi.CreateEnvelope(myAccount.AccountId, envDef);
GetBasePath的()的目的是为了去掉 'RESTAPI' 之后的一切,所以URL是正确的。
与只使用demo
的演示系统相比,DocuSign现场制作系统具有多个帐户子域。例如,在生产中可能的地点是www
,na2
,na3
,eu
。
您的集成代码需要解析从验证请求返回的baseUrl
的子域,并用该新子域重新配置apiClient
。
看起来你正在使用的DocuSign SDK,还有自述一个说明,解释这一点:
认证
服务集成使用旧式头认证
(传统报头认证使用X-DocuSign认证报头。)
使用Authentication:登录方法检索帐户的帐号和baseUrl。登录方法的网址为www.docusign.net,开发人员沙箱为demo.docusign.net。 baseUrl字段是loginAccount对象的一部分。请参阅文档和loginAccount对象
生产中所选帐户的baseUrl将以na1,na2,na3,eu1或其他名称开头。使用返回的baseUrl来创建basePath(请参阅下一步)。对所有后续API调用使用basePath。
由于登录方法返回,baseUrl包含API版本和帐户ID。拆分字符串以获取basePath,只是服务器名称和api名称。例如,您将收到https://na1.docusign.net/restapi/v2/accounts/123123123。您只需要https://na1.docusign.net/restapi 使用basePath实例化SDK。例如ApiClient apiClient =新的ApiClient(basePath);
使用Configuration.Default设置验证标题,如示例中所示。AddDefaultHeader
参考:C# SDK
代码示例
这里是相应的C#代码做的正是上面(即提到剥离的baseUrl的子域和重新配置apiClient):
// Update ApiClient with the new base url from login call
string[] separatingStrings = { "/v2" };
apiClient = new ApiClient(loginInfo.LoginAccounts[0].BaseUrl.Split(separatingStrings, StringSplitOptions.RemoveEmptyEntries)[0]);
可以请你分享一下你试过的和你得到的错误 –
我用这个例子:$ curl -i -H'X-DocuSign-Authentication: {“Username”:“[email protected]”, “Password”:“S3cre + p455w0Rd”, “IntegratorKey”:“ 230546a7-9c55-40ad-8fbf-af205d5494ad“}'\ https://demo.docusign.net/restapi/v2/login_information 我放入了用于登录生产的相同凭据。我将网址更改为https://www.docusign.net/restapi/v2/login_information 但我得到身份验证错误。 –
我也添加了我的C#代码。提琴手不断显示401授权错误。我已经花了超过十几个我们试图让这个在生产中工作,它不会工作。它在沙箱中运行良好。 –