API-Referenz
Terminarten
Die Terminarten, die das Unternehmen eingerichtet hat, mit Dauer und Preis.
Endpunkte
Terminarten auflisten
GET
/api/v1/appointment-types
Alle Terminarten des Unternehmens in der Reihenfolge des Bildschirms, auch die inaktiven (siehe is_active).
- Scope
-
appointments.read— Termine (mit Name, E-Mail und Telefon des Kunden), Terminarten und Verfügbarkeit lesen - Erforderliche Funktion
appointments
Beispielanfrage
curl "https://app.klantly.com/api/v1/appointment-types" \
-H "Authorization: Bearer $KLANTLY_API_KEY"$client = new \GuzzleHttp\Client([
'base_uri' => 'https://app.klantly.com/api/v1/',
'headers' => ['Authorization' => 'Bearer ' . getenv('KLANTLY_API_KEY')],
]);
$response = $client->request('GET', 'appointment-types');
$data = json_decode((string) $response->getBody(), true)['data'];const response = await fetch('https://app.klantly.com/api/v1/appointment-types', {
headers: {
Authorization: `Bearer ${process.env.KLANTLY_API_KEY}`,
},
});
const { data } = await response.json();import os
import requests
response = requests.get(
"https://app.klantly.com/api/v1/appointment-types",
headers={
"Authorization": f"Bearer {os.environ['KLANTLY_API_KEY']}",
},
)
data = response.json()["data"]Antwort 200
Die Antwort ist eine Liste mit Cursor-Paginierung: data enthält die Objekte, meta die Paginierung.
{
"data": [
{
"object": "appointment_type",
"id": "9d3f7ea4-5a9c-4b1f-8e6d-7c8a9bacbdc5",
"name": "Inmeten",
"names": {
"nl": "Inmeten",
"en": "Measuring",
"de": "Aufmaß",
"fr": "Prise de mesures"
},
"description": null,
"duration_minutes": 60,
"price": "49.50",
"color": "#3B82F6",
"is_active": true
}
],
"meta": {
"limit": 50,
"next_cursor": "eyJpZCI6IjlkM2Y2YzFlIn0",
"prev_cursor": null
}
}Mögliche Fehler
-
403
insufficient_scope— Dieser API-Schlüssel hat keinen Zugriff auf diese Aktion.
Das Objekt
Alle Felder sind immer vorhanden; ein Feld ohne Wert ist null.
| Feld | Typ | Beschreibung |
|---|---|---|
object |
string | Immer „appointment_type“. |
id |
string (uuid) | Eindeutige ID (UUID). |
name |
string | Name in der Sprache der Anfrage. |
names |
object | Der Name in allen vier Sprachen. |
names.nl |
string | Niederländischer Name. kann leer sein (null) |
names.en |
string | Englischer Name. kann leer sein (null) |
names.de |
string | Deutscher Name. kann leer sein (null) |
names.fr |
string | Französischer Name. kann leer sein (null) |
description |
string | Beschreibung in der Sprache der Anfrage. kann leer sein (null) |
duration_minutes |
integer | Dauer in Minuten. kann leer sein (null) |
price |
string | Preis als Text mit zwei Dezimalstellen, oder null. kann leer sein (null) |
color |
string | Farbe im Kalender (Hex). kann leer sein (null) |
is_active |
boolean | Ob die Terminart noch gewählt werden kann. |