OneSpan Sign Developer: Creating a Notarized Package – Part 1

Duo Liang,

To streamline the notarization process, the e-Notary feature in OneSpan Sign provides Notaries the ability to witness, sign, and seal documents electronically. For information on how to set up this feature, please visit our eNotary documentation for more detailed instructions. 

After reviewing the documentation, this blog will provide some supplementary information on how to use the eNotary system for both integrated and non-integrated users.

Creating a Notarized Package

For ad-hoc users:

1. Choosing “Notarization” will render the “in-person signing” option unavailable.

2. OneSpan Sign will then want you to select the notary for this particular agreement. As long as a signer in OneSpan Sign system is identified as a notary, a “Set as Notary” button will be displayed in the front of the signer’s name.6-12-1

3. All available notary fields configured at the notary’s sender level will be loaded on Designer page.6-12-2

4. Once a signer is assigned the notary role, you must delete all notary fields before the notary designation can be removed. So a correct workflow to revert a notarized package to a normal package would be: 

  • Delete all notary fields
  • Remove the signer as notary
  • Uncheck the notarization button

5. After sending, this notarized package will appear in the notary’s dashboard.

For integrated users:

1. Notary fields are contained in the “professionalIdentityFields” attribute under the “roles” node. Below is a JSON example of a role node:

{
      "id": "825b2be2-6752-4239-8139-af2f89cd5220",
      "specialTypes": [
        "NOTARY"
      ],
      ......
      "signers": [
        {
          "id": "6ee2a9b0-8102-4f0a-ad44-1f5d486503bf",
          ......
          "professionalIdentityFields": [
            {
              "id": "NotaryJurisdiction",
              "category": "NOTARY",
              "translations": [
                {
                  "description": "NotaryJurisdiction",
                  "language": "en",
                  "id": "",
                  "data": null,
                  "name": "NotaryJurisdiction"
                }
              ],
              "data": null,
              "type": "REGULAR",
              "value": "Montreal",
              "name": ""
            },
            {
              "id": "NotaryLicenseExpiryDate",
              "category": "NOTARY",
              "translations": [
                {
                  "description": "NotaryLicenseExpiryDate",
                  "language": "en",
                  "id": "",
                  "data": null,
                  "name": "NotaryLicenseExpiryDate"
                }
              ],
              "data": null,
              "type": "REGULAR",
              "value": "2020-09-01",
              "name": ""
            },
            ......
          ]
        }
      ]
    }

2. As with ad-hoc users, workflows like “delete a notary” or “upload signature for a notary (refer to this blog)” could be confusing in a notary signing scenario, so make sure you passed some tests before actually starting to code.

How to Create and Update Notary Fields:

1. Identifying a notary and setting up notary fields must be completed through our support team. Please contact us with the account information and your request.

2. After the notary fields are created, you can update the values manually. This can be done by using the API to update the account sender:

HTTP Headers
POST /api/account/senders/{senderId}
HTTP Headers
Accept: application/json
Content-Type: application/json
Authorization: Basic api_key
Request Payload

{
    "professionalIdentityFields": [
        {
            "id": "NotaryJurisdiction",
            "type": "REGULAR",
            "value": "Montreal"
        },
        {
            "id": "NotaryLicenseExpiryDate",
            "type": "REGULAR",
            "value": "2020-09-15"
        },
        {
            "id": "STAMP",
            "type": "SEAL",
            "value": "20190609\\nTest1\\nTest2\\nTest3"
        }
    ]
}

Note:

New line is indicated by “\\n” in “value” attribute.

3. Once you can update values for notary fields yourself, ensure that NotaryLicenseExpiryDate is valid. Otherwise, it can cause the error below:

{"technical":"java.text.ParseException: Unparseable date: \"2020-09-31\"","messageKey":"error.internal.default","message":"Unexpected error. We apologize for any inconvenience this may have caused you, please try again. If the problem persists, please contact our support team.","code":500,"name":"Unhandled Server Error"}

Looking Ahead to Future Installments of the Notarized Package Series

Upcoming articles in this blog series will bring even more useful tips on the e-Notary feature and showcase some code examples to facilitate your integration. For example, part two will demonstrate how to create a notarized package through an SDK. 

If you have any questions regarding this blog or anything else concerning integrating OneSpan Sign into your application, visit the Developer Community Forums. Your feedback matters to us!

Browse the Other Entries in this Blog series:
•    Creating a Notarized Package – Part 2
•    Creating a Notarized Package – Part 3
•    Creating a Notarized Package – Part 4

OneSpan Developer Community

OneSpan Developer Community

Join the OneSpan Developer Community! Forums, blogs, documentation, SDK downloads, and more.

Join Today

Duo Liang is a Technical Evangelist and Partner Integrations Developer at OneSpan where he creates and maintains integration guides and code shares, helps customers and partners integrate OneSpan products into their applications, and builds integrations within third party platforms.