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.