docusignapi - DocuSign 公证人 API 错误 - NOTARY_NOT_ALLOWED
问题描述
我正在通过 API 审查 Docusign Notary 功能。但我被困在一点上。
API 返回异常 "{"errorCode":"NOTARY_NOT_ALLOWED","message":"Notary not enabled."}"
.我正在使用开发者帐户来测试上述功能(demo.docusign.net)。是否有任何其他设置可以启用 Docusign Notary?
private static EnvelopeDefinition MakeEnvelope(string signerEmail, string signerName, string signerClientId, string docPdf, string accountId)
{
byte[] buffer = System.IO.File.ReadAllBytes(docPdf);
EnvelopeDefinition envelopeDefinition = new EnvelopeDefinition();
envelopeDefinition.EmailSubject = "Please sign this document";
Document doc1 = new Document();
String doc1b64 = Convert.ToBase64String(buffer);
doc1.DocumentBase64 = doc1b64;
doc1.Name = "Lorem Ipsum";
doc1.FileExtension = "docx";
doc1.DocumentId = "3";
envelopeDefinition.Documents = new List<Document> { doc1 };
Signer signer1 = new Signer
{
Email = signerEmail,
Name = signerName,
ClientUserId = signerClientId,
RecipientId = "2",
NotaryId = "1",
RoutingOrder = "1"
};
NotaryRecipient notaryRecipient = new NotaryRecipient
{
Email = "xxx@xxx.com",
Name = "xxx",
RecipientId = "1",
RoutingOrder = "1",
Tabs = new Tabs
{
NotarySealTabs = new List<NotarySeal>() { new NotarySeal { XPosition = "50", YPosition = "150", DocumentId = "3", PageNumber = "1" } },
SignHereTabs = new List<SignHere>() { new SignHere { XPosition = "300", YPosition = "150", DocumentId = "3", PageNumber = "1" } }
},
UserId = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",//accountId,
NotaryType = "remote"
};
Tabs signer1Tabs = new Tabs
{
SignHereTabs = new List<SignHere>() { new SignHere { XPosition = "150", YPosition = "150", DocumentId = "3", PageNumber = "1" } }
};
signer1.Tabs = signer1Tabs;
Recipients recipients = new Recipients
{
Signers = new List<Signer> { signer1 },
Notaries = new List<NotaryRecipient> { notaryRecipient }
};
envelopeDefinition.Recipients = recipients;
envelopeDefinition.Status = "sent";
return envelopeDefinition;
}
我错过了什么吗?
解决方案
代码有点不对劲。您需要这样做(请参阅有关该主题的博客文章):
var notaryHost = new NotaryHost
{
Name = "Nadia Notary",
Email = "nadianotary@domain.com",
DeliveryMethod = "email",
RecipientId = "2",
Tabs = new Tabs { NotarizeTabs = notarizeTabs }
};
// InPersonSigner is used here even if the signer doesn't sign in person
var inPersonSigner = new InPersonSigner
{
NotaryHost = notaryHost,
Name = "Eddie End User",
Email = "endusersigner@domain.com",
RecipientId = "1",
InPersonSigningType = "notary",
Tabs = new Tabs { SignHereTabs = signHereTabs }
};
var inPersonSigners = new List<InPersonSigner>();
inPersonSigners.Add(inPersonSigner);
var recipients = new Recipients{ InPersonSigners = inPersonSigners };
附言
您可能正在尝试使用 beta 远程在线公证功能,而不是作为 eSign 一部分的更成熟的 eNotary。如果这是您的意图,您可能无法执行此操作,因为它是封闭测试版,尚未对所有人开放。
推荐阅读
- c++ - 是否可以将变体的索引作为 constexpr 变量获取?
- postgresql - 使用在arrac_b 中找不到的array_a 值更新array_c
- shopify - Shopify 中的多个订单
- heroku - 如何暂时停止 Heroku 服务器上的活动以防止收费
- node.js - 如何只允许通过 iframe 访问我的 Web 应用程序中的 1 个 URL?
- c++ - glfw 在创建之前/创建时实例化窗口位置
- dart - 如何在 Dart 中创建静态扩展方法?
- r - 将日期从 JSON 转换为 R 列表元素:“字符串不是标准的明确格式”
- r - Shiny 应用程序包未部署在 shinyapps.io 中
- javascript - 无法映射控制台中看到的对象的值