API Kalender Digital
Hallo
Habe eine Frage: weist jemand wie man die unterstehende API anfrage in Ninox umsetzen kann? Ich komme nicht wieter
curl --location --request POST 'https://api.kalender.digital/public/event' \
--header 'X-API-KEY: {{YOUR_API_KEY}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"startDate": "2025-07-01 12:00:00",
"endDate": "2025-07-01 13:00:00",
"timeZone": "Europe/Berlin",
"title": "API Test",
"subCalendars": ["{{YOUR_SUBCALENDAR_NAME}}"],
"description": "",
"who": "",
"where": ""
}'
Im Voraus Vielen Dank
Gruß Richard
37 Antworten
-
Hallo Ryszard,
es sollte so gehen:
let myMethod:="POST"; let myURL:="https://api.kalender.digital/public/event"; let myHeaders:= { 'X-API-KEY':"DEINE_API_KEY", 'Content-Type':"application/json" }; let myBody:= { startDate: format(Startdatum,"YYYY-MM-DD HH:mm:ss", endDate: format(Enddatum,"YYYY-MM-DD HH:mm:ss", timeZone: "Europe/Berlin", title: "API Test", subCalendars: ["YOUR_SUBCALENDAR_NAME"], description: "", who: "", where: "" }; let response:= do as server http(myMethod,myURL,myHeaders,myBody); end; alert(response.result)
Leo
-
Wenn du mehrere Subcalendars aus einem dyn. MehrfachAuswahlfeld heraus für den POST auswählen möchtest, lautet es im Body:
subCalendars: split(replace(text(dyn.MehrfachAuswahlfeld), " ", ""), ",")
Bei einem normalen MehrfachAuswahlfeld:
cosen(MehrfachAuswahlfeld)
Die eventId von Kalender.Digital speicherst du in Ninox wie folgt ab:
KalenderDigitalId := response.result.eventId
Wenn du die Kalendereinträge in Kalender.Digital änderst und die Änderungen nach Ninox übernehmen möchtest, benötigst du ein Drittprogramm wie Make oder n8n.
Du erzeugst in Kalender.Digital einen Webhook und trägst die WebhookUrl des Webhooks von Make/n8n ein. Dann baust du dir einen Flow, der vereinfacht wie folgt aussehen könnte.
-
Tippfehler hat sich eingeschlichen,
Richtig lautet der Code:chosen(MehrfachAuswahlfeld)
-
Hallo Leo / Hallo Uwe
Vielen dan für die Unterstützung und vorschläge.
Leo an Deinem Code musste ich noch klammern einfügen am Abschluss von startDate und endDate, sonst hat alles prima funktioniert
So seht es aus:
let myMethod := "POST";
let myURL := "https://api.kalender.digital/public/event";
let myHeaders := {
'X-API-KEY': "mein api key",
'Content-Type': "application/json"
};
let myBody := {
startDate: format(Startdatum, "YYYY-MM-DD HH:mm:ss"),
endDate: format(Enddatum, "YYYY-MM-DD HH:mm:ss"),
timeZone: "Europe/Warsaw",
title: 'tekst zadania',
subCalendars: ["Rechnungen"],
description: "",
who: "Ryszard Paluch",
where: "Marcyporęba"
};
let response := do as server
http(myMethod, myURL, myHeaders, myBody)
end;
eventID := number(response.result.eventId);
alert(response.result)Gruss Richard
-
Hallo Richard.
Schön das es funktioniert.
Das besondere an Kalender.Digital ist ja auch, dass man direkt in Kalender.Digital Einträge erzeugen, ändern, löschen kann. Ein Beispiel wäre, einen neuen Termin mit der Api aus Ninox heraus zu erzeugen und anschließend beispielsweise diesen Termin im iFrame von Ninox zu verschieben.Um die Änderung auch in Ninox zu dokumentieren, benötigst du ein Drittprogramm wie Make oder n8n zum Übertragen der Änderungen nach Ninox.
Hier mal ein Screenshot eines Make-Flow, welcher zusätzlich noch die Änderungen im Termin in einer Untertabelle dokumentiert um später nachvollziehen zu können, was geändert wurde oder ob der Termin gelöscht wurde. -
Kalender Digital kann jetzt die Ninox REST-API nutzen um Daten an Ninox zu senden.
Man muss nach Bearer nur seinen Ninox API-Key eintragen und die Url mit dem Ninox-Link bestücken, der auf die entsprechende Tabelle zeigen soll.
Damit spart man sich den Weg über ein Drittprogramm wie Make oder n8n.
Ich habe auch mal getestet, wie man neue in KD angelegte Termine direkt einem Kunden zuordnen kann. Dazu gebe ich im Feld Teilnehmer von KD den Namen und das Geburtsdatum des Kunden ein. (Bsp. Uwe G, 01.04.2022). Ninox extrahiert mir aus diesem Feld den Kundennamen und das Geburtsdatum und prüft per select oder Verknüpfung, ob der Kunde vorhanden ist. Entsprechend dem Ergebnis der Prüfung wird der Termin dem Kunden zugeordnet oder es erscheint erstmal ein Hinweis, daß der Termin nicht zugeordnet wurde.
Das ist mit Sicherheit noch verbesserungsfähig aber für's Erste als Machbarkeitsstudie angedacht.
Content aside
- vor 1 JahrZuletzt aktiv
- 37Antworten
- 1006Ansichten
-
9
Folge bereits