Pular para o conteúdo principal

Contas Bancárias

Abertura e gestão de contas bancárias digitais.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/baas/api/v1/accountsCriar conta bancáriaBAAS_ACCOUNTS_CREATE
GET/baas/api/v1/accountsListar contasBAAS_ACCOUNTS_READ
GET/baas/api/v1/accounts/:idObter conta por IDBAAS_ACCOUNTS_READ
PATCH/baas/api/v1/accounts/:idAtualizar contaBAAS_ACCOUNTS_UPDATE
POST/baas/api/v1/accounts/:id/closeEncerrar contaBAAS_ACCOUNTS_CLOSE
POST/baas/api/v1/accounts/:id/kycEnviar documentos KYCBAAS_ACCOUNTS_KYC
GET/baas/api/v1/accounts/:id/kycConsultar status KYCBAAS_ACCOUNTS_KYC_READ

Atributos

CampoTipoDescrição
providerIdstring (UUID)ID do provedor bancário
holderNamestringNome do titular
holderDocumentstringCPF/CNPJ do titular
holderDocumentTypeenumTipo: CPF, CNPJ
typeenumTipo: CHECKING, SAVINGS, PAYMENT
statusenumStatus: PENDING, ACTIVE, BLOCKED, CLOSED
branchstringAgência (atribuída pelo provedor)
accountNumberstringNúmero da conta (atribuído pelo provedor)
balancenumberSaldo atual
currencystringMoeda (ex: BRL)
metadataobjectDados adicionais
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização

Criar Conta Bancária

POST /baas/api/v1/accounts

Abre uma nova conta bancária digital no provedor configurado.

Atributos

CampoTipoObrigatórioDescrição
providerIdstringSimID do provedor bancário
holderNamestringSimNome do titular
holderDocumentstringSimCPF/CNPJ do titular
holderDocumentTypeenumSimTipo: CPF ou CNPJ
typeenumNãoTipo da conta (padrão: CHECKING)
metadataobjectNãoDados adicionais
curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/accounts' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "accounts",
"attributes": {
"providerId": "550e8400-e29b-41d4-a716-446655440001",
"holderName": "Empresa ABC Ltda",
"holderDocument": "12.345.678/0001-90",
"holderDocumentType": "CNPJ",
"type": "CHECKING"
}
}
}'

Response (201 Created)

{
"data": {
"type": "accounts",
"id": "550e8400-e29b-41d4-a716-446655440100",
"links": {
"self": "/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100"
},
"attributes": {
"providerId": "550e8400-e29b-41d4-a716-446655440001",
"holderName": "Empresa ABC Ltda",
"holderDocument": "12.345.678/0001-90",
"holderDocumentType": "CNPJ",
"type": "CHECKING",
"status": "PENDING",
"branch": null,
"accountNumber": null,
"balance": 0,
"currency": "BRL",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
"links": {
"self": "/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100"
}
}

Listar Contas

GET /baas/api/v1/accounts

Lista todas as contas bancárias com suporte a paginação e filtros.

Query Parameters

ParâmetroTipoDescrição
page[number]integerNúmero da página
page[size]integerItens por página
filter[status]enumFiltrar por status
filter[type]enumFiltrar por tipo de conta
filter[providerId]UUIDFiltrar por provedor
curl 'https://baas.stg.catalisa.app/baas/api/v1/accounts?filter[status]=ACTIVE&page[size]=10' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "accounts",
"id": "550e8400-e29b-41d4-a716-446655440100",
"links": {
"self": "/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100"
},
"attributes": {
"providerId": "550e8400-e29b-41d4-a716-446655440001",
"holderName": "Empresa ABC Ltda",
"holderDocument": "12.345.678/0001-90",
"holderDocumentType": "CNPJ",
"type": "CHECKING",
"status": "ACTIVE",
"branch": "0001",
"accountNumber": "12345-6",
"balance": 50000.00,
"currency": "BRL",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-16T08:00:00Z"
}
}
],
"meta": {
"totalItems": 5,
"totalPages": 1,
"currentPage": 1,
"itemsPerPage": 10
},
"links": {
"self": "/baas/api/v1/accounts?page[number]=1&page[size]=10"
}
}

Obter Conta por ID

GET /baas/api/v1/accounts/:id

Obtém os detalhes de uma conta bancária específica.

curl 'https://baas.stg.catalisa.app/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100' \
-H 'Authorization: Bearer SEU_TOKEN'

Atualizar Conta

PATCH /baas/api/v1/accounts/:id

Atualiza os dados de uma conta bancária.

Atributos Atualizáveis

CampoTipoDescrição
holderNamestringNome do titular
metadataobjectDados adicionais
curl -X PATCH 'https://baas.stg.catalisa.app/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "accounts",
"id": "550e8400-e29b-41d4-a716-446655440100",
"attributes": {
"metadata": {
"costCenter": "CC-001"
}
}
}
}'

Encerrar Conta

POST /baas/api/v1/accounts/:id/close

Encerra uma conta bancária. A conta deve ter saldo zero e nenhuma operação pendente.

curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100/close' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": {
"type": "accounts",
"id": "550e8400-e29b-41d4-a716-446655440100",
"attributes": {
"status": "CLOSED",
"balance": 0,
"updatedAt": "2024-01-20T15:00:00Z"
}
}
}

KYC (Know Your Customer)

Envio de documentos e consulta de status do processo de verificação de identidade (KYC) de uma conta bancária.

Status do KYC

StatusDescrição
NOT_STARTEDNenhum documento enviado
PENDINGDocumentos enviados, aguardando análise
IN_PROGRESSAnálise em andamento
APPROVEDVerificação aprovada
REJECTEDVerificação rejeitada
REQUIRES_UPDATENecessário atualizar/reenviar documentos

Tipos de Documento

TipoDescriçãoObrigatoriedade
RGRegistro GeralFrente obrigatória, verso opcional
CNHCarteira Nacional de HabilitaçãoFrente obrigatória, verso opcional
PASSPORTPassaporteFrente obrigatória, verso opcional
RNERegistro Nacional de EstrangeiroFrente obrigatória, verso opcional
SELFIEFoto do titular (selfie)Obrigatório
PROOF_OF_ADDRESSComprovante de endereçoObrigatório
PROOF_OF_INCOMEComprovante de rendaOpcional
ARTICLES_OF_INCORPORATIONContrato social (para CNPJ)Obrigatório para PJ

Enviar Documentos KYC

POST /baas/api/v1/accounts/:id/kyc

Envia documentos para o processo de verificação de identidade (KYC) de uma conta.

Atributos

CampoTipoObrigatórioDescrição
documentsarraySimLista de documentos a enviar

Atributos de cada Documento

CampoTipoObrigatórioDescrição
typeenumSimTipo do documento (ver tabela acima)
frontstring (base64)SimImagem frontal do documento
backstring (base64)NãoImagem do verso do documento
curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100/kyc' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "kyc",
"attributes": {
"documents": [
{
"type": "RG",
"front": "data:image/png;base64,iVBORw0KGgo...",
"back": "data:image/png;base64,iVBORw0KGgo..."
},
{
"type": "SELFIE",
"front": "data:image/png;base64,iVBORw0KGgo..."
},
{
"type": "PROOF_OF_ADDRESS",
"front": "data:image/png;base64,iVBORw0KGgo..."
}
]
}
}
}'

Response (200 OK)

{
"data": {
"type": "kyc",
"id": "550e8400-e29b-41d4-a716-446655440150",
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"status": "PENDING",
"documents": [
{
"type": "RG",
"status": "PENDING",
"uploadedAt": "2024-01-15T10:30:00Z"
},
{
"type": "SELFIE",
"status": "PENDING",
"uploadedAt": "2024-01-15T10:30:00Z"
},
{
"type": "PROOF_OF_ADDRESS",
"status": "PENDING",
"uploadedAt": "2024-01-15T10:30:00Z"
}
],
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
}
}

Consultar Status KYC

GET /baas/api/v1/accounts/:id/kyc

Consulta o status atual do processo de KYC de uma conta.

curl 'https://baas.stg.catalisa.app/baas/api/v1/accounts/550e8400-e29b-41d4-a716-446655440100/kyc' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": {
"type": "kyc",
"id": "550e8400-e29b-41d4-a716-446655440150",
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"status": "APPROVED",
"documents": [
{
"type": "RG",
"status": "APPROVED",
"uploadedAt": "2024-01-15T10:30:00Z",
"reviewedAt": "2024-01-15T14:00:00Z"
},
{
"type": "SELFIE",
"status": "APPROVED",
"uploadedAt": "2024-01-15T10:30:00Z",
"reviewedAt": "2024-01-15T14:00:00Z"
},
{
"type": "PROOF_OF_ADDRESS",
"status": "APPROVED",
"uploadedAt": "2024-01-15T10:30:00Z",
"reviewedAt": "2024-01-15T14:00:00Z"
}
],
"reviewNote": null,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T14:00:00Z"
}
}
}
Dica

Quando o status é REQUIRES_UPDATE, o campo reviewNote conterá informações sobre quais documentos precisam ser reenviados e o motivo.


Erros Comuns

CódigoErroDescrição
400VALIDATIONDados inválidos (documento, tipo, etc.)
404NOT_FOUNDConta ou provedor não encontrado
409CONFLICTConta já existe para este documento no provedor
409CONFLICTConta possui saldo ou operações pendentes (encerramento)
409CONFLICTKYC já aprovado (reenvio desnecessário)
422UNPROCESSABLEProvedor não suporta o tipo de conta solicitado
422UNPROCESSABLEFormato de imagem inválido ou tamanho excedido