Welcome to Snapdocs Connect, a solution for your organization to integrate your technology stack with Snapdocs for creating, tracking and updating transactions. Our API is organized around REST. It contains predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Overview/FAQ
Q: My company would like to adopt Snapdocs Connect, how can we do that?
To adopt Snapdocs Connect, reach out to your Snapdocs customer success manager to procure the Authentication details, which includes Client ID, Client Secret and Scopes.
The Authentication details will be shared with you via the Gmail Confidential Mode.
Q: What are Client ID, Client Secret and Scopes for?
These unique info will allow Snapdocs to authenticate your company anytime a POST request is made to Generate-JWT-Token endpoint . Once the call is made, the response will specify how long the bearer token is valid for. We recommend reusing the bearer token until it is expired, then make another call to generate a new token.
After you retrieve the token, the next step would be to create the actual closing. This can be done by making a request to Create-New-Closing endpoint .
Q: How do I upload documents to the closing created by Snapdocs Connect?
To upload documents, make a request to Upload-New-Document endpoint.
You can upload one or more documents at the same time. There is no limit on how many documents can be uploaded to a closing.
Q: How do I retrieve documents from a closing?
Make a request to List-Documents endpoint. After the call is authenticated, the system will return a list of documents available for the closing, as well as the closing URL. Use this closing URL to Download-Document endpoint the documents from the closing.
Q: How does Snapdocs know when to start processing the documents?
After you have uploaded all the documents to the closing, make a request to the Submit documents
The call signifies that all the documents associated with the closing have been uploaded, and Snapdocs’s Doc Processing can begin.
Q: What if the system does not recognize the API call to the endpoint /mark_finished_uploading_docs?
In this case, the system will return a 500 Error status code. If the error still occurred after multiple attempts, contact your Snapdocs Customer Success Manager for assistance.
Q: Why did I get the error code 401 when making an API call?
The 401 Unauthorized Error is an HTTP response status code indicating that the request sent from you could not be authenticated. When this happens, check your Client ID, Client Secret and Scopes included in the header of the API call to ensure they are correct.
If the error still occurred after multiple attempts, contact your Snapdocs Customer Success Manager for assistance.
Q: Why did I get the error code 403 when making an API call?
The 403 Forbidden Error is an HTTP response status code indicating that you are trying to access a closing that was not created by your company.
When this happens, check the reference_id of the closing you are trying to access to ensure it is your company’s closing.
Q: Why did I get the error code 500 when making an API call?
If the error still occurred after multiple attempts, contact your Snapdocs Customer Success Manager for assistance.
Q: What is closing_uuid?
The unique identifier for a closing.
Q: Is there a scenario where we would need to re-upload everything?
This could possibly happen in a redraw situation where some documents need to be replaced. We’re working on simplifying this process.
Q: Are Snapdocs webhooks secure?
Our webhooks are signed with HMAC hash-based message authentication code SHA an contains three headers:
'X-Authorization-Digest'
'X-Authorization-Timestamp'
'X-Authorization-Signature'
When a subscription is created, we return an HMAC key in the body of the response. This HMAC key can be used to decode the signature by utilizing the digest algorithm for decryption. The decoded signature contains the timestamp and payload at the time of creation. This allows the user to verify that the payload in the message was not tampered with during transmission.
Q: Do I want to set up the webhook for my company?
Webhooks provide a powerful method to track the state of transactions and to take actions within your Snapdocs account. Review these best practices to ensure your webhooks remain secure and function seamlessly with Snapdocs Connect.
-
Event type -- Your webhook endpoints should be configured to receive only the types of events required by your integration. Listening for extra events (or all events) will put undue strain on your server and is not recommended.
-
Handle duplicate events -- Webhook endpoints might occasionally receive the same event more than once. We advise you to guard against duplicated event receipts by making your event processing idempotent.
-
Verify events are sent from Snapdocs -- Use webhook signatures to verify if the events are sent from Snapdocs.
Q: Should we send a response after receiving a webhook, if so in what format?
We recommend you to respond with status code 200. You can see examples of Success/Failure responses here