Exhibitor Manager DOCS & HILFE

REST-API Referenz

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.

Ein fester Vertrag

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).

WegBeispiel
Header (empfohlen)X-EEM-API-Key: eempk_…
HeaderAuthorization: Bearer eempk_…
Parameter (nur für Werkzeuge ohne Header)?api_key=eempk_… – landet in Server-Logs
Kein Schlüssel in öffentliches JavaScript

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

EndpunktInhalt
GET /infoWebsite, 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, /locationsDie fünf Listen mit Hierarchie (parent). event=ID zeigt nur, was diese Veranstaltung nutzt; hide_empty=true blendet Leere aus.
GET /mapsDie Hallenpläne mit SVG-Adresse, Veranstaltung und Standort; event=ID grenzt ein.
GET /openapiMaschinenlesbare Beschreibung (OpenAPI 3.1) für Postman, Swagger UI und Code-Generatoren. Ohne Schlüssel lesbar.
Interne Routen

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

ParameterWerteBedeutung
eventIDNur Aussteller dieser Veranstaltung.
type, category, product, locationIDs oder Slugs, kommagetrenntKategorien, Produkte und Standorte schließen Unterebenen ein (Räume einer Halle).
countryIDs, Slugs oder ISO-Codescountry=DE,AT
boothStandnummern, kommagetrenntExakter Treffer, Groß-/Kleinschreibung egal.
searchTextVolltext in Name, Kurzbeschreibung und Beschreibung.
onsite_salesyes · no · unknownVerkauf am Stand.
featuredtrue · falseNur hervorgehobene bzw. nur die übrigen.
visibilitylist (Standard) · map_only · all„Nur Karte“-Einträge wie Bühnen sind standardmäßig nicht dabei.
program_itemIDNur Aussteller dieses Kalender-Programmpunkts (mit Kalender-Plugin).
modified_sinceISO 8601Nur seitdem Geänderte.
orderby, ordertitle · booth · modified; asc · descStandard: Name aufsteigend. booth sortiert natürlich (A2 vor A10).
includedescriptionLange Beschreibung auch in Listen.
page, per_pageab 1; 1–100, Standard 50Seitenweise.
_fieldsFeldlisteNur die genannten Felder.

/events kennt zusätzlich from, to (JJJJ-MM-TT), search und orderby=start|title.

Typische Abfragen
/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=500

Ein Aussteller in der Antwort

FeldBedeutung
id, slug, title, excerptGrunddaten.
eventDie Veranstaltung (ID und Titel).
booths, locationsStandnummern und Standorte – null, wenn die Veranstaltung Standinformationen ausblendet.
types, categories, productsJe Eintrag id, slug, name.
countryName, ISO-Code und Flaggen-Adresse.
onsite_sales, featured, map_onlyVerkauf am Stand (yes/no/null), hervorgehoben, „Nur Karte“.
color, imageTypfarbe und Logo (mit Ersatzkette Typ-Bild → Standardbild).
permalink, urlDie Ausstellerseite; url ist bei „Nur Karte“ null.
Datenbereichedescription, gallery, links, contact (mit email) – nur wenn im Reiter API eingeschaltet. Mit Kalender-Plugin zusätzlich die verknüpften Programmpunkte.
modifiedLetzte Änderung.

Seiten, Aktualität, Fehler

  • Seiten: höchstens 100 Einträge; Gesamtzahl in X-WP-Total und X-WP-TotalPages.
  • ETag: Mit If-None-Match zurückgeschickt, kommt bei unveränderten Daten ein kurzes 304 Not Modified.
  • Gelöschte Aussteller tauchen bei modified_since einfach 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 mit Retry-After), rest_invalid_param (400), rest_no_route (404, API aus).
JavaScript – alle Aussteller einer Messe laden
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;
}
Beispiele mit Ihren Daten

Die Hilfe im Backend (Aussteller → Hilfe) enthält dieselbe Anleitung mit einer echten Veranstaltung Ihrer Website und kopierbaren Adressen.