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.

webhook_triggerKYC StatusDescription

submit

Pending

KYC submission is created and waiting for manual review. *No webhook for 'Submit' status

approved

Approved

KYC approved

rejected

Rejected

KYC rejected

updated

-

KYC data has been updated

aml

Approved

AML screening results

KYC Status Change

KeyValueDescription

webhook_trigger

submit, approved, rejected, updated

submit: KYC is at pending status after submission approved: KYC approved at the moment of submission or turned into approved from pending rejected: KYC rejected at the moment of submission or turned into rejected from pending updated: Data has been updated

kyc_result

KYC result object

kyc_result.status

approved / rejected

KYC result

kyc_result.update_at

{update_at}

The time KYC status has changed to approved or rejected(UTC+0)

kyc_result.comment

{comment}

Rejected reason ※Only when the webhook_trigger is rejected.

submission_id

{submission_id}

Unique verifying ID for each submission

applicant_id

{applicant_id}

Unique verifying ID given to users, it is transmitted only when the KYC status is 'approved'.

created_at

{create_at}

The moment when a KYC submission_id has made (UTC+0)

email

{email}

Email address of a KYC applicant

userid

{userid}

Unique ID for each KYC applicant created from client side (≠ submission id)

cf

object

cf1 ~ cf3 data bundle object submitted together with Step 1 Input data

cf.cf1

{cf1}

Data submitted in field cf1

cf.cf2

{cf2}

Data submitted in field cf2

cf.cf3

{cf3}

Data submitted in field cf3

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.

KeyValueDescription

webhook_trigger

aml

Webhook trigger type

submission_id

{submission_id}

Unique verifying ID for each submission

email

{email}

Email address of a KYC applicant

userid

{userid}

Unique ID for each KYC applicant created from client side (≠ submission id)

aml_result

AML result object

aml_result.currentstatus

Not Screened / Red Flag

AML screening result

aml_result.risk_level_summary

Not Screened/ HIGH/MEDIUM/LOW

AML result level

created_at

{create_at}

The moment when a KYC submission_id has made (UTC+0)

cf

object

cf1 ~ cf3 data bundle object submitted together with Step 1 Input data

cf.cf1

{cf1}

Data submitted in field cf1

cf.cf2

{cf2}

Data submitted in field cf2

cf.cf3

{cf3}

Data submitted in field cf3

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
}

Last updated