Die öffentliche Schnittstelle unter event-exhibitor-manager/public/v1 liefert Aussteller, Veranstaltungen, Listen und Hallenpläne lesend als JSON – für Messe-Apps, Partner-Websites und Infobildschirme. Einschalten und Schlüssel vergeben: Reiter API.
Das Datenformat ist unabhängig von der Darstellung im Verzeichnis. Felder kommen höchstens hinzu, werden aber nie umbenannt oder entfernt. Fehlt ein Feld, ist der zugehörige Datenbereich ausgeschaltet.
Adresse und Schlüssel
Basis-Adresse: https://ihre-seite.de/wp-json/event-exhibitor-manager/public/v1 (bei „einfachen“ Permalinks ?rest_route=/event-exhibitor-manager/public/v1/… – die Adresse im Reiter API stimmt immer).
| Weg | Beispiel |
|---|---|
| Header (empfohlen) | X-EEM-API-Key: eempk_… |
| Header | Authorization: Bearer eempk_… |
| Parameter (nur für Werkzeuge ohne Header) | ?api_key=eempk_… – landet in Server-Logs |
Für Widgets im Browser Ihrer Besucher den Zugriff „Öffentlich“ wählen oder die Daten über einen Server holen. Schlüssel des Kalender-Plugins gelten hier nicht.
Endpunkte
| Endpunkt | Inhalt |
|---|---|
GET /info | Website, API-Version, Datenumfang, Anzahlen. Ohne Schlüssel lesbar. |
GET /events, /events/{id} | Die Veranstaltungen mit Terminen, Bild, ob Standinformationen ausgeblendet sind, und der verknüpften Hauptveranstaltung des Kalenders. |
GET /exhibitors, /exhibitors/{id} | Die Aussteller, seitenweise und filterbar. |
GET /types, /categories, /products, /countries, /locations | Die fünf Listen mit Hierarchie (parent). event=ID zeigt nur, was diese Veranstaltung nutzt; hide_empty=true blendet Leere aus. |
GET /maps | Die Hallenpläne mit SVG-Adresse, Veranstaltung und Standort; event=ID grenzt ein. |
GET /openapi | Maschinenlesbare Beschreibung (OpenAPI 3.1) für Postman, Swagger UI und Code-Generatoren. Ohne Schlüssel lesbar. |
Unter event-exhibitor/v1 (/all, /maps) liegen die Datenquellen des Verzeichnisses selbst. Sie sind kein Vertrag und können sich ändern – für eigene Anwendungen immer public/v1 nutzen.
Parameter von /exhibitors
| Parameter | Werte | Bedeutung |
|---|---|---|
event | ID | Nur Aussteller dieser Veranstaltung. |
type, category, product, location | IDs oder Slugs, kommagetrennt | Kategorien, Produkte und Standorte schließen Unterebenen ein (Räume einer Halle). |
country | IDs, Slugs oder ISO-Codes | country=DE,AT |
booth | Standnummern, kommagetrennt | Exakter Treffer, Groß-/Kleinschreibung egal. |
search | Text | Volltext in Name, Kurzbeschreibung und Beschreibung. |
onsite_sales | yes · no · unknown | Verkauf am Stand. |
featured | true · false | Nur hervorgehobene bzw. nur die übrigen. |
visibility | list (Standard) · map_only · all | „Nur Karte“-Einträge wie Bühnen sind standardmäßig nicht dabei. |
program_item | ID | Nur Aussteller dieses Kalender-Programmpunkts (mit Kalender-Plugin). |
modified_since | ISO 8601 | Nur seitdem Geänderte. |
orderby, order | title · booth · modified; asc · desc | Standard: Name aufsteigend. booth sortiert natürlich (A2 vor A10). |
include | description | Lange Beschreibung auch in Listen. |
page, per_page | ab 1; 1–100, Standard 50 | Seitenweise. |
_fields | Feldliste | Nur die genannten Felder. |
/events kennt zusätzlich from, to (JJJJ-MM-TT), search und orderby=start|title.
/exhibitors?event=500&per_page=100
/exhibitors?event=500&location=kulturhalle&orderby=booth
/exhibitors?event=500&featured=true
/exhibitors?booth=H02
/exhibitors?event=500&visibility=map_only
/locations?event=500
/maps?event=500Ein Aussteller in der Antwort
| Feld | Bedeutung |
|---|---|
id, slug, title, excerpt | Grunddaten. |
event | Die Veranstaltung (ID und Titel). |
booths, locations | Standnummern und Standorte – null, wenn die Veranstaltung Standinformationen ausblendet. |
types, categories, products | Je Eintrag id, slug, name. |
country | Name, ISO-Code und Flaggen-Adresse. |
onsite_sales, featured, map_only | Verkauf am Stand (yes/no/null), hervorgehoben, „Nur Karte“. |
color, image | Typfarbe und Logo (mit Ersatzkette Typ-Bild → Standardbild). |
permalink, url | Die Ausstellerseite; url ist bei „Nur Karte“ null. |
| Datenbereiche | description, gallery, links, contact (mit email) – nur wenn im Reiter API eingeschaltet. Mit Kalender-Plugin zusätzlich die verknüpften Programmpunkte. |
modified | Letzte Änderung. |
Seiten, Aktualität, Fehler
- Seiten: höchstens 100 Einträge; Gesamtzahl in
X-WP-TotalundX-WP-TotalPages. - ETag: Mit
If-None-Matchzurückgeschickt, kommt bei unveränderten Daten ein kurzes304 Not Modified. - Gelöschte Aussteller tauchen bei
modified_sinceeinfach nicht mehr auf – regelmäßig die ganze Liste laden und fehlende IDs entfernen. - Fehler kommen als JSON mit
code,message,data.status:eem_api_key_missing/eem_api_key_invalid(401),eem_api_not_found(404),eem_api_rate_limited(429 mitRetry-After),rest_invalid_param(400),rest_no_route(404, API aus).
const BASE = 'https://ihre-seite.de/wp-json/event-exhibitor-manager/public/v1';
const KEY = 'eempk_…';
async function loadExhibitors(eventId) {
const list = [];
for (let page = 1; ; page++) {
const res = await fetch(BASE + '/exhibitors?event=' + eventId + '&per_page=100&page=' + page, {
headers: { 'X-EEM-API-Key': KEY }
});
if (!res.ok) throw new Error('HTTP ' + res.status);
list.push(...await res.json());
if (page >= Number(res.headers.get('X-WP-TotalPages'))) break;
}
return list;
}Die Hilfe im Backend (Aussteller → Hilfe) enthält dieselbe Anleitung mit einer echten Veranstaltung Ihrer Website und kopierbaren Adressen.