Resourcenbelegung via php curl_exec abfragen
-
@hbuerger sagte in Resourcenbelegung via php curl_exec abfragen:
Guck mal hier https://intern.church.tools/?q=churchwiki#WikiView/filterWikicategory_id:0/doc:API-CSRF/follow_redirect:true/
Vielen Dank für die Links. Nun bin ich etwas weiter. https://github.com/fodinabor/CT-API-Tools hat mir geholfen. Das Teil von Vinyard Köln scheint mir professioneller und viel umfangreicher. Vor allem scheinen die Leute V1 und V2 wegzukapseln ...
Für mich ist es aber vielleicht zu komplex zumal ich das ja dann wieder in unser CMS integrieren muss. Da trau ich mich nicht so recht dran. Drum versuche ich erst mal die einfach-Variante.
Jetzt bin ich am nächsten Punkt: ich versuche nach https://api.church.tools/index.html die API - funktionen zu machen.
Zum Beispiel nach https://api.church.tools/function-getBookings.html
/** * @param $domain * @return mixed */ function CT_getRessourceBookings($domain) { $url = $domain . 'churchresource/ajax'; $data = array('func' => 'getBookings', 'from' => "0", 'to' => "1"); $ret = CT_sendRequest($domain, $url, $data); return $ret; }
CT liefert aber immer alle Buchungen und nicht nur die von heut und morgen, d.h. die parameter
from
undto
greifen irgendwie nicht.https://api.church.tools/index.html überhaupt richtig?
-
@bwl21 Musste eben im Code nachgucken. Ja, da ist aktuell ein Bug drin. Die Parameter werden von der API nicht berücksichtig. Ich nehm, dass als Bug auf.
Akutell bleibt dir leider übrigt, die Einträge manuell zu filtern.
-
@hbuerger vielen Dank, dann weiß ich bescheid. Das filtern ist kein problem. Wir wollen das alle 1-3 Stunden laufen lassen.
verstehe ich richtig, dass ich mit https://api.church.tools/index.html arbeiten kann.
-
@bwl21 Nur damit wir nicht an einander vorbei reden.
https://api.church.tools/index.html ist "nur" die "Dokumentation" der alten AJAX API. Dort kannst du nachgucken, welche Funktionen mit welchen Parametern man theoretisch aufrufen kann.
Allerdings wurden die Dokumente meines Wissens nach schon lange nicht aktualisiert (auf der anderen Seite hat sich auch nicht viel daran geändert).
-
@hbuerger ja, das habe ich verstanden. Ich versuche, möglichst mit dem V2 API zu arbeiten, wenn ich was unbedingt brauche, nehme ich das V1 Api und hoffe dass es tut:-)
-
@hbuerger Ich komme in der Sache weiter ...
Die Parameter werden von der API nicht berücksichtig. Ich nehm, dass als Bug auf.
Damit kann ich leben. Eine andere Frage, ist, ob es auch die Möglichkeit gibt, Wiederholungstermine aufgelöst zu bekommen, sonst muss ich das alles nachrechnen.
-
@bwl21 sagte in Resourcenbelegung via php curl_exec abfragen:
Wiederholungstermine aufgelöst zu bekommen, sonst muss ich das alles nachrechnen.
Nein, dass ist nicht möglich. Die Wiederholungen musst du aktuell selber berechnen. Liegt an der internen Datenhaltung.
-
@hbuerger sagte in Resourcenbelegung via php curl_exec abfragen:
Nein, dass ist nicht möglich. Die Wiederholungen musst du aktuell selber berechnen. Liegt an der internen Datenhaltung.
Danke für die schnelle Antwort. Gibt es eine Dokumentation, wie das zu machen ist, vielleicht sogar eine Beispielfunktion (egal ob JS of PHP)? Oder muss ich das "reverse engineeren"?
Wie komme ich an die Masterdaten von ressource?: repeat_option_id, status_id
-
Ich mach es kurz:
1. MasterData
func = getMasterData
Gibt alle Stammdaten im Modul zurück (Auch alte AJAX API)2. Wiederholung
Hier mal eine Buchung wie sie die API zurück gibt und wie es im Frontend aussieht
{ "status": "success", "data": { "124": { "id": "124", "cc_cal_id": null, "resource_id": "5", "person_id": "1", "startdate": "2021-03-08 12:00:00", "enddate": "2021-03-08 13:00:00", "repeat_id": "1", "repeat_frequence": "1", "repeat_until": "2021-03-12 00:00:00", "repeat_option_id": null, "status_id": "2", "text": "Serie", "location": "", "note": "", "show_in_churchcal_yn": "0", "modified_date": "2021-03-09 09:25:45", "create_date": "2021-03-09 09:25:45", "person_name": "Hans-Helge Bürger ö ä Ä", "station_id": "0", "bezeichnung": "Raum 01", "version": "0", "exceptions": { "10": { "id": "10", "booking_id": "124", "except_date_start": "2021-03-10 00:00:00", "except_date_end": "2021-03-10 00:00:00", "userid": "", "modified_date": "2021-03-09 09:25:46", "modified_pid": "1" } } } } }
startdate
undenddate
definieren, Startzeit und Endzeit des Termins. Also Anfang vom Meeting und Ende vom Meetingrepeat_id
Welche art der Wiederholung (Täglich, wächentlich ...)repeat_frequence
Wie oft die Wiederholung stattfindetrepeat_until
Bis wann soll wiederholt werdenexceptions
Object mit den Ausnahmen, wann diese Wiederholung nicht stattfindet
-
Kurzes Update: der Bug im Filter wird in der Version 3.71 (vermutlich ab 22.03.) gefixt sein