Creating a Notary Signer
  • 13 Nov 2024
  • 9 Minutes to read
  • Dark
    Light
  • PDF

Creating a Notary Signer

  • Dark
    Light
  • PDF

Article summary

Java SDK.NET SDKREST API

Java SDK

To download the full code sample see our Code Share site.  If you're unable to use IPEN, contact our Support Team to have it enabled for your account.

Notarization assures the parties to a transaction that a signed document is authentic and can be trusted. In particular, it ensures that: (1) the document’s signatures are genuine; (2) the signers acted without duress or intimidation; (3) the signers intended the terms of the document to be in full force and effect.

Notarization is done by a Notary Public, who is authorized by the government to vet, certify and maintain records of notarized documents. The Notary is responsible for the impartial screening of a signer’s identity, willingness and awareness. Such screening detects and deters document fraud, and helps to protect the personal rights and property of citizens from forgers and identity thieves.

In the OneSpan SignIPEN system, notaries must be existing senders, though not necessary under your main account. They must also be configured properly. Identifying a notary and setting up notary fields must be completed through our Support Team. Please send the notary field name, type (SEAL or REGULAR) and value to our Support Team. From there, our team will help you create the fields. After the notary fields are created, you can update these values manually.

For more information, see our blog posts on how to Create a Notarized Package.

Configuring a Notary Transaction

For more information on creating a basic transaction, see Creating and Sending a Transaction.

Before creating a notary  transaction you must do the following:

  • Enable the notarization setting on your transaction

  • Added a notary as a signer to the transaction

Enabling Notarization

The following code will enable notarization on the transaction:  

 DocumentPackage pkg1 = PackageBuilder.newPackageNamed("Create Notary Package by Java SDK - " + new Date())
                            .withSigner(SignerBuilder.newSignerWithEmail(notaryEmail)
                                     .withFirstName("Duo")
                                     .withLastName("Liang")
                                         .withCustomId(notaryRoleId)
                                         )
                                .withNotarized(true)
                                .withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings()
                                                         .hideOwnerInPersonDropDown()
                                             )
                                .build();
 PackageId createPackageOneStep = eslClient.createPackageOneStep(pkg1);
 System.out.println("package id: "+ createPackageOneStep);

Adding a Notary

To specify a notary you must set the transaction level attribute notaryRoleId, using that person's role ID. At the same time, you must specify the transaction ID. The following code will do this, where Notary is the role ID:

     private void setNotaryRoleId(String packageId, String notaryId) throws IOException {
 		URL sourceClient = new URL(API_URL + "/packages/" + packageId);
 		HttpURLConnection sourceConn = (HttpURLConnection) sourceClient.openConnection();
 		sourceConn.setRequestProperty("Content-Type", "application/json; esl-api-version=11.21");
 		sourceConn.setRequestProperty("Accept", "application/json; esl-api-version=11.21");
 		sourceConn.setRequestProperty("Authorization", "Basic " + API_KEY);
 		sourceConn.setRequestMethod("POST");
 		sourceConn.setDoOutput(true);
 		sourceConn.setDoInput(true);
                String payloadJSON = "{\"notaryRoleId\" : \"" + notaryId + "\"}";
 		System.out.println(payloadJSON);
 		OutputStream os = sourceConn.getOutputStream();
 		os.write(payloadJSON.toString().getBytes());
 		os.flush();
 		os.close();	
 		int sourceResponseCode = ((HttpURLConnection) sourceConn).getResponseCode();
 		if (sourceResponseCode != 200) {
 			Reader ir = new InputStreamReader(sourceConn.getErrorStream());
 			BufferedReader in = new BufferedReader(ir);
 			String inputLine;
 			StringBuffer response = new StringBuffer();
 			while ((inputLine = in.readLine()) != null) {
 				response.append(inputLine);
 			}
 			in.close();
 			sourceConn.disconnect();
 			throw new RuntimeException(response.toString());
 		}
     }

Results

After running your code, you will see that the Notarization and In Person Signing have been enabled for the transaction you created. In addition, a solid notary icon will appear next to your notary signer.

There will be a hollow notary icon in front of all signers who are registered as notaries in OneSpan Sign. However, only one signer can be specified as notary for a transaction.

.NET SDK

To download the full code sample see our Code Share site.  If you're unable to use IPEN, contact our Support Team to have it enabled for your account.

Notarization assures the parties to a transaction that a signed document is authentic and can be trusted. In particular, it ensures that: (1) the document’s signatures are genuine; (2) the signers acted without duress or intimidation; (3) the signers intended the terms of the document to be in full force and effect.

Notarization is done by a Notary Public, who is authorized by the government to vet, certify and maintain records of notarized documents. The Notary is responsible for the impartial screening of a signer’s identity, willingness and awareness. Such screening detects and deters document fraud, and helps to protect the personal rights and property of citizens from forgers and identity thieves.

In the OneSpan Sign IPEN system, notaries must be existing senders, though not necessary under your main account. They must also be configured properly. Identifying a notary and setting up notary fields must be completed through our Support Team. Please send the notary field name, type (SEAL or REGULAR) and value to our Support Team. From there, our team will help you create the fields. After the notary fields are created, you can update these values manually.

For more information, see our blog posts on how to Create a Notarized Package.

Configuring a Notary Transaction

For more information on creating a basic transaction, see Creating and Sending a Transaction.

Before creating a notary transaction you must do the following:

  • Enable the notarization setting on your transaction

  • Added a notary as a signer to the transaction

Enabling Notarization

The following code will enable notarization on the transaction:  

DocumentPackage pkg1 = PackageBuilder.NewPackageNamed("Create Notary Package by .NET SDK - " + System.DateTime.Now)
                                             .WithSigner(SignerBuilder.NewSignerWithEmail("notary@example.com")
                                                    .WithFirstName("Duo")
                                                    .WithLastName("Liang")
                                                    .WithCustomId("Notary")
                                              )
                                             .WithNotarized(true)
                                             .Build();
PackageId createPackageOneStep = eslClient.CreatePackageOneStep(pkg1);
Debug.WriteLine("package id: "+ createPackageOneStep);

Adding a Notary

To specify a notary you must set the transaction level attribute notaryRoleId, using that person's role ID. At the same time, you must specify the transaction ID. The following code will do this, where Notary is the role ID:

private void SetNotaryRoleId(String packageId, String notaryRoleId) {
            HttpClient httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", API_KEY);
            httpClient.DefaultRequestHeaders.Add("Accept", "application/json");
            string updatePackageString = "{\"notaryRoleId\" : \"" + notaryRoleId + "\"}";
            StringContent jsonUpdatePackageContent = new StringContent(updatePackageString, Encoding.UTF8, "application/json");
            var response = httpClient.PutAsync(new Uri(API_URL) + "/packages/" + packageId, jsonUpdatePackageContent).Result;
            if (!response.IsSuccessStatusCode)
            {
                throw new Exception(response.Content.ReadAsStringAsync().Result);
            }
        }
}

Results

After running your code, you will see that the Notarization and In Person Signing have been enabled for the transaction you created. In addition, a solid notary icon will appear next to your notary signer.

There will be a hollow notary icon in front of all signers who are registered as notaries in OneSpan Sign. However, only one signer can be specified as notary for a transaction.

REST API

To download the full code sample see our Code Share site.  If you're unable to use IPEN, contact our Support Team to have it enabled for your account.

Notarization assures the parties to a transaction that a signed document is authentic and can be trusted. In particular, it ensures that: (1) the document’s signatures are genuine; (2) the signers acted without duress or intimidation; (3) the signers intended the terms of the document to be in full force and effect.

Notarization is done by a Notary Public, who is authorized by the government to vet, certify and maintain records of notarized documents. The Notary is responsible for the impartial screening of a signer’s identity, willingness and awareness. Such screening detects and deters document fraud, and helps to protect the personal rights and property of citizens from forgers and identity thieves.

In the OneSpan Sign IPEN system, notaries must be existing senders, though not necessary under your main account. They must also be configured properly. Identifying a notary and setting up notary fields must be completed through our Support Team. Please send the notary field name, type (SEAL or REGULAR) and value to our Support Team. From there, our team will help you create the fields. After the notary fields are created, you can update these values manually.

For more information, see our blog posts on how to Create a Notarized Package.

Configuring a Notary Transaction

For more information on creating a basic transaction, see Creating and Sending a Transaction.

Before creating a notary  transaction you must do the following:

  • Enable the notarization setting on your transaction

  • Added a notary as a signer to the transaction

The following code will create a transaction with notarization enabled, and assign  notary signer to the transaction.

  • Setting the transaction level attribute notarized to true will mark the transaction as notarized.

  • To specify the notary signer, modify the transaction level attribute notaryRoleId. This is  the notary signer’s role ID.

HTTP Request

POST /api/packages

HTTP Headers

Authorization: Basic api_key
Accept: application/json
Content-Type: application/json

Request Payload

{
  "roles": [
    {
      "id": "Notary",
      "signers": [
        {
          "company": "OneSpan Sign",
          "email": "notary@example.com",
          "firstName": "Mary",
          "lastName": "Doe"
        }
      ]
    }
  ],
  "status": "DRAFT",
  "notaryRoleId": "Notary",
  "notarized": true,
  "description": "Test Notary Signer from REST API",
  "language": "en",
  "name": "Test Notary Signer from REST API",
  "type": "PACKAGE"
}

Results

After running your code, you will see that the Notarization and In Person Signing have been enabled for the transaction you created. In addition, a solid notary icon will appear next to your notary signer.

There will be a hollow notary icon in front of all signers who are registered as notaries in OneSpan Sign. However, only one signer can be specified as notary for a transaction.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, our interactive help assistant