v5 ist live

BIS ZU

60% RABATT
Heißer Dezember-Sale
Launch-Sale
0 TAGE
:
0 STUNDEN
:
0 MINUTEN
:
0 SEKUNDEN
JETZT ERHALTEN percent icon

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.

Version:
Kategorien

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)

Basis-URL

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

Content-Type

JSON senden und empfangen:

  • Request-Header: Content-Type: application/json
  • Response-Header: Content-Type: application/json

Ressourcen

  • Termine: Terminverwaltung
  • Kunden: Kundenverwaltung

Termine

Termine abrufen

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"
  }
]

Termin erstellen

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"
}

Termin nach ID abrufen

GET /appointments/{id}

Gibt einen einzelnen Termin anhand seiner ID zurück.

Pfadparameter

Name

Typ

Erforderlich

Beschreibung

idintegerJaTermin-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"
}

Termin aktualisieren

PUT /appointments/{id}

Aktualisiert einen Termin anhand seiner ID.

Pfadparameter

Name

Typ

Erforderlich

Beschreibung

idintegerJaTermin-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.

Termin löschen

DELETE /appointments/{id}

Löscht einen Termin anhand seiner ID.

Pfadparameter

Name

Typ

Erforderlich

Beschreibung

idintegerJaTermin-ID

Responses

204 No Content — Termin gelöscht

Terminstatus ändern

PUT /appointments/{id}/change-status

Aktualisiert den Status eines Termins.

Pfadparameter

Feld

Typ

Erforderlich

Beschreibung

idintegerJaTermin-ID

Request-Body

Erforderlich

Feld

Typ

Erforderlich

Beschreibung

statusstringJaNeuer 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.

Verfügbare Terminstatus abrufen

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"]

Verfügbare Terminzeiten abrufen

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.

Kunden

Kunden abrufen

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"
  }
]

Kundeninformationen abrufen

GET /customer/info/{id}

Gibt einen Kunden anhand der ID zurück.

Pfadparameter

Feld

Typ

Erforderlich

Beschreibung

idintegerJaKunden-ID

Responses

200 OK — Kundeninformationen

Response-Body: Customer

Beispielantwort

{
  "id": 55,
  "name": "Jane Doe",
  "email": "[email protected]",
  "phone": "+1 555 123 4567"
}

Kunden erstellen

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

Kunden bearbeiten

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.

Kunden löschen

POST /customer/delete

Löscht einen Kunden anhand der ID.

Request-Body

Erforderlich

Feld

Typ

Erforderlich

Beschreibung

idintegerJaKunden-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.

Schemas

Appointment

Feld

Typ

Notizen

id integerTermin-ID
customer_id integerZugehörige Kunden-ID
service_id integerZugehörige Service-ID
staff_id integerZugehörige Mitarbeiter-ID
date string (date-time)ISO-8601-Datum/Zeit
status stringTerminstatus

AppointmentCreate

Erforderliche Felder: customer_id, service_id, date

Feld

Typ

Erforderlich

Notizen

customer_id integer JaKunden-ID
service_id integer JaService-ID
staff_id integer NeinMitarbeiter-ID
date string (date-time) JaISO-8601-Datum/Zeit

AppointmentUpdate 

Feld

Typ

Erforderlich

Notizen

staff_idinteger NeinMitarbeiter-ID
datestring (date-time) NeinISO-8601-Datum/Zeit
statusstring NeinTerminstatus

Customer

Feld

Typ

Notizen

id integerKunden-ID
name stringKundenname
email string (email)Kunden-E-Mail
phone stringKundentelefon

CustomerCreate

Erforderliche Felder: name

Feld

Typ

Erforderlich

Notizen

name string JaKundenname
email string (email) NeinKunden-E-Mail
phone string NeinKundentelefon

CustomerUpdate

Erforderliche Felder: id

Feld

Typ

Erforderlich

Notizen

id integer JaKunden-ID
name string NeinKundenname
email string (email) NeinKunden-E-Mail
phone string NeinKundentelefon