Webhook Guide

Webhook

Webhook provides real-time notifications when specific events occur.

Webhook Integration

To integrate webhook, please send your webhook URL to Helpdesk.

Webhook Triggers

"Submission data" only returns entered information. In cases when you do not include any optional information such as "cf1" or "wallet_address" in submission data, the response object does not include them either.

KYC Status Change

If webhook_trigger is one of [approved, rejected, updated], the three additional parameters below are returned.

  • However, this only applies if the relevant data exists in the submission data. (gender, date_of_birth, nationality)

AML Results

AML result and submission data are returned when AML screening is completed, no screening for rejected KYCs. AML Screening is performed only when KYC is approved and the results are returned.

Delete

Injection

Sample Data

submit

{
    uri: 'https://your-endPoint-url.com',
    method: 'POST',
    body: {
        webhook_trigger:"submit", 
        kyc_result:{
            status:"rejected",
            created_at:"2023-07-06T02:01:03.494Z"
         },
        submission_id:"{submissionId}",
        projectId:"{projectId}",
        email:"test@sample.com",
        userid:"{userid}"
    },
    json: true
}

approved

{
    uri: 'https://your-endPoint-url.com',
    method: 'POST',
    body: {
        webhook_trigger:"approved", 
        kyc_result:{
            status:"rejected",
            comment:"Multiple invalid KYC attempts"
            updated_at:"2023-07-06T00:45:05.738Z"
         },
        submission_id:"{submissionId}",
        projectId:"{projectId}",
        email:"test@sample.com",
        userid:"{userid}"
    },
    json: true
}

rejected

{
    uri: 'https://your-endPoint-url.com',
    method: 'POST',
    body: {
        webhook_trigger:"approved", 
        kyc_result:{
            status:"rejected",
            comment:"Multiple invalid KYC attempts"
            updated_at:"2023-07-06T00:45:05.738Z"
         },
        submission_id:"{submissionId}",
        projectId:"{projectId}",
        email:"test@sample.com",
        userid:"{userid}"
    },
    json: true
}

updated

{
  uri: 'https://your-endPoint-url.com',
  method: 'POST',
  body: {
    kyc_result: { status: 'approved', updated_at: '2023-07-11T09:13:24.751Z' },
    email: 'test@sample.com',
    webhook_trigger: 'updated',
    submission_id: 'test_submissions_id',
    userid:{userid}
    
  },
  json: true
}

aml

{
    uri: 'https://your-endPoint-url.com',
    method: 'POST',
    body: {
         webhook_trigger: 'aml',
         submission_id: '{submissionId}',
         email: 'test@sample.com',
         userid:{userid}
         aml_result: {
               currentstatus: 'Not Screened',
               risk_level_summary: 'Not Screened'
         }
   },
    json: true
}

Delete

{
    uri: 'https://your-endPoint-url.com',
    method: 'DEL',
    body: {
        webhook_trigger:"delete", 
        submission_id:"{submissionId}",
        account email:"test@sample.com",
        delete_time:"2024-05-03T02:01:03.494Z"
    },
    json: true
}

Injection

{
    uri: 'https://your-endPoint-url.com',
    method: 'PUT',
    body: {
        webhook_trigger:"injection", 
        action:{
            type:"address",
            created_at:"2024-05-03T02:01:03.494Z"
         },
        submission_id:"{submissionId}",
        email:"test@sample.com",
        userid:"{userid}"
    },
    json: true
}

1. Bidirectional Encryption/Decryption for Output Data

When using the encryption option, both input and output require bidirectional encryption/decryption.

Output:

Return the encrypted result in the body.

Example:

  • response : {
    		...
    		body : "encrypted-string"
    }

Last updated