Pular para o conteúdo principal

Boletos

Em desenvolvimento

Este módulo ainda não está disponível na API. A documentação abaixo é uma prévia da funcionalidade planejada.

Emissão, consulta e cancelamento de boletos bancários registrados.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/baas/api/v1/boletosEmitir boletoBAAS_BOLETOS_CREATE
GET/baas/api/v1/boletosListar boletosBAAS_BOLETOS_READ
GET/baas/api/v1/boletos/:idObter boleto por IDBAAS_BOLETOS_READ
POST/baas/api/v1/boletos/:id/cancelCancelar boletoBAAS_BOLETOS_CANCEL

Atributos

CampoTipoDescrição
accountIdstring (UUID)ID da conta emissora
amountnumberValor do boleto
statusenumStatus: PENDING, REGISTERED, PAID, OVERDUE, CANCELED
dueDatedateData de vencimento (YYYY-MM-DD)
payerobjectDados do pagador
barcodestringCódigo de barras (gerado pelo provedor)
digitableLinestringLinha digitável (gerada pelo provedor)
descriptionstringDescrição do boleto
fineobjectConfiguração de multa
interestobjectConfiguração de juros
discountobjectConfiguração de desconto
paidAmountnumberValor pago (quando aplicável)
paidAtdatetimeData do pagamento
externalRefstringReferência no provedor bancário
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização

Estrutura do Pagador (payer)

CampoTipoDescrição
namestringNome do pagador
documentstringCPF/CNPJ
documentTypeenumCPF ou CNPJ
emailstringE-mail
addressobjectEndereço (street, number, city, state, zipCode, country)

Estrutura de Multa (fine)

CampoTipoDescrição
typeenumPERCENTAGE ou FIXED
valuenumberValor da multa (% ou R$)
daysAfterDueintegerDias após vencimento para aplicar

Estrutura de Juros (interest)

CampoTipoDescrição
typeenumDAILY_PERCENTAGE ou MONTHLY_PERCENTAGE
valuenumberValor dos juros (%)

Estrutura de Desconto (discount)

CampoTipoDescrição
typeenumPERCENTAGE ou FIXED
valuenumberValor do desconto (% ou R$)
daysBeforeDueintegerDias antes do vencimento para aplicar

Emitir Boleto

POST /baas/api/v1/boletos

Emite um novo boleto bancário registrado.

Atributos

CampoTipoObrigatórioDescrição
accountIdstringSimID da conta emissora
amountnumberSimValor do boleto
dueDatedateSimData de vencimento
payerobjectSimDados do pagador
descriptionstringNãoDescrição
fineobjectNãoConfiguração de multa
interestobjectNãoConfiguração de juros
discountobjectNãoConfiguração de desconto
curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/boletos' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "boletos",
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"amount": 1200.00,
"dueDate": "2024-02-15",
"description": "Mensalidade fevereiro/2024",
"payer": {
"name": "João Silva",
"document": "123.456.789-00",
"documentType": "CPF",
"email": "joao@email.com",
"address": {
"street": "Rua das Flores",
"number": "100",
"city": "São Paulo",
"state": "SP",
"zipCode": "01234-567",
"country": "Brasil"
}
},
"fine": {
"type": "PERCENTAGE",
"value": 2.0,
"daysAfterDue": 1
},
"interest": {
"type": "MONTHLY_PERCENTAGE",
"value": 1.0
},
"discount": {
"type": "PERCENTAGE",
"value": 5.0,
"daysBeforeDue": 10
}
}
}
}'

Response (201 Created)

{
"data": {
"type": "boletos",
"id": "550e8400-e29b-41d4-a716-446655440400",
"links": {
"self": "/baas/api/v1/boletos/550e8400-e29b-41d4-a716-446655440400"
},
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"amount": 1200.00,
"status": "PENDING",
"dueDate": "2024-02-15",
"description": "Mensalidade fevereiro/2024",
"payer": {
"name": "João Silva",
"document": "123.456.789-00",
"documentType": "CPF",
"email": "joao@email.com"
},
"barcode": null,
"digitableLine": null,
"fine": {
"type": "PERCENTAGE",
"value": 2.0,
"daysAfterDue": 1
},
"interest": {
"type": "MONTHLY_PERCENTAGE",
"value": 1.0
},
"discount": {
"type": "PERCENTAGE",
"value": 5.0,
"daysBeforeDue": 10
},
"paidAmount": null,
"paidAt": null,
"externalRef": null,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
"links": {
"self": "/baas/api/v1/boletos/550e8400-e29b-41d4-a716-446655440400"
}
}

Listar Boletos

GET /baas/api/v1/boletos

Lista boletos 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[accountId]UUIDFiltrar por conta emissora
filter[status]enumFiltrar por status
filter[dueDateFrom]dateVencimento a partir de (YYYY-MM-DD)
filter[dueDateTo]dateVencimento até (YYYY-MM-DD)
curl 'https://baas.stg.catalisa.app/baas/api/v1/boletos?filter[accountId]=550e8400-e29b-41d4-a716-446655440100&filter[status]=REGISTERED&page[size]=20' \
-H 'Authorization: Bearer SEU_TOKEN'

Obter Boleto por ID

GET /baas/api/v1/boletos/:id

Obtém os detalhes de um boleto específico.

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

Cancelar Boleto

POST /baas/api/v1/boletos/:id/cancel

Cancela um boleto. Apenas boletos com status PENDING ou REGISTERED podem ser cancelados.

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

Response (200 OK)

{
"data": {
"type": "boletos",
"id": "550e8400-e29b-41d4-a716-446655440400",
"attributes": {
"status": "CANCELED",
"updatedAt": "2024-01-16T09:00:00Z"
}
}
}

Erros Comuns

CódigoErroDescrição
400VALIDATIONDados inválidos (valor, vencimento, pagador, etc.)
404NOT_FOUNDBoleto ou conta não encontrada
409CONFLICTBoleto já pago ou cancelado (cancelamento)
409CONFLICTConta não está ativa
422UNPROCESSABLEData de vencimento no passado