Přeskočit na hlavní obsah

Štítky (Labels)

Přehled

API pro generování štítků pro assets s QR kódy. Štítky jsou připraveny pro tisk na tiskárně Brother P-750W s 24mm páskou.

Generování štítků

POST /admin/qr-codes/labels

Generuje štítky pro vybrané QR kódy a vrací ZIP archiv s PNG soubory.

Autentizace: Admin only

Request Body:

{
"scan_ids": [12345, 12346, 12347]
}

Parametry:

  • scan_ids (array of numbers, required) - Pole scan_ids pro které se mají vygenerovat štítky

Response:

HTTP/1.1 200 OK
Content-Type: application/zip
Content-Disposition: attachment; filename="labels-20250126-094500.zip"

<binary data>

ZIP obsah:

  • label-12345.png - Štítek pro asset s scan_id 12345
  • label-12346.png - Štítek pro asset s scan_id 12346
  • label-12347.png - Štítek pro asset s scan_id 12347

Error Response:

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "scan_ids musí být neprázdné pole"
}
}

Design štítku

Rozložení (24mm x 50mm)

┌─────────────────────────────┐
│ D'n'A Sound │ (Header - 8mm)
├─────────────────────────────┤
│ ┌─────┐ Asset ID: 1 │ (QR kód + ID - 20mm)
│ │ QR │ Item: Mikrofon │
│ │ CODE│ Cat: Zvuk - Mikro │
│ └─────┘ │
├─────────────────────────────┤
│ Scan ID: 12345 │ (Footer - 12mm)
└─────────────────────────────┘

Specifikace

  • Rozměry: 24mm x 50mm (cca 90 x 188 px při 96 DPI)
  • QR kód: 40x40 px (cca 10.6mm)
  • Fonty:
    • Header: Arial Bold 10px
    • Body: Arial 8px
    • Footer: Arial 8px
  • Barvy:
    • Pozadí: Bílé (#FFFFFF)
    • Text: Černý (#000000)
    • Header pozadí: Šedý (#F0F0F0)

Informace na štítku

  • Header: Název firmy "D'n'A Sound"
  • QR kód: Scan ID assetu
  • Asset ID: ID assetu
  • Item Name: Název itemu
  • Category: Kategorie produktu
  • Footer: Scan ID

Příklady použití

Generování jednoho štítku

const response = await fetch('/api/admin/qr-codes/labels', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
scan_ids: [12345],
}),
});

const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'labels-20250126-094500.zip');
document.body.appendChild(link);
link.click();
link.remove();
window.URL.revokeObjectURL(url);

Generování více štítků

const response = await fetch('/api/admin/qr-codes/labels', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
scan_ids: [12345, 12346, 12347],
}),
});

// Stažení ZIP souboru
const blob = await response.blob();
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'labels-20250126-094500.zip');
document.body.appendChild(link);
link.click();
link.remove();
window.URL.revokeObjectURL(url);

Chybové kódy

KódPopis
VALIDATION_ERRORNeplatné vstupní parametry
INTERNAL_ERRORInterní chyba serveru

Omezení

  • Maximální počet štítků v jednom požadavku: 100
  • Maximální velikost ZIP archivu: 50 MB
  • Podporovány pouze assets (ne Global Kits ani Project Kits)

Tisk na Brother P-750W

  1. Stáhněte ZIP archiv s štítky
  2. Rozbalte ZIP soubor
  3. Otevřete PNG soubor v prohlížeči obrázků
  4. Vytiskněte na Brother P-750W s 24mm páskou
  5. Nastavte velikost papíru na 24mm x 50mm

Související endpointy