Zum Hauptinhalt springen

Settings API

Tenant-Logo als Signed URL abrufen.

Cache: Cache-Control: private, max-age=300

Response (200): Redirect zur Signed URL

Response (404): Kein Logo gesetzt


Logo hochladen.

Rate Limit: 10 Requests / Minute

Request: multipart/form-data mit file-Feld

Constraints:

  • Formate: JPEG, PNG, SVG
  • Max. 2 MB

Response (200):

{ "data": { "logo_url": "..." } }

Logo löschen.

Rate Limit: 10 Requests / Minute


Display API

GET /api/v1/display/{token}

Öffentliche Display-API für Öffnungszeiten (z.B. TRMNL E-Ink Display).

Authentifizierung: Keine (öffentlich via Display-Token)

Rate Limit: 60 Requests / Minute / Token

Response (200):

{
"company_name": "Meine Rösterei",
"logo_url": "...",
"address": "Musterstr. 1, 12345 Musterstadt",
"phone": "+49 123 456789",
"email": "info@example.com",
"website": "https://example.com",
"display_message": "Heute frisch geröstet!",
"today": "Montag",
"today_override": null,
"hours": [
{ "day": "Montag", "time": "09:00 – 18:00" },
{ "day": "Dienstag", "time": "09:00 – 18:00" }
],
"open_count": 5
}

Zeitzonen-Handling: Immer Europe/Berlin für Datumsberechnung.