Webhooks

Webhooks are useful to sync Synaps state changes with your own database without calling our API every minutes or hours.

It will triggers your endpoint each time Synaps make a change to its verifications.

To create a new webhook, enter your webhook URL and click on Activate.

You will see a new input "Secret" which is the value Synaps sends in query params for each webhooks.

Webhook Checklist

  • Use HTTPS secure webhook URL to enable secured communication

  • For each request, verify that the secret query params is the one provided in your manager interface (T4zWYzNwHR...)

Webhook Deliveries

For each webhook that we send to your payload URL, we are saving the response output to help you debug in case of errors.

Webhook Request

You should create a POST request in your Private API that will take as JSON Content-Type and will receive the following object

SUBMITTED WEBHOOK

This webhook is sent each time a user has submitted a step.

{
  "reason": "",
  "service": "RESIDENCY",
  "session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
  "state": "SUBMITTED",
  "step_id": "1253242"
}

VALIDATED WEBHOOK

This webhook is sent each time a user has validated a step.

{
  "reason": "",
  "service": "RESIDENCY",
  "session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
  "state": "VALIDATED",
  "step_id": "1253242"
}

REJECTION WEBHOOK

This webhook is sent when a user has been rejected and requires a new submission

{
  "reason": "Document type invalid",
  "service": "IDENTITY",
  "session_id": "71c8a5e9-1fa3-a595-f74a-ae85424c",
  "state": "REJECTED",
  "step_id": "8294827"
}

FINAL REJECTION WEBHOOK

This webhook is sent when a user has been rejected for a reason that will not allows further resubmission.

{
  "reason": "User attempts to submit a forged document",
  "service": "IDENTITY",
  "session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
  "state": "FINAL_REJECTED",
  "step_id": "3233223"
}

RESET WEBHOOK

This webhook is sent when we reset a step of a KYC not approved yet.

{
  "reason": "",
  "service": "IDENTITY",
  "session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
  "state": "RESET",
  "step_id": "3233223"
}

AML WEBHOOK

This webhook is sent when an AML task has been created on your manager interface. AML manager tasks are only created if the setting "Final Decision Maker" is set as "Your compliance officer" on the AML/CFT Screening step.

{
  "reason": "",
  "service": "AML",
  "session_id": "2ac3f7ab-3729-f968-3f55-aa47e881",
  "state": "SUBMITTED",
  "step_id": "3233223"
}

We don't disclose any private information through the webhook. You should always make a call to the API in order to fetch user information.

We are sending a secret value as a query parameter in the POST request. This secret is unique to your app and is available in your manager. Double-check this value each time you receive a webhook to make sure that Synaps is the one who sends this request.

Last updated