woovi-kyc
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
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
- npm
- yarn
pnpm add woovi-kyc
npm install woovi-kyc
yarn 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
| Prop | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cnpj | string | Sim | CNPJ da empresa (somente dígitos). Auto-busca dados via BrasilAPI. |
onNext | (data) => void | Não | Chamado quando o usuário avança uma etapa. |
onBack | (data) => void | Não | Chamado quando o usuário volta uma etapa. |
onFileUploaded | (file, metadata) => Promise<string> | Não | Chamado ao selecionar arquivo. Retorne a URL pública. |
onFileRemoved | (fileUrl, data) => void | Não | Chamado ao remover um arquivo. |
onSubmit | (data) => void | Promise<void> | Não | Chamado ao finalizar o wizard. |
onError | (error: Error) => void | Não | Chamado 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),
});
}}
/>