Skip to main content
⚠️ PROGRAMA BETA - ACESSO RESTRITO O sistema BAAS está em fase de testes beta. O acesso é exclusivo para parceiros selecionados que passaram por um rigoroso processo de compliance e due diligence. Entre em contato: [email protected]

Sobre o BAAS Owem

Banking as a Service (BAAS) é uma tecnologia que permite que qualquer empresa – independentemente do seu ramo de atuação – comece a oferecer produtos financeiros para seus clientes sem a necessidade de ser um banco ou instituição financeira.

Como funciona o BAAS?

O BAAS funciona conectando empresas que querem oferecer serviços financeiros através da Owem, integrando nossas APIs e utilizando nossa infraestrutura tecnológica regulada pelo Banco Central.

Pré-requisitos para Implementação

1

Aprovação no Programa BAAS

Passar pelo processo de compliance e due diligence da Owem. Entre em contato com [email protected].
2

Credenciais de API

Após aprovação, você receberá sua API Key com o scope baas:onboarding habilitado.
3

Familiaridade com APIs REST

Conhecimento em APIs REST com autenticação Basic Auth.
4

Configuração de Webhooks

Endpoint HTTPS para receber notificações em tempo real.
5

IP na Allowlist

Seu IP público deve estar cadastrado na nossa allowlist.

Funcionalidades Disponíveis


Onboarding KYC

O processo de onboarding permite criar contas bancárias para os clientes do seu negócio com verificação KYC (Know Your Customer) integrada.

Tipos de Onboarding

TipoDescriçãoUso Recomendado
livenessWidget KYC com captura de selfie e documentosApps mobile, experiência guiada
manualUpload de documentos via APIIntegração backend, processos internos

Fluxo de Integração

Criar Proposta de Conta

Para iniciar o onboarding, envie os dados do cliente para a API:
curl -X POST https://api.owem.com.br/v4/i/baas/onboarding/new \
  -H "Authorization: Basic $(echo -n 'SUA_API_KEY:SEU_SECRET' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "onboardingType": "liveness",
    "type": "PF",
    "cpf": "12345678900",
    "name": "João da Silva",
    "email": "[email protected]",
    "phone": "11999998888",
    "birthDate": "1990-05-15",
    "motherName": "Maria da Silva",
    "address": {
      "street": "Rua das Flores",
      "number": "123",
      "neighborhood": "Centro",
      "city": "São Paulo",
      "state": "SP",
      "zipCode": "01234567"
    },
    "financialDetails": {
      "declaredIncome": "DINP02",
      "netWorth": "NWNP01",
      "occupation": "ONP05"
    },
    "isPEP": false
  }'
O campo kycUrl contém o link do widget KYC. Redirecione seu cliente para essa URL para completar a verificação de identidade.

Campos Obrigatórios

CampoTipoDescrição
onboardingTypestringliveness (widget) ou manual (upload API)
typestringTipo de pessoa: PF (apenas PF no momento)
cpfstringCPF do cliente (apenas números)
namestringNome completo (mínimo 3 caracteres)
emailstringEmail válido
phonestringTelefone com DDD (mínimo 10 dígitos)
birthDatestringData de nascimento (YYYY-MM-DD), idade ≥ 18
motherNamestringNome da mãe
addressobjectEndereço completo
financialDetailsobjectInformações financeiras (códigos BACEN)

Dados Financeiros (BACEN Circular nº 3.978/2020)

Campos obrigatórios conforme Circular BACEN nº 3.978/2020, vigente a partir de 16/01/2026.
CódigoFaixa de Renda
DINP01Até R$ 5.000
DINP02R$ 5.001 – R$ 10.000
DINP03R$ 10.001 – R$ 30.000
DINP04R$ 30.001 – R$ 100.000
DINP05Acima de R$ 100.000
| Código | Faixa de Patrimônio | | ------ | ------------------------------ | | NWNP01 | Até R$ 50.000 | | NWNP02 | R$ 50.001 – R$ 200.000 | | NWNP03 | R$ 200.001 – R$ 1.000.000 | | NWNP04 | R$ 1.000.001 – R$ 5.000.000 | | NWNP05 | Acima de R$ 5.000.000 |
CódigoProfissão
ONP01Administrador / Gerente
ONP02Vendedor / Representante Comercial
ONP03Analista de RH / Assistente de Pessoal
ONP04Analista Financeiro / Contador
ONP05Desenvolvedor / Analista de Sistemas
ONP06Profissional de Marketing / Publicitário
ONP07Médico / Dentista / Enfermeiro
ONP08Professor / Educador
ONP09Engenheiro (em qualquer área)
ONP10Advogado / Jurista
ONP11Auxiliar de Serviços Gerais / Faxineiro
ONP12Pedreiro / Servente / Mestre de Obras
ONP13Motorista / Entregador / Logístico
ONP14Recepcionista / Operador de Caixa
ONP15Técnico em (Eletricidade, Mecânica, etc.)
ONP16Designer Gráfico / Artista
ONP17Operador de Máquinas / Montador
ONP18Consultor / Autônomo (Prestador de Serviços)
ONP19Cabeleireiro / Manicure / Esteticista
ONP20Vigilante / Agente de Segurança
ONP21Trabalhador Agropecuário / Agrônomo
ONP22Agente de Viagens / Hoteleiro
ONP23Jornalista / Relações Públicas
ONP24Psicólogo / Terapeuta
ONP25Servidor Público / Funcionário Federal/Estadual
ONP26Pesquisador / Cientista
ONP27Artesão / Microempreendedor Individual (MEI)
ONP28Aposentado / Reformado
ONP29Estudante (Sem Renda Própria)
ONP30Autônomo
ONP31Outros

Consultar Status

Após criar a proposta, você pode consultar o status a qualquer momento:
curl -X GET https://api.owem.com.br/v4/i/baas/onboarding/usr_abc123def456 \
  -H "Authorization: Basic $(echo -n 'SUA_API_KEY:SEU_SECRET' | base64)"

Status Possíveis

StatusDescrição
PENDING_DOCUMENTSAguardando cliente completar KYC
PROCESSINGDocumentos em análise
PENDING_REVIEWAnálise manual necessária
APPROVEDKYC aprovado, criando conta
REPROVEDKYC reprovado
ACCOUNT_CREATED✅ Conta bancária criada com sucesso
Recomendamos usar webhooks para receber atualizações em tempo real, em vez de fazer polling no endpoint de consulta.

Eventos e Webhooks

O BAAS envia webhooks para cada etapa do processo:

Eventos do Onboarding

Proposta criada, aguardando documentos.
{
  "event": "baas:onboarding.pending",
  "data": {
    "userId": "usr_abc123def456",
    "clientCode": "baas_x7k2m9p1",
    "status": "PENDING_DOCUMENTS",
    "createdAt": 1704672000000
  }
}
Documentos recebidos, em análise.
{
  "event": "baas:onboarding.processing",
  "data": {
    "userId": "usr_abc123def456",
    "clientCode": "baas_x7k2m9p1",
    "status": "PROCESSING",
    "updatedAt": 1704758400000
  }
}
KYC aprovado, conta será criada.
{
  "event": "baas:onboarding.approved",
  "data": {
    "userId": "usr_abc123def456",
    "clientCode": "baas_x7k2m9p1",
    "status": "APPROVED",
    "updatedAt": 1704758400000
  }
}
KYC reprovado com motivo.
{
  "event": "baas:onboarding.reproved",
  "data": {
    "userId": "usr_abc123def456",
    "clientCode": "baas_x7k2m9p1",
    "status": "REPROVED",
    "rejectedReason": "DOCUMENT_FRAUD",
    "rejectedDetails": [
      "Documento apresenta sinais de adulteração"
    ],
    "updatedAt": 1704758400000
  }
}
Conta bancária criada com sucesso.
{
  "event": "baas:account.created",
  "data": {
    "userId": "usr_abc123def456",
    "clientCode": "baas_x7k2m9p1",
    "status": "ACCOUNT_CREATED",
    "account": {
      "accountId": "acc_xyz789",
      "accountNumber": "12345678",
      "branchCode": "0001",
      "bankCode": "535",
      "bankName": "Owem Pay"
    },
    "pixKey": {
      "key": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "type": "EVP",
      "status": "active"
    },
    "createdAt": 1704758400000
  }
}

Conta Bancária

Após o KYC ser aprovado, a conta bancária é criada automaticamente com:
  • Número da conta único
  • Agência padrão (0001)
  • Chave PIX EVP (chave aleatória gerada automaticamente)
  • Saldo inicial zerado

Dados Bancários (Futuro TED)

Em breve: O suporte a TED está em desenvolvimento. Quando disponível, as transferências TED poderão ser recebidas usando os dados abaixo.
CampoValor
BancoOwem Pay (535)
Agência0001
ContaaccountNumber da response
CPF do TitularCPF do cliente
Atualmente, utilize PIX para enviar e receber pagamentos. A chave PIX EVP é gerada automaticamente na criação da conta.

Rate Limiting

LimiteValor
Requisições por hora100 por API Key
Código de erroBAAS_RATE_LIMIT
Status HTTP429
O rate limit é compartilhado por API Key, não por IP. Isso permite que você use múltiplos servidores com o mesmo limite.

Documentos Aceitos

TipoFrenteVersoFormatoDescrição
RGJPG/PNGCédula de Identidade
CNHJPG/PNGCarteira Nacional (física)
RNEJPG/PNGRegistro Nacional Estrangeiro
CNH_DIGITALPDFCNH Digital (arquivo PDF)

Requisitos dos Arquivos

RequisitoValor
Formatos imagemJPG, JPEG, PNG, WebP
Formato PDFPDF (apenas CNH_DIGITAL)
Tamanho máximo10MB por arquivo
QualidadeFoto nítida, sem reflexos
CNH Digital: Envie apenas o arquivo PDF no campo documentPdf. Não envie documentFront ou documentBack para CNH_DIGITAL.

Tabela de Erros

CódigoDescrição
400Dados inválidos ou incompletos
400Email já cadastrado no sistema
400CPF já possui conta bancária
400CPF já possui processo de verificação
400Idade mínima é 18 anos
403API Key não possui configuração BAAS ativa
403Documento bloqueado
403IP não autorizado
404Proposta não encontrada
429Rate limit excedido (100 req/hora)

Considerações Finais

Verificação de Identidade
  • Validação do CPF na Receita Federal
  • Verificação de sanções e listas restritivas
  • Verificação de Pessoa Politicamente Exposta (PEP)
Documentoscopia
  • OCR do documento enviado
  • Perícia documental (verificação de adulteração)
  • FaceMatch (selfie vs foto do documento)
  • Prova de vida (liveness detection)
  • Widget KYC (liveness): Resultado em até 5 minutos após conclusão - Upload manual: Resultado em até 24 horas úteis - Casos de análise manual: Até 48 horas úteis
  • Propostas pendentes expiram em 7 dias - Após expiração, é necessário criar nova proposta - O campo expiresIn indica o tempo restante em segundos
  • Use webhooks em vez de polling - Guarde o userId e clientCode para referência - Implemente retry com backoff exponencial - Valide os dados antes de enviar à API - Teste em ambiente de produção com test: true quando disponível
  • Documento ilegível ou danificado
  • Selfie não confere com documento
  • CPF irregular na Receita Federal
  • Menor de idade
  • Documento expirado
  • Suspeita de fraude

Endpoints da API