Pular para o conteúdo principal

Transferências

Criação e gestão de transferências bancárias TED e DOC.

Endpoints

MétodoEndpointDescriçãoPermissão
POST/baas/api/v1/transfersCriar transferênciaBAAS_TRANSFERS_CREATE
GET/baas/api/v1/transfersListar transferênciasBAAS_TRANSFERS_READ
GET/baas/api/v1/transfers/:idObter transferência por IDBAAS_TRANSFERS_READ

Atributos

CampoTipoDescrição
accountIdstring (UUID)ID da conta de origem
typeenumTipo: TED, DOC
amountnumberValor da transferência
statusenumStatus: PENDING, PROCESSING, COMPLETED, FAILED, REVERSED
descriptionstringDescrição/motivo da transferência
scheduledDatedateData agendada (opcional, formato YYYY-MM-DD)
recipientobjectDados do destinatário
externalRefstringReferência no provedor bancário
failureReasonstringMotivo da falha (quando aplicável)
completedAtdatetimeData de conclusão
createdAtdatetimeData de criação
updatedAtdatetimeData da última atualização

Estrutura do Destinatário (recipient)

CampoTipoDescrição
namestringNome do destinatário
documentstringCPF/CNPJ
documentTypeenumCPF ou CNPJ
bankCodestringCódigo do banco (ex: 001, 341)
branchstringAgência
accountNumberstringNúmero da conta
accountTypeenumCHECKING ou SAVINGS

Criar Transferência

POST /baas/api/v1/transfers

Cria uma nova transferência TED ou DOC. Transferências DOC são processadas no próximo dia útil.

Atributos

CampoTipoObrigatórioDescrição
accountIdstringSimID da conta de origem
typeenumSimTED ou DOC
amountnumberSimValor da transferência
descriptionstringNãoDescrição/motivo
scheduledDatedateNãoData para agendamento
recipientobjectSimDados do destinatário
curl -X POST 'https://baas.stg.catalisa.app/baas/api/v1/transfers' \
-H 'Authorization: Bearer SEU_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"type": "transfers",
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"type": "TED",
"amount": 5000.00,
"description": "Pagamento fornecedor NF 12345",
"recipient": {
"name": "Fornecedor XYZ Ltda",
"document": "98.765.432/0001-10",
"documentType": "CNPJ",
"bankCode": "341",
"branch": "1234",
"accountNumber": "56789-0",
"accountType": "CHECKING"
}
}
}
}'

Response (201 Created)

{
"data": {
"type": "transfers",
"id": "550e8400-e29b-41d4-a716-446655440200",
"links": {
"self": "/baas/api/v1/transfers/550e8400-e29b-41d4-a716-446655440200"
},
"attributes": {
"accountId": "550e8400-e29b-41d4-a716-446655440100",
"type": "TED",
"amount": 5000.00,
"status": "PENDING",
"description": "Pagamento fornecedor NF 12345",
"scheduledDate": null,
"recipient": {
"name": "Fornecedor XYZ Ltda",
"document": "98.765.432/0001-10",
"documentType": "CNPJ",
"bankCode": "341",
"branch": "1234",
"accountNumber": "56789-0",
"accountType": "CHECKING"
},
"externalRef": null,
"failureReason": null,
"completedAt": null,
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z"
}
},
"links": {
"self": "/baas/api/v1/transfers/550e8400-e29b-41d4-a716-446655440200"
}
}

Listar Transferências

GET /baas/api/v1/transfers

Lista transferências 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 de origem
filter[status]enumFiltrar por status
filter[type]enumFiltrar por tipo (TED/DOC)
filter[dateFrom]dateData inicial (YYYY-MM-DD)
filter[dateTo]dateData final (YYYY-MM-DD)
curl 'https://baas.stg.catalisa.app/baas/api/v1/transfers?filter[accountId]=550e8400-e29b-41d4-a716-446655440100&filter[status]=COMPLETED&page[size]=20' \
-H 'Authorization: Bearer SEU_TOKEN'

Obter Transferência por ID

GET /baas/api/v1/transfers/:id

Obtém os detalhes de uma transferência específica.

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

Transferência Agendada

Para agendar uma transferência para uma data futura, inclua o campo scheduledDate:

const response = await fetch('https://baas.stg.catalisa.app/baas/api/v1/transfers', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'transfers',
attributes: {
accountId: '550e8400-e29b-41d4-a716-446655440100',
type: 'TED',
amount: 10000.00,
scheduledDate: '2024-02-01',
description: 'Pagamento mensal fornecedor',
recipient: {
name: 'Fornecedor XYZ Ltda',
document: '98.765.432/0001-10',
documentType: 'CNPJ',
bankCode: '341',
branch: '1234',
accountNumber: '56789-0',
accountType: 'CHECKING',
},
},
},
}),
});

Erros Comuns

CódigoErroDescrição
400VALIDATIONDados inválidos (valor, destinatário, etc.)
400INSUFFICIENT_BALANCESaldo insuficiente na conta de origem
404NOT_FOUNDTransferência ou conta não encontrada
409CONFLICTConta de origem não está ativa
422UNPROCESSABLEData agendada no passado ou fora do horário de corte