Klantly Developers

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
curl "https://app.klantly.com/api/v1/appointment-types" \
  -H "Authorization: Bearer $KLANTLY_API_KEY"
PHP
$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'];
JavaScript
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();
Python
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.

Beispielantwort
{
  "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

Zusätzlich kann jeder Endpunkt die allgemeinen Fehler zurückgeben, etwa einen ungültigen Schlüssel oder ein erreichtes Limit. Alle Fehlercodes ansehen.

Das Objekt

Alle Felder sind immer vorhanden; ein Feld ohne Wert ist null.

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