0
votes

I am reviewing the Docusign Notary functionalioty through the API. But i am stuck in one point.

The API Return an exception "{"errorCode":"NOTARY_NOT_ALLOWED","message":"Notary not enabled."}"

.I am using developer account to test the above fuctionality(demo.docusign.net). Is there any additional settings there to enable 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 = "[email protected]",
            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;
    }

did I missed any thing?

And I also added Notary Public in the corresponding account enter image description here

1

1 Answers

1
votes

The code is a bit off. You need to do this (see blog post on the topic):

var notaryHost = new NotaryHost
{
    Name = "Nadia Notary",
    Email = "[email protected]",
    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 = "[email protected]", 
    RecipientId = "1",
    InPersonSigningType = "notary",
    Tabs = new Tabs { SignHereTabs = signHereTabs }
};
var inPersonSigners = new List<InPersonSigner>();
inPersonSigners.Add(inPersonSigner);
var recipients = new Recipients{ InPersonSigners = inPersonSigners };

PS

It may be that you are trying to use the beta Remote Online Notary feature, and not the more established eNotary that is part of eSign. If that was your intention, you may not be able to do this, as it's a closed beta and not open yet to everyone.