Checkify
개발자 문서

Embed SDK 참조

Browser API for Checkify Pass 확인. CDN URL: https://checkify.me/sdk/v1/checkify.min.js

설치

<script src="https://checkify.me/sdk/v1/checkify.min.js"></script>

로드 후 window.Checkify.version 는 SDK 릴리스(현재 1.0.4)를 보고합니다.

HTML 자동 마운트

페이지 로드 시 SDK은 다음 속성을 가진 요소를 자동 마운트합니다.

<div
  data-checkify-pass="YOUR_PASS_ID"
  data-checkify-request="human"
  data-checkify-text="Verify with Checkify"
  data-checkify-return-url="https://yoursite.com/done"
></div>

사용되지 않음: data-checkify-launcher 는 여전히 작동하지만 콘솔을 기록합니다. 경고. 대신 Pass + 요청 유형을 사용하세요.

방법설명
data-checkify-passCheckify Pass 공개 ID (필수)
data-checkify-requestRequest type: human, age_over_18, age_over_21, age_over_25, or age_over_N
data-checkify-text버튼 레이블 텍스트
data-checkify-return-url앱 전환 후 돌아갈 URL(선택 사항)
data-checkify-fields요청할 선택적 식별 정보 필드(예: 국가)는 쉼표로 구분됩니다.
data-checkify-proofsPass에서 여러 증명 방식을 지원하는 경우, 쉼표로 구분된 증명 유형을 선택적으로 사용할 수 있습니다.
data-checkify-launcher더 이상 사용되지 않는 런처 ID입니다. 대신 data-checkify-pass를 사용하세요.

폼 통합 속성

Checkify.bindForm을 사용할 때 폼 요소에 다음 설정을 추가할 수도 있습니다.

방법설명
data-checkify-passCheckify Pass 공개 ID (필수)
data-checkify-requestRequest type: human, age_over_18, age_over_21, age_over_25, or age_over_N
data-checkify-form폼에 data-checkify-pass(또는 data-checkify-form)를 넣으면 bindForm을 수동으로 호출하지 않아도 페이지 로드 시 자동으로 바인딩됩니다. data-checkify-auto는 지원되지 않습니다.
data-checkify-hidden-inputrequest_id를 받는 숨겨진 입력 요소에 대한 CSS 선택자입니다(기본값: input[name=checkify_token]).

Checkify.configure(options)

위젯을 마운트하기 전에 전역 기본값을 설정하세요.

Checkify.configure({
  baseUrl: 'https://checkify.me',
  completeUrl: '/checkify/complete'
});

Checkify.bindForm(form, options)

Renders는 확인 버튼이고, 숨겨진 입력에 토큰을 쓰고, 확인될 때까지 제출을 비활성화합니다.

Checkify.bindForm('#my-form', {
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  buttonTarget: '#checkify-wrap',
  submitButton: '#submit',
  hiddenInput: '#checkify_token',
  disableSubmitUntilVerified: true
});

bindForm 옵션

Checkify.bindForm(form, options)의 두 번째 인수로 전달되는 일반적인 옵션:

방법설명
passIdCheckify Pass 공개 ID (데이터 체크파이 패스를 통해 양식에 설정하지 않은 경우 필수)
requestType요청 유형 (사람, 18세 이상 등)
buttonTarget확인 버튼이 표시되는 컨테이너 요소
submitButton검증 후 활성화를 위해 제어 권한을 제출하세요.
hiddenInputrequest_id에 대한 숨겨진 필드 선택기
disableSubmitUntilVerified이 경우, 인증이 성공할 때까지 제출 기능을 비활성화합니다.

Checkify.createHumanGate(options)

확인이 완료될 때까지 콘텐츠를 차단하는 전체 페이지 또는 컨테이너 게이트.

Checkify.createHumanGate({
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  container: '#gate-root',
  title: 'Verify to continue'
});

반환 URL 흐름

사용자가 Checkify 앱을 사용하는 경우 쿼리 문자열에 checkify_request_id 가 포함되어 귀하의 사이트로 돌아올 수 있습니다. SDK은 로드 시 자동으로 Checkify.checkReturnedVerification() 를 호출합니다.

Checkify.verify(옵션)

bindForm 없이 프로그래밍 방식으로 시작합니다. DOM 요소를 target으로 전달하세요(container가 아님 — container는 createHumanGate 전용). 폼에는 bindForm을 권장합니다. 사용자가 완료하거나 취소하면 resolve되는 Promise를 반환합니다.

const result = await Checkify.verify({
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  target: document.getElementById('checkify-root'),
  autoOpenModal: true
});
console.log(result.requestId); // send to your server as request_id

이벤트

window.addEventListener('checkify:verified', (e) => {
  console.log('Verified', e.detail);
});

window.addEventListener('checkify:return', (e) => {
  console.log('Returned from app', e.detail);
});

window.addEventListener('checkify:status', (e) => {
  console.log('Status', e.detail);
});

window.addEventListener('checkify:error', (e) => {
  console.error('Checkify error', e.detail);
});

상태 폴링(선택 사항)

대부분의 연동은 폼 제출 시 POST /v1/qr/results/verify를 사용하여 검증해야 합니다. 임베드를 사용하지 않는 사용자 지정 프런트엔드의 경우, 사용자가 앱에서 검증을 완료하는 동안 상태를 주기적으로 확인할 수 있습니다.

서버 확인

방법

방법설명
Checkify.mount(root?)선택적 루트 요소 아래 마운트 패스 위젯
Checkify.bindForm(...)양식 통합 도우미
Checkify.createHumanGate(...)사람 확인 게이트 UI
Checkify.verify(options)프로그래밍 방식의 확인 흐름
Checkify.checkReturnedVerification()앱 핸드오프 후 반환 URL 처리