Verificação KYC
Como funciona a verificação de identidade (KYC) dos sellers no painel do administrador, do pedido ao veredito, com o mapa das rotas.
KYC ("conheça seu cliente") é a checagem de que um seller (lojista) é quem diz ser antes de receber dinheiro da plataforma. O seller abre uma verificação, envia os documentos da empresa pelo painel dele, e o administrador confere cada documento e um checklist interno antes de aprovar ou recusar. Esta seção cobre o lado do administrador.
Como funciona
- O seller abre a verificação
Pelo painel dele (
POST /api/v1/vendor/kyc). A verificação nasceP(pendente) com 5 itens de checklist em branco. Um seller só pode ter uma verificação ativa por vez. - O seller envia os documentos
Enviados pelo painel do seller em PDF, JPG ou PNG, até 10 MB. Só dá para enviar enquanto a verificação está pendente ou recusada.
- Você assume a análise
Liste a fila, abra o caso e chame Iniciar análise para movê-lo a
O. Isso registra quem está analisando. - Você confere e decide
Marque cada documento e cada item do checklist e então aprove ou recuse a verificação (o motivo da recusa é obrigatório).
Estados da verificação
| Letra | Palavra aceita nos filtros | Significado |
|---|---|---|
P | pending | Enviada, ninguém assumiu. |
O | in_review | Um administrador assumiu a análise. |
A | approved | Aprovada. expires_at = data da aprovação + 1 ano. |
R | rejected | Recusada, com rejection_reason. O seller pode reenviar documentos. |
E | expired | Vencida. |
Conceitos-chave
Tipos de documento
cnpj_card (cartão CNPJ), social_contract (contrato social), id_document (RG ou CNH do sócio), address_proof (comprovante de endereço), bank_statement (extrato que mostre a conta em nome do CNPJ). O estado de cada documento também sai em letra: P pendente, A aprovado, R recusado, E vencido.
Itens do checklist
Cada verificação nasce com 5 itens que só o administrador preenche: cnpj_valid, address_matches, bank_matches_cnpj, no_sanctions, documents_legible. O campo passed é null (não conferido), true ou false.
Ids
Todos os ids são UUID em string. A rota de documento usa o docId e a de checklist usa o itemId, ambos vindos do detalhe da verificação.
Endpoints
| Método | Caminho | Para que serve | Auth |
|---|---|---|---|
| GET | /api/v1/admin/kyc | Listar a fila | admin |
| GET | /api/v1/admin/kyc/{id} | Abrir um caso | admin |
| POST | /api/v1/admin/kyc/{id}/review | Iniciar a análise | admin |
| PUT | /api/v1/admin/kyc/{id}/documents/{docId}/status | Aprovar ou recusar um documento | admin |
| PUT | /api/v1/admin/kyc/{id}/checklist/{itemId} | Marcar um item do checklist | admin |
| POST | /api/v1/admin/kyc/{id}/approve | Aprovar a verificação | admin |
| POST | /api/v1/admin/kyc/{id}/reject | Recusar a verificação | admin |
Erros comuns
- Esperar 404/409 em transição inválida. Iniciar, aprovar ou recusar uma verificação que já foi decidida (ou que não existe) volta 500 com
detailexplicando ("verification not found or already processed"). Leia ostatusantes de agir. - Chamar
reviewem verificação já em análise. SóPpode ir paraO. Aprovar e recusar aceitamPouO. - Recusar sem motivo. O corpo precisa de
reasonnão vazio, senão400. - Achar que o
{id}valida o documento. As rotas de documento e de checklist usam sódocIdeitemId. O{id}da verificação não é conferido contra eles. - Comparar status por palavra. O JSON devolve letras. Mapeie
P/O/A/R/Eno seu código. - Ignorar o módulo. Se a loja não tem o módulo vendor-kyc, toda a seção responde
403 module_disabled.