Nova Página
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>API – Iniciar Faturamento de Comandas</title>
<style>
:root { color-scheme: light; }
body { font-family: Arial, Helvetica, sans-serif; line-height: 1.5; margin: 24px; color: #111; }
h1 { margin: 0 0 12px; }
h2 { margin: 24px 0 10px; }
h3 { margin: 18px 0 8px; }
p { margin: 8px 0; }
.endpoint { padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; background: #fafafa; display: inline-block; }
.callout { border-left: 4px solid #f5b301; background: #fff8e6; padding: 10px 12px; border-radius: 6px; margin: 12px 0; }
.ok { border-left-color: #2e7d32; background: #eef7ef; }
.warn { border-left-color: #b26a00; background: #fff8e6; }
.bad { border-left-color: #c62828; background: #fdecec; }
table { width: 100%; border-collapse: collapse; margin: 10px 0; }
th, td { border: 1px solid #ddd; padding: 8px; vertical-align: top; }
th { background: #f3f3f3; text-align: left; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; }
pre { background: #0b1020; color: #e6e6e6; padding: 12px; border-radius: 10px; overflow: auto; }
.small { font-size: 0.95rem; color: #333; }
ul { margin: 8px 0 8px 22px; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; background:#eee; font-size: 12px; }
</style>
</head>
<body>
<header>
<h1>📌 API – Iniciar Faturamento de Comandas</h1>
<p class="endpoint"><strong>Endpoint:</strong> <code>POST /api/v1/mesas-comandas/iniciar-faturamento</code></p>
</header>
<section>
<h2>🎯 Objetivo da API
</h2> <p>
Esta API permite que um PDV solicite ao Servidor de Comandas o início do faturamento de uma ou mais comandas,comandas,
possibilitando que elas sejam pagas juntas em uma única venda.
</p>
<p><strong>O Servidor de Comandas:
</strong></p>- <ul>
<li>valida cada comanda solicitada;
</li>
<li>trava (coloca em
</li><code>conferencia</code>) apenas as comandas que podem ser faturadas;
<li>retorna os itens da comanda para o PDV montar a venda;
</li>
<li>retorna também as comandas que não puderam ser
faturadas,faturadas, com o motivo.</li>
</ul>
<div class="callout warn">
<p><strong>⚠️ Importante:</strong><br/>
A API permite sucesso parcial.
parcial. Se 3 comandas forem enviadas e apenas 2 puderem ser faturadas, essas 2 serão
liberadas para faturamento e a outra será retornada como bloqueada.
</p>
</div>
</section>
<section>
<h2>🧠 Conceitos importantes (antes de integrar)
</h2>
<h3>Status da comanda</h3>
| <tr> <th>Status | </th><th>Significado | </th>
|---|---|
<tbody> | </code></td><td>Comanda em uso, com itens lançados | </td>
<tr> | </code></td><td>Comanda travada para faturamento em um PDV | </td>
<tr> | </code></td><td>Comanda sem itens ou já finalizada | </td>
<tr> | </code></td><td>Comanda em processo de transferência | </td>
Regras gerais
Nunca existe faturamento parcial de itens: ou a comanda entra inteira ou não entra.</tItens cancelados sempre são retornados, masnão entram no total.O PDVnão recalcula valores: deve confiar nos valores retornados pela API.
🔐 Autenticação
Segue o padrão de autenticação do Servidor de Comandas (definido pelo projeto).
Caso a autenticação falhe, a API retornará erro HTTP (401/403).
📥 Request
Body (JSON)
| | ||
| | ||
| |
Exemplo de requisição
⚙️ O que o servidor faz ao receber a requisição
Para cada comanda enviada, o servidor avalia:
| |
| |
| |
| |
| |
|
📤 Response – Sucesso (200)
Quando acontece?
Quando pelo menos uma comanda pôde ser colocada em conferencia.
Estrutura do retorno
✅ comandasParaFaturar
Lista das comandas que foram liberadas para faturamento.
Campos
| |
| |
| |
| |
|
Regras do total
totalComanda= soma depreco_totalsomente dos itens comcancelado = false
Estrutura de um item
⚠️ Itens cancelados
cancelado = trueNão entram no totalServem apenas paraauditoria/relatóriospreco_totalé apenas informativo
🚫 comandasBloqueadasParaFaturar
Lista das comandas que não puderam ser faturadas.
Campos
| |
| |
| |
| |
| |
| |
|
🧾 Enum motivo
| |
| |
| |
| |
| |
| |
|
❌ Response – Erro (422 ou 409)
Quando acontece?
Quando nenhuma comanda enviada pode ser faturada.
Comportamento esperado do PDV
Não montar a vendaExibir os motivos ao operadorEncerrar o fluxo
Exemplo
✅ Boas práticas para quem integra (PDV)
Sempre tratesucesso parcialNunca recalcular valoresNão tente faturar comandas bloqueadasGuarde localmente as comandas que entraram emconferenciaUse essa lista depois para:confirmar-faturamentocancelar-faturamento