Program Planner DOCS & HILFE

Reiter API: Schnittstelle einrichten

Eine Festival-App, die Partner-Website der Stadt, ein Infoscreen im Bahnhof – sie alle können Ihr Programm direkt von Ihrer Website lesen. Im Reiter Einstellungen → API schalten Sie diese Schnittstelle ein, legen fest, was sie weitergibt, und vergeben Schlüssel.

Was die API ist – und was nicht

Die API liest nur; niemand kann über sie Daten ändern. Sie hat ein eigenes, festes Datenformat: Felder kommen höchstens hinzu, werden aber nie umbenannt oder entfernt. Eine Anwendung, die heute funktioniert, läuft auch nach Plugin-Updates weiter. Ändern Sie etwas im Kalender, sehen die Anwendungen es mit ihrer nächsten Anfrage – nichts muss exportiert oder verschickt werden.

Einrichten in sechs Schritten

  1. 1
    Einschalten

    „Öffentliche API aktivieren“ anhaken und speichern. Ausgeschaltet gibt es die Adressen gar nicht (HTTP 404); der Kalender selbst ist davon nicht betroffen.

  2. 2
    Zugriff wählen

    „API-Schlüssel erforderlich“ (empfohlen) oder „Öffentlich“ für einen offenen Daten-Feed.

  3. 3
    Datenumfang festlegen

    Entscheiden Sie, ob Beschreibungen, Sprecher, Links oder Preise mitgehen.

  4. 4
    Schlüssel erzeugen

    Je Anwendung oder Partner einen eigenen Schlüssel anlegen und sofort kopieren – er wird nur dieses eine Mal angezeigt.

  5. 5
    Weitergeben

    Schlüssel, Basis-Adresse und den Link auf die maschinenlesbare Beschreibung /openapi an den Partner schicken.

  6. 6
    Testen

    Mit „Testanfrage“ und der Option „Als externe Anwendung senden“ sehen Sie genau, was der Partner bekommt.

Die Grundeinstellungen

Reiter „API“: Status, Basis-Adresse, Zugriff, Mengenbegrenzung, Zwischenspeicher und erlaubte Herkünfte – darunter der Datenumfang.
EinstellungStandardBedeutung
StatusausSchaltet die öffentliche Schnittstelle ein oder aus.
Basis-Adresse–Beginnt mit /wp-json/convention-schedule-planner/public/v1/. Mit „Kopieren“ in die Zwischenablage; sie stimmt immer, auch bei ungewöhnlichen Permalink-Einstellungen.
ZugriffAPI-Schlüssel erforderlichNur Anwendungen mit gültigem Schlüssel erhalten Daten. Bei „Öffentlich“ funktionieren Schlüssel weiter und werden getrennt gezählt.
Mengenbegrenzung120 Anfragen pro MinuteJe Schlüssel, ohne Schlüssel je IP-Adresse. Überzählige Anfragen erhalten HTTP 429 mit Hinweis, wann es weitergeht. 0 = unbegrenzt.
Zwischenspeicher-Dauer300 SekundenSo lange werden fertige Antworten aufbewahrt. Änderungen am Programm verwerfen den Zwischenspeicher sofort automatisch. „API-Zwischenspeicher jetzt leeren“ erzwingt es von Hand.
Erlaubte Herkünfte (CORS)leer = alleNur für Websites, die die API per JavaScript direkt im Browser abfragen. Eine Adresse je Zeile, z. B. https://app.example.com. Apps, Server und Postman betrifft das nicht.
Schlüssel aktiv, aber keiner angelegt?

Ist „API-Schlüssel erforderlich“ gewählt und noch kein Schlüssel vorhanden, zeigt der Reiter einen Hinweis. Bis dahin bekommen nur angemeldete Administratoren Daten.

Datenumfang

Titel, Termine, Ort, Kategorien, Bild, Kurzbeschreibung, Status und Link sind immer enthalten. Zusätzlich wählen Sie:

BereichStandardWas mitgeht
Ausführliche BeschreibunganDer lange Beschreibungstext als HTML – in der Einzelansicht immer, in Listen auf Anfrage (include=description).
Sprecher & MitwirkendeanNamen, Rollen und Positionen an den Programmpunkten sowie die Endpunkte /speakers. Ausgeschaltet fehlen diese Endpunkte ganz.
Links & Social MediaanWebsite, Shop, Social-Media-Links und die Infoseiten von Programmpunkten und Sprechern.
E-Mail-AdressenausKontaktadressen aus dem Link-Block, unverschlüsselt. Wirkt nur zusammen mit „Links & Social Media“. Eine API macht das automatische Einsammeln leicht – schalten Sie es nur ein, wenn ein Partner die Adressen wirklich braucht.
Preise & TicketsanPreis, Preishinweis und Ticket-Link, auch der von der Hauptveranstaltung geerbte.
Was nie weitergegeben wird

Favoritenzähler, Entwürfe, passwortgeschützte Einträge und als „nur intern“ markierte Sprecher. Gehen Sprechernamen oder Kontaktlinks an Partner, erwähnen Sie das in Ihrer Datenschutzerklärung und gegebenenfalls in den Absprachen mit den Sprechern.

API-Schlüssel

Die Schlüsselverwaltung: oben einen neuen Schlüssel anlegen, darunter die Liste mit Grenze, letzter Nutzung, Abrufen und Status.
  1. 1
    Name eintragen

    Etwa „Festival-App“ oder „Stadtportal“. So sehen Sie später, wer abruft.

  2. 2
    Eigene Grenze (optional)

    Eine eigene Mengenbegrenzung nur für diesen Schlüssel; leer = Standard.

  3. 3
    „Schlüssel erzeugen“

    Der Schlüssel beginnt mit ecpk_ und erscheint genau einmal. Gespeichert wird nur ein Fingerabdruck – geht er verloren, legen Sie einen neuen an und sperren den alten.

Die Liste zeigt je Schlüssel Name, Ersteller, die letzten Zeichen, Grenze, Erstellungsdatum, letzte Nutzung, Zahl der Abrufe und Status. Sperren lehnt Anfragen mit diesem Schlüssel sofort ab, alle anderen funktionieren weiter. Ein gesperrter Schlüssel bleibt in der Liste: Entsperren macht ihn wieder gültig – derselbe Schlüssel, der Partner muss nichts ändern, die Abrufzahlen bleiben erhalten. Löschen entfernt ihn endgültig; die Anwendung braucht danach einen neuen Schlüssel. Jede der drei Aktionen fragt vorher nach.

Nie in öffentliches JavaScript

Ein Schlüssel im Quelltext einer Website ist für jeden lesbar. Für Widgets, die im Browser Ihrer Besucher laufen, wählen Sie den Zugriff „Öffentlich“ oder lassen einen Server die Daten abholen.

Endpunkte & Testanfrage

Unten im Reiter: alle Endpunkte mit Kurzbeschreibung, ein curl-Beispiel und die Testanfrage.

Die Tabelle listet alle Adressen der Schnittstelle, darunter steht ein fertiges curl-Beispiel mit echten Daten Ihrer Website. Mit der Testanfrage wählen Sie einen Endpunkt, tragen bei Bedarf eine ID und Parameter ein (z. B. per_page=5) und sehen die Antwort direkt im Reiter.

Wie ein Partner testen

Ohne die Option „Als externe Anwendung senden“ läuft die Anfrage mit Ihrer Administrator-Anmeldung und braucht keinen Schlüssel. Schalten Sie sie ein und tragen einen Schlüssel ein, sehen Sie genau das, was die Drittanwendung bekommt – inklusive Fehlermeldungen.

Alle Adressen, Filter, Antwortfelder und Codebeispiele für Entwickler stehen unter REST-API; die Plugin-Hilfe im Backend enthält dieselbe Anleitung mit Beispielen aus Ihren eigenen Daten.

Wenn etwas nicht klappt

BeobachtungUrsache und Lösung
„rest_no_route“, obwohl die API an istAPI-Einstellungen einmal neu speichern und die Adresse mit der angezeigten Basis-Adresse vergleichen.
HTML-Seite oder 403 statt JSONEin Sicherheits-Plugin oder eine Firewall sperrt die REST-API für nicht angemeldete Besucher. Den Pfad /wp-json/convention-schedule-planner/public/v1/ dort freigeben.
CORS-Fehler in der Browser-KonsoleDie aufrufende Website fehlt unter „Erlaubte Herkünfte“. Eintragen oder die Liste leeren.
Änderungen kommen nicht anDie API verwirft ihren Zwischenspeicher bei jeder Änderung selbst. Prüfen Sie, ob die Anwendung selbst speichert oder ein Cache-Plugin bzw. CDN die /wp-json/-Adressen zwischenspeichert.
Schlüssel nur für eine Hauptveranstaltung?Noch nicht möglich. Jeder gültige Schlüssel sieht alle veröffentlichten Programmpunkte; der Parameter parent filtert nur.