Webhook

웹훅이란?

웹훅은 특정 이벤트가 발생한 경우 고객사 응용프로그램에게 이벤트에 대한 알림이 전달되는 기능을 의미합니다.

웹훅 등록 방법

웹훅 등록을 위해 이벤트를 받을 webhook URL을 헬프데스크로 전달해 주세요.

웹훅 트리거

Submission data는 입력받은 정보만 리턴합니다. 예를 들어 submission 제출 시 cf1, wallet address 등 optional 정보를 입력하지 않은 경우 해당 내용은 response에 포함되지 않습니다.

webhook_triggerKYC StatusDescription

submit

Pending

KYC 제출 완료되고, 자동처리되지 않아 수동 검수가 필요한 상태.

approved

Approved

KYC 승인

rejected

Rejected

KYC 거절

updated

-

KYC 정보가 변경됨

aml

Approved

AML스크리닝 결과

KYC Status Change

KeyValueDescription

webhook_trigger

submit, approved, rejected, updated

submit: KYC 제출 완료 후 'pending'상태 approved: KYC 제출과 동시에 자동으로 승인되었거나 pending인 KYC가 승인됨 rejected: KYC 제출과 동시에 자동으로 거절되었거나 pending인 KYC가 거절됨 updated: 제출된 KYC의 정보가 업데이트됨

kyc_result

KYC 제출 결과 오브젝트

kyc_result.status

approved / rejected

KYC 검수 결과

kyc_result.update_at

{update_at}

KYC 제출 상태가 approved 혹은 rejected로 변경 된 시점(UTC+0)

kyc_result.comment

{comment}

거절 사유에 대한 메세지 ※ webhook_trigger가 rejected일 때만전송 됨.

submission_id

{submission_id}

각 KYC 제출 건이 가지는 고유의 구분 값

applicant_id

{applicant_id}

중복 제출을 확인하기 위해 부여되는 고유 식별 ID로, KYC Status 가 Approved일 때만 전달 됩니다.

created_at

{create_at}

submission_id가 생성된 시점(UTC+0)

email

{email}

KYC 제출자의 이메일

userid

{userid}

고객사 고유의 KYC제출자 식별자 (≠ submission id)

cf

object

Step1 Input 데이터에 함께 제출한 cf1 ~ cf3 데이터 묶음 객체

cf.cf1

{cf1}

cf1 필드에 제출한 데이터

cf.cf2

{cf1}

cf2 필드에 제출한 데이터

cf.cf3

{cf3}

cf3 필드에 제출한 데이터

AML Results

KYC 승인 후 AML Screening 절차가 완료되면 AML 결과와 submission 정보가 리턴됩니다. KYC가 거절된 경우에는 AML Screening을 하지 않습니다. KYC가 승인된 경우에만 AML Screening을 하여 결과가 리턴됩니다.

KeyValueDescription

webhook_trigger

aml

웹훅의 트리거 타입

submission_id

{submission_id}

각 KYC 제출 건이 가지는 고유의 구분 값

email

{email}

KYC 제출자의 이메일

userid

{userid}

고객사 고유의 KYC제출자 식별자 (≠ submission id)

aml_result

AML 결과 오브젝트

aml_result.currentstatus

Not Screened / Red Flag

AML 스크리닝 결과

aml_result.risk_level_summary

Not Screened/ HIGH/MEDIUM/LOW

AML 결과 레벨 값

created_at

{create_at}

submission_id가 생성된 시점(UTC+0)

cf

object

Step1 Input 데이터에 함께 제출한 cf1 ~ cf3 데이터 묶음 객체

cf.cf1

{cf1}

cf1 필드에 제출한 데이터

cf.cf2

{cf2}

cf2 필드에 제출한 데이터

cf.cf3

{cf3}

cf3 필드에 제출한 데이터

샘플 데이터

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