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.
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
- 1Einschalten
„Öffentliche API aktivieren“ anhaken und speichern. Ausgeschaltet gibt es die Adressen gar nicht (HTTP 404); der Kalender selbst ist davon nicht betroffen.
- 2Zugriff wählen
„API-Schlüssel erforderlich“ (empfohlen) oder „Öffentlich“ für einen offenen Daten-Feed.
- 3Datenumfang festlegen
Entscheiden Sie, ob Beschreibungen, Sprecher, Links oder Preise mitgehen.
- 4Schlüssel erzeugen
Je Anwendung oder Partner einen eigenen Schlüssel anlegen und sofort kopieren – er wird nur dieses eine Mal angezeigt.
- 5Weitergeben
Schlüssel, Basis-Adresse und den Link auf die maschinenlesbare Beschreibung
/openapian den Partner schicken. - 6Testen
Mit „Testanfrage“ und der Option „Als externe Anwendung senden“ sehen Sie genau, was der Partner bekommt.
Die Grundeinstellungen
| Einstellung | Standard | Bedeutung |
|---|---|---|
| Status | aus | Schaltet 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. |
| Zugriff | API-Schlüssel erforderlich | Nur Anwendungen mit gültigem Schlüssel erhalten Daten. Bei „Öffentlich“ funktionieren Schlüssel weiter und werden getrennt gezählt. |
| Mengenbegrenzung | 120 Anfragen pro Minute | Je Schlüssel, ohne Schlüssel je IP-Adresse. Überzählige Anfragen erhalten HTTP 429 mit Hinweis, wann es weitergeht. 0 = unbegrenzt. |
| Zwischenspeicher-Dauer | 300 Sekunden | So 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 = alle | Nur 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. |
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:
| Bereich | Standard | Was mitgeht |
|---|---|---|
| Ausführliche Beschreibung | an | Der lange Beschreibungstext als HTML – in der Einzelansicht immer, in Listen auf Anfrage (include=description). |
| Sprecher & Mitwirkende | an | Namen, Rollen und Positionen an den Programmpunkten sowie die Endpunkte /speakers. Ausgeschaltet fehlen diese Endpunkte ganz. |
| Links & Social Media | an | Website, Shop, Social-Media-Links und die Infoseiten von Programmpunkten und Sprechern. |
| E-Mail-Adressen | aus | Kontaktadressen 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 & Tickets | an | Preis, Preishinweis und Ticket-Link, auch der von der Hauptveranstaltung geerbte. |
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
- 1Name eintragen
Etwa „Festival-App“ oder „Stadtportal“. So sehen Sie später, wer abruft.
- 2Eigene Grenze (optional)
Eine eigene Mengenbegrenzung nur für diesen Schlüssel; leer = Standard.
- 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.
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
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.
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
| Beobachtung | Ursache und Lösung |
|---|---|
| „rest_no_route“, obwohl die API an ist | API-Einstellungen einmal neu speichern und die Adresse mit der angezeigten Basis-Adresse vergleichen. |
| HTML-Seite oder 403 statt JSON | Ein 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-Konsole | Die aufrufende Website fehlt unter „Erlaubte Herkünfte“. Eintragen oder die Liste leeren. |
| Änderungen kommen nicht an | Die 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. |