docs: update API contracts for queued printing
This commit is contained in:
parent
ef83703f5a
commit
258b97eb15
|
|
@ -37,33 +37,35 @@ Retorna a lista de impressoras instaladas no servidor onde a API está rodando.
|
|||
|
||||
### 2. Imprimir HTML (Etiquetas/Layouts)
|
||||
|
||||
Converte um código HTML (com suporte a Tailwind CSS) para PDF e imprime na impressora selecionada. Ideal para etiquetas.
|
||||
Converte um código HTML (com suporte a Tailwind CSS) para PDF e imprime na impressora selecionada via Fila de Processamento (BullMQ).
|
||||
|
||||
- **Método:** `POST`
|
||||
- **Rota:** `/printer/print-html`
|
||||
- **Rota:** `/printer/print-html` ou `/printer/:printerName/print-html`
|
||||
- **Corpo da Requisição (JSON):**
|
||||
|
||||
```json
|
||||
{
|
||||
"html": "<div class='text-xl font-bold'>Minha Etiqueta</div>...",
|
||||
"printerName": "POS-80", // Nome exato da impressora (conforme retornado na listagem)
|
||||
"printerName": "POS-80", // Opcional se passado na URL
|
||||
"width": "60mm", // Opcional. Largura do papel/etiqueta. Default: 80mm
|
||||
"height": "40mm" // Opcional. Altura da etiqueta. Default: auto
|
||||
"height": "40mm", // Opcional. Altura da etiqueta. Default: auto
|
||||
"jobId": "meu-id-unico-123" // Opcional. ID para idempotência na fila.
|
||||
}
|
||||
```
|
||||
|
||||
- **Detalhes:**
|
||||
- O backend injeta automaticamente o script do Tailwind CSS.
|
||||
- O HTML é renderizado via Puppeteer (Chrome headless).
|
||||
- Tarefas são processadas de forma assíncrona via Redis/BullMQ.
|
||||
|
||||
---
|
||||
|
||||
### 3. Imprimir Texto Simples (ESC/POS)
|
||||
|
||||
Envia comandos de texto diretamente para a impressora. Ideal para cupons simples e rápidos, sem formatação complexa.
|
||||
Envia comandos de texto diretamente para a impressora. Ideal para cupons simples e rápidos.
|
||||
|
||||
- **Método:** `POST`
|
||||
- **Rota:** `/printer/print`
|
||||
- **Rota:** `/printer/print` ou `/printer/:printerName/print`
|
||||
- **Corpo da Requisição (JSON):**
|
||||
|
||||
```json
|
||||
|
|
@ -76,7 +78,7 @@ Envia comandos de texto diretamente para a impressora. Ideal para cupons simples
|
|||
],
|
||||
"alignment": "center", // "left", "center", "right". Default: left
|
||||
"upsideDown": false, // Se true, imprime de cabeça para baixo
|
||||
"printerInterface": "POS-80" // Pode ser nome da impressora (USB) ou "tcp://192.168.1.100" (Rede)
|
||||
"printerInterface": "POS-80" // Opcional se passado na URL. Suporta "tcp://192.168.1.100" ou nome da impressora.
|
||||
}
|
||||
```
|
||||
|
||||
|
|
@ -98,6 +100,7 @@ export interface PrintHtmlPayload {
|
|||
printerName: string;
|
||||
width?: string;
|
||||
height?: string;
|
||||
jobId?: string;
|
||||
}
|
||||
|
||||
export interface PrintTextPayload {
|
||||
|
|
@ -107,3 +110,7 @@ export interface PrintTextPayload {
|
|||
printerInterface?: string;
|
||||
}
|
||||
```
|
||||
|
||||
## Swagger
|
||||
|
||||
A documentação interativa completa (OpenAPI) está disponível em `/api`. Lá você pode testar todos os endpoints e ver os esquemas detalhados de cada DTO.
|
||||
|
|
|
|||
Loading…
Reference in New Issue