Zugriff auf Ablauf via API



  • Hallo zusammen, hat jemand Erfahrung damit bzw. kann mir sagen, ob das grundsätzlich überhaupt möglich ist? Ich möchte gerne per API auf den Ablauf eines bestimmten Gottesdienstes zugreifen...
    Bzg. ganz konkret möchte ich eigentlich den Lied-Export eines konkreten Ablaufes/Gottesdienstes per API anstoßen bzw. die Lieder abrufen.
    Vielen Dank für eure Hilfe!
    LG Claus



  • Hallo Claus,
    die Antwort würde mich auch interessieren. Gibt es dahingehend eine Antwort oder hast du zwischenzeitlich eine Möglichkeit in der API gefunden?

    LG Andreas


  • ChurchToolsMitarbeiter

    Es gibt ein paar Apis die dafür interessant sein könnten:

    Bei allen muss der Parameter q=churchservice/ajax gesetzt werden

    • Informationen zum Ablauf abrufen: ?func=loadAgendas&ids[26]
    • Ablaufeinträge abrufen ?func=loadAgendaItems&agenda_id[26]
    • Generelle Daten zum Modul Events abrufen func=getMasterData


  • @davidschilling danke für den Hinweis.
    Ich hatte nämlich schon mal die API-Dokumenation (api.churchtools.de) durchgesehen, aber keine entsprechenden Funktionen für Abläufe gefunden.
    Gibt es eine vollständige bzw. aktuelle API-Dokumentation? Die loadAgenda...-Funktionen sind dort beim Package ChurchService nicht gelistet.



  • Ich hänge mich hier mal mit rein, weil wir auch mit der loadAgenda kämpfen. Zwar zeigt es uns mit dieser Funktion den Ablauf an...

    $url = 'https://xxxxxxxxx.de/index.php?q=churchservice/ajax';
    $data = array('func' => 'loadAgendaItems',
    'agenda_id' => 80);

    ...allerdings möchten wir diesen Aufruf in unseren sonntäglichen "Moderationsvordruck" einbinden. Dort werden per API bereits die Geburtstage der vergangenen Woche und die kommenden Veranstaltungen eingebunden. Der geplante Ablauf wäre natürlich jetzt auch noch toll. Aber wie kann ich die agenda_id zu dem geplanten Tag abrufen? Die Nummer 80 gilt ja nur einmal und ich kann ja nicht ständig in den Quellcode eingreifen. Gäbe es hier einen sinnigen Vorschlag?



  • @joe999 das geht mit

    https://deine-instanz.church.tools/index.php?q=churchservice/ajax&func=getAllEventData
    

    was dir Daten in der Form

    {
        "status": "success",
        "data": {
            "3000": {
                "id": "3000",
                "startdate": "2017-11-12 14:30:00",
                "valid_yn": "1",
                "cal_startdate": "2017-11-12 14:30:00",
                "cal_enddate": "2017-11-12 15:30:00",
                "cc_cal_id": "1",
                "bezeichnung": "ABC",
                "special": "",
                "category_id": "1",
                "repeat_id": "0",
                "intern_yn": "0",
                "notizen": "",
                "ort": "",
                "link": "",
                "datediff": "",
                "enddate": "2017-11-12 15:30:00"
            }
        }
    }
    

    Dann wäre eben die Event ID die 3000.

    Danach ein Request auf

    https://deine-instanz.church.tools/index.php?q=churchservice/ajax&func=loadAgendaForEvent&event_id=3000
    

    Das liefert so was:

    {
        "status": "success",
        "data": {
            "id": "5000",
            "calcategory_id": "2",
            "bezeichnung": "12.08.2018 17:30 - Ablaufplan",
            "template_yn": "0",
            "series": "",
            "final_yn": "0",
            "modified_date": "0000-00-00 00:00:00",
            "modified_pid": "0",
            "event_ids": [
                "3000"
            ]
        }
    }
    

    Und dann weißt du dass die Agenda ID 5000 verwenden musst für loadAgendaItems



  • Wow, besten Dank! Binde ich heute Abend gleich mal mit ein... 🙂