Cash Operations API (Internal) (1.0.0)
Download OpenAPI specification:Download
As operações de caixa permitem realizar entradas e saídas de valores, além de lançamentos manuais no sistema.
Todas as rotas estão sob o prefixo /internal e requerem autenticação interna.
Cash-In (Entrada)
- Processamento: Assíncrono via fila de processamento
- Response: 202 Accepted (apenas confirma envio para fila de processamento)
- Uso: Para entradas de valores que serão processadas posteriormente
- Idempotência: Usa
e2eIdpara evitar duplicação
Cash-Out (Saída)
- Processamento: Síncrono e imediato
- Response: 201 Created com dados da transação
- Uso: Para saídas de valores com processamento imediato
- Idempotência: Retorna 208 se transação já existe
Manual Entry (Lançamento Manual)
- Processamento: Síncrono e imediato
- Response: 200 OK com dados da transação
- Uso: Para ajustes manuais de saldo (crédito ou débito)
- Autenticação: Usa usuário interno (ID 1) automaticamente
Entrada de valores (Cash-In)
Realiza uma entrada de valores no caixa. Esta operação é assíncrona e envia a requisição para uma fila de processamento.
Importante:
- O valor deve ser informado como string (ex: "1000.00")
- Use
e2eIdpara garantir idempotência - A resposta apenas confirma o envio para a fila, não o processamento
Authorizations:
Request Body schema: application/jsonrequired
| account | string Número da conta (obrigatório se accountId não for informado) |
| accountId | integer ID da conta (obrigatório se account não for informado) |
| type | string Default: "PIX" Enum: "PIX" "TED" "DOC" "BILLET" Tipo da transação |
| amount required | string^\d+\.\d{2}$ Valor da entrada (string) |
| msgId | string ID da mensagem (obrigatório se e2eId não for informado) |
| e2eId | string End-to-end ID para idempotência |
| description | string <= 255 characters Descrição da transação |
object Dados do boleto (opcional) | |
object Dados da transação PIX (opcional) | |
object Dados da transação (opcional) |
Responses
Request samples
- Payload
{- "accountId": 123,
- "type": "PIX",
- "amount": "1000.00",
- "e2eId": "E2E123456789",
- "description": "Recebimento PIX",
- "pix": {
- "txId": "TXN123456",
- "initMethod": "DICT"
}, - "transaction": {
- "document": "12345678900",
- "ispb": "12345678",
- "name": "João Silva",
- "branch": "0001",
- "account": "12345-6"
}
}Response samples
- 202
- 400
- 401
- 422
- 500
{- "success": true
}Saída de valores (Cash-Out)
Realiza uma saída de valores do caixa. Esta operação é síncrona e processa imediatamente.
Importante:
- O valor deve ser informado como string (ex: "500.00")
- Retorna 208 se a transação já existe (idempotência)
- A resposta inclui os dados completos da transação criada
Authorizations:
Request Body schema: application/jsonrequired
| account | string Número da conta (obrigatório se accountId não for informado) |
| accountId | integer ID da conta (obrigatório se account não for informado) |
| type | string Default: "PIX" Enum: "PIX" "TED" "DOC" "BILLET" Tipo da transação |
| amount required | string^\d+\.\d{2}$ Valor da saída (string) |
| msgId | string ID da mensagem (obrigatório se e2eId não for informado) |
| e2eId | string End-to-end ID para idempotência |
| description | string <= 255 characters Descrição da transação |
object Dados do boleto (opcional) | |
object Dados da transação PIX (opcional) | |
object Dados da transação (opcional) |
Responses
Response Schema: application/json
| success | boolean |
object |
Request samples
- Payload
{- "accountId": 123,
- "amount": "500.00",
- "e2eId": "E2E987654321",
- "description": "Pagamento fornecedor",
- "transaction": {
- "document": "98765432100",
- "ispb": "87654321",
- "name": "Fornecedor XYZ",
- "branch": "0001",
- "account": "98765-4"
}
}Response samples
- 201
- 208
- 400
- 401
- 422
- 500
{- "success": true,
- "data": {
- "id": 12345,
- "amount": "500.00",
- "type": "PIX",
- "status": "LIQUIDATED",
- "creditDebitType": "DEBIT",
- "createdAt": "2025-11-18T10:00:00.000Z",
- "existing": false
}
}Lançamento manual
Realiza um lançamento manual no sistema (crédito ou débito). Esta operação é síncrona e processa imediatamente.
Importante:
- O valor deve ser informado como número (ex: 250.00)
- Tipo pode ser
CREDITouDEBIT - Usa automaticamente o usuário interno (ID 1)
- Requer
referenceereasonpara auditoria
Authorizations:
Request Body schema: application/jsonrequired
| accountId required | integer >= 1 ID da conta |
| amount required | number >= 0.01 Valor do lançamento (número decimal) |
| reference required | string Referência do lançamento |
| reason required | string Motivo/justificativa do lançamento |
| type required | string Enum: "CREDIT" "DEBIT" Tipo do lançamento |
| historicId | string <uuid> ID do histórico contábil (UUID v4) |
| accountingEventId | integer >= 1 ID do evento contábil |
Responses
Response Schema: application/json
| id | integer ID da transação |
| amount | string Valor do lançamento |
| type | string Tipo da transação |
| creditDebitType | string Enum: "CREDIT" "DEBIT" Tipo de movimentação |
| status | string Status da transação |
| paymentType | string Tipo de pagamento |
| actionTag | string Tag da ação |
| relatedAccountId | integer ID da conta relacionada |
| createdAt | string <date-time> Data de criação |
| updatedAt | string <date-time> Data de atualização |
Request samples
- Payload
{- "accountId": 123,
- "amount": 250,
- "reference": "REF123456",
- "reason": "Ajuste de saldo - crédito promocional",
- "type": "CREDIT",
- "historicId": "550e8400-e29b-41d4-a716-446655440000",
- "accountingEventId": 456
}Response samples
- 200
- 400
- 401
- 422
- 500
{- "id": 12345,
- "amount": "250.00",
- "type": "MANUAL_ENTRY",
- "creditDebitType": "CREDIT",
- "status": "LIQUIDATED",
- "paymentType": "INSTANT",
- "actionTag": "PACS008C",
- "relatedAccountId": 123,
- "createdAt": "2025-11-18T10:00:00.000Z",
- "updatedAt": "2025-11-18T10:00:00.000Z"
}