News
Öffentlicher News-Feed inkl. Medien, Pins und Story-Rings.
Liefert veröffentlichte Beiträge und Story-Rings für das Restaurant am API-Schlüssel. Anzahl und Plattform-Mix folgen den News-Embed-Einstellungen (u. a. embed_max_items, Standard 24).
Modul-ID im Schlüssel: news. Die Antwort wird bewusst nicht öffentlich gecacht.
Methoden: GET, OPTIONS · Endpunkt: GET /api/v1/news
Endpunkt
curl -s "https://gwada.app/api/v1/news" \ -H "Authorization: Bearer gwada_sk_live_…" \ -H "Accept: application/json"
Antwort (Auszug)
{
"data": {
"restaurantId": "uuid",
"name": "Restaurant Name",
"slug": "mein-slug",
"accentHex": "#c45c26",
"viewMode": "list",
"connectedPlatforms": ["gwada", "instagram"],
"items": [
{
"id": "post-1",
"platform": "gwada",
"source": "gwada",
"postId": null,
"title": "Tagesgericht",
"body": "Heute: …",
"media": [
{
"id": "m1",
"kind": "image",
"url": "https://…",
"thumbUrl": "https://…",
"storagePath": null,
"mimeType": "image/jpeg",
"sortOrder": 0,
"width": null,
"height": null,
"blurDataUrl": null
}
],
"createdAt": "2026-07-01T10:00:00.000Z",
"publishedAt": "2026-07-01T10:00:00.000Z",
"scheduledAt": null,
"status": "published",
"canEdit": false,
"canDelete": false,
"externalUrl": null,
"insights": { "likes": 0, "comments": 0, "views": 0, "shares": 0 },
"authorName": null,
"isPinned": false
}
],
"storyRings": [
{
"id": "ring-1",
"platform": "instagram",
"title": "Stories",
"coverUrl": "https://…",
"slideIds": ["slide-1"],
"slides": [
{
"id": "slide-1",
"platform": "instagram",
"kind": "image",
"url": "https://…",
"caption": null,
"externalUrl": "https://…",
"publishedAt": "2026-07-01T09:00:00.000Z",
"expiresAt": "2026-07-02T09:00:00.000Z"
}
]
}
],
"showAllPlatformFilter": true
}
}Plattformen
Mögliche Werte in platform / connectedPlatforms:
- gwada
- google_business
- whatsapp_channel
Wichtige Felder
| Feld | Bedeutung |
|---|---|
| items | Feed-Beiträge (gepinnt zuerst, dann chronologisch) |
| items[].media | Bilder/Videos zum Beitrag |
| items[].externalUrl | Link zur Original-Plattform, falls vorhanden |
| storyRings | Story-Gruppen mit slides[] |
| showAllPlatformFilter | Ob der Embed-Chip „Alle“ vorgesehen ist |
| viewMode | Empfohlene Ansicht aus Einstellungen (list/grid) |
Hinweise
- Keine Query-Parameter — Filterung nach Plattform macht der Client
- Max. Einträge über News → Einstellungen (embed_max_items, 1–100)
- canEdit / canDelete sind in der Public API immer false
Gut zu wissen
Fehler
Auth- und Limit-Fehler sind einheitlich — siehe Rate Limits & Fehler. Typisch: 401 invalid_api_key, 403 module_not_enabled, 403 restaurant_not_published, 404 not_found, 429 rate_limit_exceeded.