Fleksa

Schnellstart für Entwickler

Erste Schritte mit der Fleksa API — Authentifizierung, erster API-Aufruf und Webhooks

Schnellstart für Entwickler

Diese Anleitung führt Sie durch die Authentifizierung mit der Fleksa API, Ihren ersten API-Aufruf und die Einrichtung von Webhooks für Echtzeit-Bestellupdates.

Basis-URLs

UmgebungBasis-URL
Produktionhttps://apiv3.fleksa.com
Staginghttps://apiqav3.fleksa.com

Verwenden Sie die Staging-Umgebung für Entwicklung und Tests. Testen Sie niemals gegen die Produktion mit echten Restaurantdaten.

API-Zugang erhalten

Um die Fleksa API zu nutzen, benötigen Sie ein Partner-Konto mit API-Zugangsdaten.

  • Bestehende Partner: Verwenden Sie dieselbe E-Mail und dasselbe Passwort wie für das Partner-Portal
  • Neue Integrationen: Kontaktieren Sie developer@fleksa.com, um API-Zugang und ein Staging-Konto anzufordern

Sobald Sie Zugangsdaten haben, können Sie sich authentifizieren und API-Aufrufe starten.

Authentifizieren

Die Fleksa API verwendet JWT (JSON Web Token) Authentifizierung. Erhalten Sie ein Token, indem Sie Ihre Zugangsdaten an den Login-Endpunkt senden:

curl -X POST https://apiqav3.fleksa.com/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ihre@email.com",
    "password": "ihr-passwort"
  }'

Eine erfolgreiche Antwort gibt ein JWT-Token zurück:

{
  "token": "eyJhbGciOiJIUzI1NiIs...",
  "user": {
    "id": "user-uuid",
    "email": "ihre@email.com",
    "role": "ADMIN"
  }
}

Fügen Sie dieses Token im Authorization-Header für alle weiteren Anfragen ein:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Tokens laufen nach einer bestimmten Zeit ab. Wenn Sie eine 401 Unauthorized-Antwort erhalten, authentifizieren Sie sich erneut für ein frisches Token.

Ersten API-Aufruf durchführen

Rufen Sie die Liste der Shops (Restaurants) ab, die mit Ihrem Konto verbunden sind:

curl -X GET https://apiqav3.fleksa.com/shops \
  -H "Authorization: Bearer IHR_TOKEN_HIER" \
  -H "Content-Type: application/json"

Beispielantwort:

{
  "shops": [
    {
      "id": "shop-uuid",
      "name": "Mein Restaurant",
      "address": "Hauptstr. 123",
      "currency": "EUR",
      "timezone": "Europe/Berlin"
    }
  ]
}

Mit einer Shop-ID können Sie auf shop-spezifische Endpunkte zugreifen:

# Speisekarte eines bestimmten Shops abrufen
curl -X GET https://apiqav3.fleksa.com/shops/SHOP_ID/menu \
  -H "Authorization: Bearer IHR_TOKEN_HIER"

# Letzte Bestellungen abrufen
curl -X GET https://apiqav3.fleksa.com/shops/SHOP_ID/orders \
  -H "Authorization: Bearer IHR_TOKEN_HIER"

Webhooks einrichten

Webhooks benachrichtigen Ihr System in Echtzeit, wenn Ereignisse eintreten (neue Bestellungen, Zahlungsstatusänderungen, etc.).

  1. Webhook-URL registrieren -- Kontaktieren Sie developer@fleksa.com mit Ihrer Endpunkt-URL und den gewünschten Ereignissen
  2. Ereignisse empfangen -- Fleksa sendet eine POST-Anfrage an Ihre URL mit einem JSON-Payload für jedes Ereignis
  3. Mit 200 antworten -- Ihr Endpunkt muss innerhalb von 10 Sekunden einen 200 OK-Status zurückgeben, um den Empfang zu bestätigen

Häufige Webhook-Ereignisse:

EreignisBeschreibung
order.createdEine neue Bestellung wurde aufgegeben
order.status_changedBestellstatus aktualisiert (angenommen, in Zubereitung, fertig, abgeschlossen)
payment.capturedZahlung erfolgreich verarbeitet
payment.failedZahlungsversuch fehlgeschlagen
payment.refundedEine Rückerstattung wurde ausgestellt

Überprüfen Sie Webhook-Payloads immer vor der Verarbeitung. Implementieren Sie Idempotenz in Ihrem Webhook-Handler -- dasselbe Ereignis kann mehrfach zugestellt werden.

Nächste Schritte