使用DocuSign API设置收件人邮件语言异常问题咨询
看起来你已经走对了第一步——给每个签署人配置emailNotification来指定语言,但邮件里的系统文本(比如“(User) sent you a document to sign”这类自动生成的内容)还没切换到目标语言对吧?这是个常见的小坑,我来帮你梳理几个关键的排查点和修复方案:
1. 确认SupportedLanguage的格式是否正确
你代码里写的是TwoLetterCountry,这里可能混淆了国家代码和语言代码。DocuSign的SupportedLanguage需要用ISO 639-1标准的双字母语言代码(小写或大写都可以,但推荐小写),而不是国家代码:
- 比如法语是
fr(不是FR国家代码) - 西班牙语是
es(不是ES) - 德语是
de(不是DE)
如果用了错误的代码,DocuSign会默认 fallback 到英文。先检查你传入的语言代码是否符合要求,比如把"SupportedLanguage": "FR"改成"SupportedLanguage": "fr"试试。
2. 同时设置信封层面的语言
有时候只给收件人设置语言还不够,需要在信封(Envelope)的全局配置里也指定语言,确保系统文本统一切换。创建信封时,给EnvelopeDefinition添加language字段:
var envelopeDefinition = new EnvelopeDefinition { // 其他信封配置 Language = "fr", // 和收件人语言保持一致,或根据需求设置 Recipients = new Recipients { Signers = new List<Signer> { new Signer { // 签署人信息 EmailNotification = new RecipientEmailNotification { EmailSubject = "Veuillez signer ce document", EmailBlurb = "Bonjour, veuillez signer le document ci-joint.", SupportedLanguage = "fr" } } } } };
3. 检查品牌(Branding)的语言配置
如果你在使用自定义品牌(Branding),需要确保该品牌已经添加了你要使用的语言版本。如果品牌里没有目标语言的配置,DocuSign会用品牌的默认语言(通常是英文)来显示系统文本。
你可以在DocuSign控制台的设置 > 品牌里,找到对应的品牌,编辑它并添加目标语言,确保所有系统文本都有对应的翻译。
4. 排除收件人账户偏好的影响
如果收件人已经拥有DocuSign账户,他们的个人偏好设置里的语言可能会优先于你通过API设置的语言。不过对于访客签署(没有DocuSign账户的用户),这个问题不存在。如果是注册用户,你可以提醒他们检查自己的账户语言设置,或者在API里设置forceSignerLanguage(如果API支持的话)来强制使用你指定的语言。
按照这几个步骤排查下来,应该就能解决邮件系统文本显示英文的问题了。
内容的提问来源于stack exchange,提问作者Rluxx

