GTM Logo

API Dokumentation

Global Travel Monitor

RESTful API zur Integration von Reiseereignissen und Sicherheitsinformationen in Ihre Anwendungen. Alle Endpunkte erfordern eine Authentifizierung via Bearer Token.

GTM API

Lese-API für Kunden. Zugriff auf aktive Events, Event-Details und Länder mit Event-Statistiken.

/v1/gtm/...

Event API

CRUD-API für API-Clients. Erstellen, lesen, aktualisieren und löschen Sie eigene Events.

/v1/events/...

Authentifizierung

Alle API-Anfragen erfordern einen Bearer Token im Authorization-Header. Tokens werden über Laravel Sanctum bereitgestellt.

Authorization: Bearer YOUR_API_TOKEN

Hinweis: Bewahren Sie Ihren API-Token sicher auf und geben Sie ihn nicht an Dritte weiter. Bei Verdacht auf Missbrauch kann der Token jederzeit widerrufen werden.

Token-Berechtigungen

Jeder API-Token wird mit spezifischen Berechtigungen (Abilities) ausgestellt. Für die Event API wird die Berechtigung events:write benötigt.

Berechtigung Beschreibung Erforderlich für
events:write Lese- und Schreibzugriff auf Events Event API (alle Endpunkte)

Base URL

https://api.global-travel-monitor.de/v1

Alle Endpunkte sind relativ zu dieser Base URL angegeben. Antworten werden im JSON-Format zurückgegeben.

GTM API - Endpunkte

Lese-API für Kunden zum Abrufen von Events und Länderdaten.

GET /gtm/events Aktive Events abrufen

Gibt eine paginierte Liste aller aktiven Events zurück. Unterstützt Filter nach Priorität, Kontinent, Eventtyp und Volltextsuche.

Query-Parameter

Parameter Typ Beschreibung
page integer Seitennummer (Standard: 1)
per_page integer Ergebnisse pro Seite (Standard: 15)
priority string Filter nach Priorität (high, medium, low, info)
continent string Filter nach Kontinent (EU, AS, AF, NA, SA, OC)
event_type integer Filter nach Eventtyp-ID
search string Volltextsuche in Event-Titeln und Beschreibungen

Beispiel-Anfrage

curl -X GET "https://api.global-travel-monitor.de/v1/gtm/events?priority=high&per_page=10" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Beispiel-Antwort

{ "data": [ { "id": 1234, "title": "Erdbeben in der Türkei", "description": "Ein Erdbeben der Stärke 5.2 ...", "priority": "high", "event_type": "Umweltereignisse", "countries": ["TR"], "starts_at": "2025-01-15T08:00:00Z", "ends_at": "2025-01-20T23:59:00Z", "created_at": "2025-01-15T08:30:00Z" } ], "meta": { "current_page": 1, "last_page": 5, "per_page": 10, "total": 48 } }
GET /gtm/events/{id} Event-Details abrufen

Gibt die vollständigen Details eines einzelnen Events zurück, inklusive betroffener Länder und Eventtypen.

Beispiel-Anfrage

curl -X GET "https://api.global-travel-monitor.de/v1/gtm/events/1234" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"
GET /gtm/countries Länder mit Event-Anzahl

Gibt eine Liste aller Länder zurück, für die aktive Events vorliegen, inklusive der jeweiligen Event-Anzahl.

Beispiel-Anfrage

curl -X GET "https://api.global-travel-monitor.de/v1/gtm/countries" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

Event API - Endpunkte

CRUD-API für API-Clients zum Verwalten eigener Events.

Berechtigungen für Event-Erstellung

Das Erstellen, Aktualisieren und Löschen von Events erfordert eine explizite Freischaltung. Neben einem gültigen Token mit events:write-Berechtigung muss Ihr API-Client zusätzlich für Schreiboperationen freigeschaltet sein.

API-Client muss den Status active haben
Token benötigt die Berechtigung events:write
Schreibzugriff (POST, PUT, DELETE) muss für Ihren Client freigeschaltet sein
Sie können nur Ihre eigenen Events ändern und löschen

Review-Prozess

Neu erstellte Events durchlaufen standardmäßig einen Review-Prozess und werden erst nach Freigabe veröffentlicht (pending_review). Für ausgewählte API-Clients kann eine automatische Freigabe aktiviert werden, sodass Events sofort sichtbar sind.

GET /events Eigene Events auflisten

Gibt eine paginierte Liste Ihrer eigenen Events zurück.

POST /events Neues Event erstellen

Erstellt ein neues Event. Erforderliche Felder werden im Request-Body als JSON übergeben.

Beispiel-Anfrage

curl -X POST "https://api.global-travel-monitor.de/v1/events" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ "title": "Streik am Flughafen Frankfurt", "description": "Warnstreik des Bodenpersonals ...", "priority": "medium", "event_type_id": 9, "country_codes": ["DE"], "starts_at": "2025-03-01T06:00:00Z", "ends_at": "2025-03-01T18:00:00Z" }'
GET /events/{uuid} Event abrufen

Gibt die Details eines einzelnen Events anhand seiner UUID zurück.

PUT /events/{uuid} Event aktualisieren

Aktualisiert ein bestehendes Event. Es können einzelne oder alle Felder aktualisiert werden. Erfordert Schreibfreischaltung. Sie können nur Ihre eigenen Events aktualisieren.

DELETE /events/{uuid} Event löschen

Löscht ein Event anhand seiner UUID. Diese Aktion kann nicht rückgängig gemacht werden. Erfordert Schreibfreischaltung. Sie können nur Ihre eigenen Events löschen.

Referenzdaten

Endpunkte für Stammdaten, die für die Event-Erstellung und -Filterung benötigt werden. Erfordern API-Client-Authentifizierung.

GET /event-types Verfügbare Eventtypen

Gibt alle verfügbaren Eventtypen zurück (z.B. Reiseverkehr, Sicherheit, Umweltereignisse).

Beispiel-Anfrage

curl -X GET "https://api.global-travel-monitor.de/v1/event-types" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"
GET /countries Verfügbare Länder

Gibt alle verfügbaren Länder mit ISO-Code und Name zurück.

Beispiel-Anfrage

curl -X GET "https://api.global-travel-monitor.de/v1/countries" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Accept: application/json"

HTTP-Statuscodes

Code Bedeutung
200 Erfolgreiche Anfrage
201 Ressource erfolgreich erstellt
401 Nicht authentifiziert - Token fehlt oder ungültig
403 Keine Berechtigung für diese Ressource
404 Ressource nicht gefunden
422 Validierungsfehler - ungültige Eingabedaten
429 Rate-Limit überschritten - zu viele Anfragen

Rate Limiting

Alle API-Endpunkte unterliegen einem Rate-Limit, um die Stabilität des Dienstes zu gewährleisten. Bei Überschreitung erhalten Sie einen 429-Statuscode.

GTM API

Standard: 60 Anfragen / Minute

Das Limit wird pro Kunde angewendet und kann je nach Tarif individuell angepasst werden.

Event API

Standard: 60 Anfragen / Minute

Das Limit wird pro API-Client angewendet und kann individuell konfiguriert werden.

Bei Bedarf an höheren Rate-Limits wenden Sie sich bitte an support@passolution.de.