Caixas do PDV
Cadastra, lista, altera e apaga os caixas do ponto de venda do seller.
Listar caixas
Um caixa (register) é um ponto de venda físico ou virtual. Ele não guarda dinheiro por si: o dinheiro e as vendas ficam numa sessão aberta nele. A lista vem com os ativos primeiro e depois por nome, sem paginação.
/api/v1/vendor/erp/pdv/registersSellerLista os caixas
Exemplo de requisição: Listar caixas
bash
curl "$BASE_URL/api/v1/vendor/erp/pdv/registers" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar caixas
200Caixas
json
{
"registers": [
{
"id": "db8100b6-51bf-488e-8d77-810d6e7002b4",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Caixa 01",
"active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
registersarrayCaixas.
iduuidId do caixa.
vendor_iduuidSeller dono.
namestringNome do caixa.
activebooleanSó caixa ativo pode abrir sessão.
created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
totalintegerQuantidade devolvida.
Erros: Listar caixas
| Status | Quando | Corpo |
|---|---|---|
| 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"} |
Criar caixa
/api/v1/vendor/erp/pdv/registersSellerCria um caixa
Corpo da requisição
namestringobrigatórioNome do caixa. Obrigatório.
activebooleanpadrão: trueSe está ativo.
Exemplo de requisição: Criar caixa
bash
curl -X POST "$BASE_URL/api/v1/vendor/erp/pdv/registers" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Caixa 01"
}'Resposta: Criar caixa
201Caixa criado
json
{
"id": "db8100b6-51bf-488e-8d77-810d6e7002b4",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Caixa 01",
"active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidId do caixa.
vendor_iduuidSeller dono.
namestringNome do caixa.
activebooleanSó caixa ativo pode abrir sessão.
created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
Erros: Criar 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 | name em branco. | {"error":"vendorerp: name required"} |
| 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"} |
Alterar caixa
/api/v1/vendor/erp/pdv/registers/{id}SellerAltera um caixa
Parâmetros de caminho
iduuidobrigatórioId (UUID) do caixa.
Corpo da requisição
namestringobrigatórioNome do caixa. Obrigatório.
activebooleanpadrão: trueSe está ativo.
Exemplo de requisição: Alterar caixa
bash
curl -X PUT "$BASE_URL/api/v1/vendor/erp/pdv/registers/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Caixa 01",
"active": true
}'Resposta: Alterar caixa
200Caixa alterado
json
{
"id": "db8100b6-51bf-488e-8d77-810d6e7002b4",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"name": "Caixa 01",
"active": true,
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidId do caixa.
vendor_iduuidSeller dono.
namestringNome do caixa.
activebooleanSó caixa ativo pode abrir sessão.
created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
Erros: Alterar 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 | name em branco. | {"error":"vendorerp: name required"} |
| 404 | O caixa não existe ou é de outro seller. | {"error":"register 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"} |
Apagar caixa
Exclusão lógica. Um caixa com sessão aberta não pode ser apagado: feche a sessão antes.
/api/v1/vendor/erp/pdv/registers/{id}SellerApaga um caixa
Parâmetros de caminho
iduuidobrigatórioId (UUID) do caixa.
Exemplo de requisição: Apagar caixa
bash
curl -X DELETE "$BASE_URL/api/v1/vendor/erp/pdv/registers/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN"Resposta: Apagar caixa
200Caixa apagado
json
{
"message": "register deleted"
}Campos da resposta
messagestringSempre
register deleted.Erros: Apagar caixa
| Status | Quando | Corpo |
|---|---|---|
| 400 | O caixa tem sessão aberta. | {"error":"register has an open session"} |
| 404 | O caixa não existe ou é de outro seller. | {"error":"register 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"} |