Download Signed Documents

Snapdocs Connect allows the broadcast of the event of signed documents being available to the lender through subscriptions and webhooks. Snapdocs sends webhooks to programmatically inform you about the progress of your closings, such as closing status, eSigning status, etc.

Before starting, you will need to identify the approach you would like to take:

Option 1 (Recommended)

Download the signed “completed” package per settings

In this approach our webhooks can notify you exactly when you should download the “completed” package. You will need to notify your Snapdocs representative of when you would like to get notified of the signed documents based on your specific trigger and delivery strategy noted below. They will configure your Pushback Settings on our end, which gives the appropriate webhook event when your criteria are met.

  1. Trigger Strategy
    1. Upon eSign Completion.
    2. Upon signing appointment completion.
    3. Upon eSign and signing appointment completion.
  2. Delivery Strategy
    1. Send one combined document and then incremental documents.
    2. Send a combined document every time.
  3. eSign Tamper Sealed Package (y/n)
    1. It is recommended to download and store the eSign tamper sealed package. DocuSign uses cryptographic hashing to create a unique digital "fingerprint" of the eSigned document at the time it's completed. Storing this PDF can assist internal and external auditors to verify the validity of transactions.

Setup Overview

Once Snapdocs has configured your specified trigger and delivery strategy, you can then subscribe to the event closing.signed_document_available and download the corresponding documents that will align to your selections. Note that the same event will continue to get sent per the delivery strategy listed above.

The eSign tamper sealed package can be captured by listening for the closing.signed_document_available event, having enabled the feature in pushback settings. Your integration would have different actions for the document type signed esign documents.

📘

See Documents for more information about document types.

Option 2 (Alternative approach)

Always download the most recent signed package available

In this approach, your system will get notified every time any signing action takes place and allows you to store the latest signed package. Note that with this approach, your system will have PDFs of partially executed packages as closings are in progress. As the closing completes, you will eventually receive a fully executed package. Integrators have found that they build more business logic in the integration if they leverage this option.

Setup Overview

Subscribe to the document.created event and listen for the signed complete package doc type. Once notified, always pull/replace the most current version of this PDF on your side. This will allow you to obtain the current completed package that may still be in progress. (ex. If only eSigning was completed and wet signing is in progress, you will have the executed eSigned documents available to download).

Configure your logic as it relates all the signed Document Types.

Configuration Details

Option 1

Step One: Create a webhook listener

Use your existing Http endpoints that are listening for Snapdocs events, or create a webhook listener to receive the events from Snapdocs Connect. You’ll use your full endpoint URL for the listener webhook_url in the next step.

Step Two: Create a subscription to the event

Make a POST request to the Create a subscription endpoint to register your webhook URL and the closing.signed_document_available event.

With this subscription, after the signed documents have been uploaded to Snapdocs, we will send a notification to the webhook listener.

Step Three: Handle the payload event

Below is an example of a payload. You will use the document_uuid to download that document in the next step.

{
   "event_id":"ec5ea44c-363d-468f-a98b-a92063eecadd",
   "subscription_id":"fa7f57fa-11bc-40e8-af26-3891f338822e",
   "closing_uuid":"2496d7ba-24c6-46b4-ad12-342bc0a304fb",
   "event_name":"closing.signed_document_available",
   "signing_method":"hybrid",
   "created_at":1756844620,
   "payload":{
      "external_identifiers":[
         {
            "external_system":"other_los",
            "external_type":"file_number",
            "value":"12345"
         }
      ]
   },
   "document_uuid":"73b72a56-eb32-9745-73e3-34856ad9d8e3",
   "document_type":"signed complete package"
}

Step Four: Download signed document(s)

  1. Enable your integration to download and store signed document files.
  2. Make a GET request to the Download a document endpoint to download the signed documents using the document_uuid from your event.
  3. Forward the documents to the appropriate post-close process and system to continue the loan on its journey to completion. Consider alerting to ensure no delays for the next person to pick up the signed documents.

Here’s an example of client application code can check the document_type and trigger various workflows.

if event_body.get('event_name') == 'closing.signed_document_available':
  if event_body.get('document_type') == 'signed esign documents':
    download_esign_document(event_body.get('closing_uuid'), event_body.get('document_uuid'))
  elif event_body.get('document_type') == 'signed complete package':
    doc_id = download_full_pkg(event_body.get('closing_uuid'), event_body.get('document_uuid'))
		notify_post_close_workflow(doc_id)
  else:
    pass

Option 2

Same general steps as option 1 configuration, but with the following tweaks.