Sangria e suprimento
Lista e registra as sangrias e os suprimentos de dinheiro de uma sessão de caixa.
Listar movimentos de caixa
Sangria é retirar dinheiro da gaveta durante o turno (por exemplo, levar ao cofre); suprimento é colocar dinheiro (reforço de troco). Ambos entram no cálculo do dinheiro esperado. A lista vem do mais novo para o mais antigo.
/api/v1/vendor/erp/pdv/sessions/{id}/cash-movementsSellerLista sangrias e suprimentos de uma sessão
Parâmetros de caminho
iduuidobrigatórioId (UUID) da sessão.
Exemplo de requisição: Listar movimentos de caixa
bash
curl "$BASE_URL/api/v1/vendor/erp/pdv/sessions/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/cash-movements" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar movimentos de caixa
200Movimentos
json
{
"cash_movements": [
{
"id": "4e5f6071-8293-4a4b-b5c6-d7e8f9012345",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"session_id": "f403dacc-b763-4866-bf47-a5caee6319f8",
"type": "withdrawal",
"amount_cents": 1000,
"reason": "Pagamento de entregador",
"created_by": "b00d3e7c-d5b4-4942-827a-06e2c43645af",
"created_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
cash_movementsarrayMovimentos.
iduuidId do movimento.
vendor_iduuidSeller dono.
session_iduuidSessão.
typestringsupplywithdrawalsupply (suprimento) entra dinheiro no caixa; withdrawal (sangria) tira.amount_centsintegerValor em centavos.
reasonstringMotivo.
created_byuuidQuem registrou.
created_atdatetimeQuando.
totalintegerQuantidade devolvida.
Erros: Listar movimentos de caixa
| Status | Quando | Corpo |
|---|---|---|
| 500 | O id da sessão não é um UUID válido. | {"error":"failed to list cash movements","detail":"o valor \"abc\" não é um uuid válido. ..."} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Registrar movimento de caixa
/api/v1/vendor/erp/pdv/sessions/{id}/cash-movementsSellerRegistra sangria ou suprimento
Parâmetros de caminho
iduuidobrigatórioId (UUID) da sessão aberta.
Corpo da requisição
typestringobrigatóriosupplywithdrawalsupply ou withdrawal. Aceita maiúsculas.amount_centsintegerobrigatórioValor em centavos, maior que zero.
reasonstringMotivo livre.
Exemplo de requisição: Registrar movimento de caixa
bash
curl -X POST "$BASE_URL/api/v1/vendor/erp/pdv/sessions/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10/cash-movements" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "withdrawal",
"amount_cents": 1000,
"reason": "Pagamento de entregador"
}'Resposta: Registrar movimento de caixa
201Movimento registrado
json
{
"id": "4e5f6071-8293-4a4b-b5c6-d7e8f9012345",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"session_id": "f403dacc-b763-4866-bf47-a5caee6319f8",
"type": "withdrawal",
"amount_cents": 1000,
"reason": "Pagamento de entregador",
"created_by": "b00d3e7c-d5b4-4942-827a-06e2c43645af",
"created_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidId do movimento.
vendor_iduuidSeller dono.
session_iduuidSessão.
typestringsupplywithdrawalsupply (suprimento) entra dinheiro no caixa; withdrawal (sangria) tira.amount_centsintegerValor em centavos.
reasonstringMotivo.
created_byuuidQuem registrou.
created_atdatetimeQuando.
Erros: Registrar movimento de caixa
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | type inválido. | {"error":"vendorerp: type must be supply|withdrawal"} |
| 400 | amount_cents menor ou igual a zero. | {"error":"vendorerp: amount_cents must be > 0"} |
| 400 | A sessão já foi fechada. | {"error":"session is not open"} |
| 404 | A sessão não existe ou é de outro seller. | {"error":"session not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |