API-referentie
Afspraaktypes
De soorten afspraken die het bedrijf heeft ingesteld, met hun duur en prijs.
Endpoints
Afspraaktypes opvragen
GET
/api/v1/appointment-types
Alle afspraaktypes van het bedrijf in de volgorde van het scherm, ook de inactieve (zie is_active).
- Scope
-
appointments.read— Afspraken (met naam, e-mail en telefoon van de klant), afspraaktypes en beschikbaarheid lezen - Vereiste functie
appointments
Voorbeeldverzoek
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"]Antwoord 200
Het antwoord is een lijst met cursorpaginering: data bevat de objecten, meta de paginering.
{
"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
}
}Mogelijke fouten
-
403
insufficient_scope— Deze API-sleutel heeft geen toegang tot deze actie.
Het object
Alle velden zijn altijd aanwezig; een veld zonder waarde is null.
| Veld | Type | Omschrijving |
|---|---|---|
object |
string | Altijd "appointment_type". |
id |
string (uuid) | Unieke id (UUID). |
name |
string | Naam in de taal van het verzoek. |
names |
object | De naam in alle vier de talen. |
names.nl |
string | Nederlandse naam. kan leeg zijn (null) |
names.en |
string | Engelse naam. kan leeg zijn (null) |
names.de |
string | Duitse naam. kan leeg zijn (null) |
names.fr |
string | Franse naam. kan leeg zijn (null) |
description |
string | Omschrijving in de taal van het verzoek. kan leeg zijn (null) |
duration_minutes |
integer | Duur in minuten. kan leeg zijn (null) |
price |
string | Prijs als tekst met twee decimalen, of null. kan leeg zijn (null) |
color |
string | Kleur in de agenda (hex). kan leeg zijn (null) |
is_active |
boolean | Kan het type nog worden gekozen. |