API-Referenz

Vollständige REST-API zur Integration aller SalonBookIt-Funktionen in Ihre Anwendung.

Einführung

Die SalonBookIt-API ermöglicht Ihnen:

  • Geschäfts-, Service- und Fachleuteinformationen abfragen
  • Terminverfügbarkeit überprüfen
  • Buchungen erstellen und verwalten
  • Kunden und ihr Punkteprogramm verwalten
  • Zahlungen mit Stripe abwickeln

Basis-URL

https://app.salonbookit.com/api/v1

Antwortformat

Alle Antworten folgen dem gleichen Format:

JSON (Erfolg)
{
    "success": true,
    "data": {
        // Antwortdaten
    }
}
JSON (Fehler)
{
    "success": false,
    "error": {
        "code": "ERROR_CODE",
        "message": "Fehlerbeschreibung"
    }
}

Authentifizierung

Die API verwendet zwei Authentifizierungsmethoden:

API-Schlüssel (immer erforderlich)

Identifiziert Ihr Geschäft. Wird im Header gesendet X-API-Key.

X-API-Key: hh_pub_live_abc123...

JWT-Token (private Endpoints)

Authentifiziert den Kunden. Wird im Header gesendet Authorization.

Authorization: Bearer eyJhbG...

Siehe die vollständige Authentifizierungsanleitung.

Verfügbare Endpoints

Katalog (öffentlich)

Methode Endpoint Beschreibung
GET /negocio/ Geschäftsinformationen
GET /servicios/ Dienstleistungsliste
GET /servicios/{id}/ Service-Details
GET /peluqueros/ Liste der Fachleute
GET /peluqueros/{id}/ Fachmann-Details
GET /disponibilidad/{peluquero}/{fecha}/ Verfügbare Zeiten
GET /categorias/ Servicekategorien
GET /productos/ Shop-Produkte

Authentifizierung

Methode Endpoint Beschreibung
POST /auth/registro/ Neuen Kunden registrieren
POST /auth/login/ Anmelden
POST /auth/verify-otp/ OTP überprüfen
POST /auth/refresh/ JWT-Token erneuern

Buchungen (Authentifiziert)

Methode Endpoint Beschreibung
POST /reservas/crear/ Buchung erstellen
GET /cliente/reservas/ Meine Buchungen
GET /reservas/{id}/ Buchungsdetails
POST /reservas/{id}/cancelar/ Buchung stornieren

Zahlungen

Methode Endpoint Beschreibung
POST /pagos/intent/ PaymentIntent erstellen
POST /pagos/confirmar/ Zahlung bestätigen

Kunde (authentifiziert)

Methode Endpoint Beschreibung
GET /cliente/perfil/ Mein Profil
PUT /cliente/perfil/ Profil aktualisieren
GET /cliente/puntos/ Meine Punkte

Paginierung

Endpoints, die Listen zurückgeben, unterstützen Paginierung:

Query-Parameter

Parameter Typ Standard Beschreibung
page integer 1 Seitennummer
page_size integer 20 Einträge pro Seite (max. 100)

Paginierte Antwort

JSON
{
    "success": true,
    "data": {
        "items": [...],
        "pagination": {
            "page": 1,
            "page_size": 20,
            "total_items": 45,
            "total_pages": 3,
            "has_next": true,
            "has_prev": false
        }
    }
}

Filter

Viele Endpoints unterstützen Filter über Query-Parameter. Siehe die Dokumentation jedes Endpoints für verfügbare Filter.

Beispiel

HTTP
GET /api/v1/servicios/?categoria=1&activo=true&lang=es

HTTP-Codes

Code Bedeutung
200 OK Erfolgreiche Anfrage
201 Created Ressource erfolgreich erstellt
400 Bad Request Fehler in den gesendeten Parametern
401 Unauthorized Authentifizierung erforderlich oder ungültig
403 Forbidden Keine Berechtigung für diese Aktion
404 Not Found Ressource nicht gefunden
429 Too Many Requests Rate-Limit überschritten
500 Internal Server Error Serverfehler

Siehe die vollständige Fehlerreferenz.