// sdk / react

React SDK

h6s가 UI를 렌더하는 managed 컴포넌트를 제공합니다. 내부적으로 vanilla @h6s-ai/web 과 같은 흐름을 사용합니다.

1. 설치

npm i @h6s-ai/react

peer dependency: react ≥ 18, react-dom ≥ 18.

2. 토큰 발급

sessionToken 은 파트너 백엔드가 API 키로 발급해서 React 앱에 넘깁니다. API 키는 브라우저에 노출하지 않습니다. 발급 요청·응답 형식은 SDK 개요의 백엔드 단계에서 확인할 수 있습니다.

3. managed 버튼 컴포넌트

h6s가 UI를 렌더하는 관리형 흐름은 @h6s-ai/react/managed 서브패스를 사용합니다. 가장 단순한 경로입니다. 전체화면 iframe으로 열리고 등록이 끝난 뒤 자동으로 닫힙니다.

import { RegistrationButton } from "@h6s-ai/react/managed";

export function ConnectBank({ sessionToken }: { sessionToken: string }) {
  return (
    <RegistrationButton
      sessionToken={sessionToken}
      onSuccess={({ sessionId }) => { /* 등록 완료 후 처리 */ }}
      onExit={({ reason }) => { /* reason 별 처리 (아래 표) */ }}
      className="rounded-md bg-black px-4 py-2 text-white"
    >
      자격증명 등록
    </RegistrationButton>
  );
}

4. 이벤트 처리

onSuccess sessionId 로 등록 완료 상태를 갱신할 수 있습니다. onExit reason 으로 종료 사유를 구분합니다. 두 콜백은 동시에 발생하지 않습니다.

reason의미권장 대응
closed사용자가 닫기·overlay·ESC로 종료다시 시도 안내 또는 재시도 버튼 노출
expired세션 토큰 만료새 토큰을 발급받아 다시 엽니다
consumed이미 등록이 끝난 세션 재진입등록 완료 안내 후 자격증명 목록으로 이동
cancelled발급자(파트너 백엔드)가 취소처리됨 안내
max_attempts_exceeded입력 실패 횟수 초과잠시 후 새 토큰으로 재시도 안내
error서버·검증 오류 (message 동반)message 노출 후 재시도 옵션 제공

다른 진입점

  • useRegistration: 직접 만든 버튼에서 위젯을 엽니다.