Pular para o conteúdo principal

woovi-kyc

npm version npm downloads

Biblioteca React open-source que implementa um wizard completo de KYC Onboarding para abertura de contas Woovi. Ao invés de construir toda a UI do zero, você integra o componente <KYCWizard /> e ele cuida de todos os passos: dados da empresa, endereço, upload de documentos, informações dos representantes e revisão final.

Links: GitHub · npm · Demo · Documentação completa

Biblioteca da Comunidade

Esta biblioteca foi criada pela comunidade e não é mantida oficialmente pela Woovi. Para a API oficial de KYC Onboarding, consulte os Primeiros Passos e Como criar um onboarding via API.

Instalação

pnpm add woovi-kyc

Peer dependencies: react (>=18) e react-dom (>=18).

Uso básico

import { KYCWizard } from 'woovi-kyc';
import 'woovi-kyc/styles.css';

function App() {
return (
<KYCWizard
cnpj="12345678000100"
onFileUploaded={async (file, metadata) => {
const url = await myUploadFunction(file, metadata);
return url;
}}
onSubmit={(data) => {
// Envie os dados para seu backend → encaminhe para a API Woovi
console.log('Dados do onboarding:', data);
}}
onError={(error) => console.error(error)}
/>
);
}

Funcionalidades

  • Auto-preenchimento de CNPJ — busca dados da empresa via BrasilAPI
  • Auto-preenchimento de CEP — busca endereço via BrasilAPI
  • Storage agnostic — você controla o upload de arquivos (S3, R2, GCS, etc.)
  • Callback-driven — callbacks em cada etapa para controle total do fluxo
  • Wizard de 5 etapas — Dados da Empresa → Endereço → Documentos → Representantes → Revisão

Props

PropTipoObrigatórioDescrição
cnpjstringSimCNPJ da empresa (somente dígitos). Auto-busca dados via BrasilAPI.
onNext(data) => voidNãoChamado quando o usuário avança uma etapa.
onBack(data) => voidNãoChamado quando o usuário volta uma etapa.
onFileUploaded(file, metadata) => Promise<string>NãoChamado ao selecionar arquivo. Retorne a URL pública.
onFileRemoved(fileUrl, data) => voidNãoChamado ao remover um arquivo.
onSubmit(data) => void | Promise<void>NãoChamado ao finalizar o wizard.
onError(error: Error) => voidNãoChamado em caso de erro.

Integração com a API Woovi

O wizard coleta todos os dados necessários para o endpoint POST /api/v1/kyc/onboarding. No callback onSubmit, envie os dados para seu backend que então encaminha para a API Woovi:

<KYCWizard
cnpj="12345678000100"
onSubmit={async (data) => {
// Seu backend recebe os dados e chama a API Woovi
await fetch('/api/kyc/onboarding', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data),
});
}}
/>