# Tiskárna API – tiskarna.artmoment.space

Tisk na účtenkovou tiskárnu v kanceláři (80 mm, 48 znaků na řádek, řezačka) z libovolné aplikace.

Autorizace: hlavička `X-API-Key: <API_KEY>` (nebo `Authorization: Bearer <API_KEY>`).

## Vytisknout

```bash
curl -X POST https://tiskarna.artmoment.space/api/print \
  -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \
  -d '{"text": "Objednávka 1234\nKávička × 2", "size": "large", "align": "center", "source": "n8n"}'
# 202 {"id":12,"status":"queued",...,"agent_online":true}
```

| Pole | Typ | Popis |
|---|---|---|
| `text` | string | Text k tisku. Čeština funguje (znaková sada PC852). Řádek má 48 znaků (`normal`), 24 (`large`), 16 (`xl`). |
| `size` | `normal` \| `large` \| `xl` | Velikost textu (`large` = dvojnásobná, `xl` = trojnásobná). |
| `align` | `left` \| `center` \| `right` | Zarovnání textu. |
| `bold` | bool | Tučně. |
| `image` | string | PNG v base64 (případně `data:image/png;base64,…`). Zmenší se na šířku 576 bodů a převede na černobílou (dithering). Tiskne se pod textem. |
| `raw` | string | Vlastní ESC/POS příkazy v base64 (pro pokročilé; posílají se beze změny). |
| `cut` | bool | Uříznout papír na konci (výchozí `true`). |
| `source` | string | Štítek pro přehled na webu, např. `"n8n-objednavky"`. |
| `summary` | string | Popis úlohy v přehledu (jinak začátek textu). |

Je potřeba alespoň jedno z `text`, `image`, `raw`. Když tiskárna zrovna není připojená, úloha čeká ve frontě
a vytiskne se, jakmile se agent v kanceláři připojí. Neúspěšný tisk se zkouší znovu (max. 5×, po 30 s).

## Ostatní

| Metoda | Cesta | Popis |
|---|---|---|
| GET | `/api/jobs/{id}` | stav: `queued` → `printing` → `printed` / `failed` / `cancelled` |
| GET | `/api/jobs?limit=30` | poslední úlohy |
| DELETE | `/api/jobs/{id}` | zrušení (jen ve stavu `queued`) |
| POST | `/api/jobs/{id}/reprint` | vytisknout znovu |
| GET | `/api/stats` | stav agenta (`agent.online`), počet ve frontě, vytištěno dnes |

## n8n

n8n běží ve stejné Docker síti: **HTTP Request**, `POST http://tiskarna:3000/api/print`,
Header Auth `X-API-Key`, JSON body `{"text": "{{ $json.text }}", "source": "n8n"}`.
