← gwada.app

Dokumentation

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
  • facebook
  • instagram
  • google_business
  • whatsapp_channel

Wichtige Felder

FeldBedeutung
itemsFeed-Beiträge (gepinnt zuerst, dann chronologisch)
items[].mediaBilder/Videos zum Beitrag
items[].externalUrlLink zur Original-Plattform, falls vorhanden
storyRingsStory-Gruppen mit slides[]
showAllPlatformFilterOb der Embed-Chip „Alle“ vorgesehen ist
viewModeEmpfohlene 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.

Weiterlesen