Dokumentation der Booknetic REST-API
Dokumentation der Booknetic REST-API auf Basis der OpenAPI-Spezifikation: Endpunkte, Parameter sowie Beispiele für JSON-Anfragen und -Antworten.
Dokumentation der Booknetic REST-API auf Basis der OpenAPI-Spezifikation: Endpunkte, Parameter sowie Beispiele für JSON-Anfragen und -Antworten.
Dieses Dokument beschreibt die Booknetic-REST-API-Endpunkte, die in der bereitgestellten OpenAPI-Spezifikation enthalten sind.
Version: 1.0.0
Basis-Pfad: /wp-json/booknetic/v1
Format: JSON (application/json)
Alle Endpunkte in dieser Dokumentation beziehen sich auf:
/wp-json/booknetic/v1
In einer typischen WordPress-Installation lautet die vollständige URL:
https://deine-domain.de/wp-json/booknetic/v1
JSON senden und empfangen:
GET /appointments
Gibt eine Liste von Terminen zurück.
Antwort
200 OK — Liste der Termine
Response-Body (Schema)
Array von Appointment
Beispielantwort
[
{
"id": 101,
"customer_id": 55,
"service_id": 9,
"staff_id": 3,
"date": "2026-01-10T14:30:00Z",
"status": "approved"
}
]POST /appointments
Erstellt einen neuen Termin.
Request-Body
Erforderlich — AppointmentCreate
Beispiel-Request
{
"customer_id": 55,
"service_id": 9,
"staff_id": 3,
"date": "2026-01-10T14:30:00Z"
}Responses
201 Created — Termin erstellt
Response-Body: Appointment
Beispielantwort
{
"id": 102,
"customer_id": 55,
"service_id": 9,
"staff_id": 3,
"date": "2026-01-10T14:30:00Z",
"status": "pending"
}GET /appointments/{id}
Gibt einen einzelnen Termin anhand seiner ID zurück.
Pfadparameter
Name | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Termin-ID |
Responses
200 OK — Termin
Response-Body: Appointment
Beispielantwort
{
"id": 102,
"customer_id": 55,
"service_id": 9,
"staff_id": 3,
"date": "2026-01-10T14:30:00Z",
"status": "pending"
}PUT /appointments/{id}
Aktualisiert einen Termin anhand seiner ID.
Pfadparameter
Name | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Termin-ID |
Request-Body
Erforderlich — AppointmentUpdate
Beispiel-Request
{
"staff_id": 4,
"date": "2026-01-10T15:00:00Z",
"status": "approved"
}Responses
200 OK — Termin aktualisiert
Die OpenAPI-Datei definiert kein Response-Schema für diesen Endpunkt.
In deiner Implementierung kannst du zur Konsistenz das aktualisierte Appointment-Objekt zurückgeben.
DELETE /appointments/{id}
Löscht einen Termin anhand seiner ID.
Pfadparameter
Name | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Termin-ID |
Responses
204 No Content — Termin gelöscht
PUT /appointments/{id}/change-status
Aktualisiert den Status eines Termins.
Pfadparameter
Feld | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Termin-ID |
Request-Body
Erforderlich
Feld | Typ | Erforderlich | Beschreibung |
| status | string | Ja | Neuer Statuswert |
Beispiel-Request
{
"status": "approved"
}Responses
200 OK — Status aktualisiert
Die OpenAPI-Datei definiert kein Response-Schema.
Empfohlen: das aktualisierte Appointment oder ein standardisiertes Success-Payload zurückgeben.
GET /appointments/statuses
Gibt eine Liste der verfügbaren Terminstatus zurück.
Responses
200 OK — Verfügbare Status
Response-Body: Array von Strings
Beispielantwort
["pending", "approved", "canceled"]GET /appointments/available-times
Gibt eine Liste verfügbarer Termin-Zeitfenster zurück.
Responses
200 OK — Verfügbare Zeiten
Response-Body: Array von Strings
Beispielantwort
[
"2026-01-10 14:30",
"2026-01-10 15:00",
"2026-01-10 15:30"
]Hinweis: Das OpenAPI-Schema verwendet "example": "2026-01-10 14:30" und definiert einen einfachen String.
Wenn dein System Zeitzonen oder ISO8601 erwartet, dokumentiere dies ausdrücklich.
GET /customers
Gibt eine Liste von Kunden zurück.
Responses
200 OK — Kundenliste
Response-Body: Array von Customer
Beispielantwort
[
{
"id": 55,
"name": "Jane Doe",
"email": "[email protected]",
"phone": "+1 555 123 4567"
}
]GET /customer/info/{id}
Gibt einen Kunden anhand der ID zurück.
Feld | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Kunden-ID |
Responses
200 OK — Kundeninformationen
Response-Body: Customer
Beispielantwort
{
"id": 55,
"name": "Jane Doe",
"email": "[email protected]",
"phone": "+1 555 123 4567"
}POST /customer/create
Erstellt einen neuen Kunden.
Request-Body
Erforderlich — CustomerCreate
Beispiel-Request
{
"name": "Jane Doe",
"email": "[email protected]",
"phone": "+1 555 123 4567"
}Responses
201 Created — Kunde erstellt
Response-Body: Customer
POST /customer/edit
Bearbeitet einen bestehenden Kunden.
Request-Body
Erforderlich — CustomerUpdate
Beispiel-Request
{
"id": 55,
"name": "Jane A. Doe",
"email": "[email protected]",
"phone": "+1 555 123 4567"
}Responses
200 OK — Kunde aktualisiert
Die OpenAPI-Datei definiert kein Response-Schema.
Empfohlen: das aktualisierte Customer-Objekt zurückgeben.
POST /customer/delete
Löscht einen Kunden anhand der ID.
Request-Body
Erforderlich
Feld | Typ | Erforderlich | Beschreibung |
| id | integer | Ja | Kunden-ID |
Beispiel-Request
{
"id": 55
}Responses
200 OK — Kunde gelöscht
Dieser Endpunkt verwendet POST statt DELETE. Wenn dies beabsichtigt ist (z. B. WP-Patterns, Berechtigungen oder Nonce-Beschränkungen), dokumentiere die Begründung.
Feld | Typ | Notizen |
| id | integer | Termin-ID |
| customer_id | integer | Zugehörige Kunden-ID |
| service_id | integer | Zugehörige Service-ID |
| staff_id | integer | Zugehörige Mitarbeiter-ID |
| date | string (date-time) | ISO-8601-Datum/Zeit |
| status | string | Terminstatus |
Erforderliche Felder: customer_id, service_id, date
Feld | Typ | Erforderlich | Notizen |
| customer_id | integer | Ja | Kunden-ID |
| service_id | integer | Ja | Service-ID |
| staff_id | integer | Nein | Mitarbeiter-ID |
| date | string (date-time) | Ja | ISO-8601-Datum/Zeit |
Feld | Typ | Erforderlich | Notizen |
| staff_id | integer | Nein | Mitarbeiter-ID |
| date | string (date-time) | Nein | ISO-8601-Datum/Zeit |
| status | string | Nein | Terminstatus |
Feld | Typ | Notizen |
| id | integer | Kunden-ID |
| name | string | Kundenname |
| string (email) | Kunden-E-Mail | |
| phone | string | Kundentelefon |
Erforderliche Felder: name
Feld | Typ | Erforderlich | Notizen |
| name | string | Ja | Kundenname |
| string (email) | Nein | Kunden-E-Mail | |
| phone | string | Nein | Kundentelefon |
Erforderliche Felder: id
Feld | Typ | Erforderlich | Notizen |
| id | integer | Ja | Kunden-ID |
| name | string | Nein | Kundenname |
| string (email) | Nein | Kunden-E-Mail | |
| phone | string | Nein | Kundentelefon |