API ChurchDB addPersonGroupRelation zeigt Fehlermeldung



  • Hi,

    Ich habe versucht eine Gruppe automatisch mit einer Reihe von Personen zu befüllen - möchte dies für einen automatischen Sync der gesamten Gemeindeliste mit Mailchimp verwenden. Ich habe dazu die API Funktion addPersonGroupRelation wie folgt aufgerufen:

    		$params = array(
    			"p_id" => "1",
    			"g_id" => "15",
    			"gruppenteilnehmerstatus" => "11",
    			"comment" => "Batchrun ".date("Y-m-d H:i:s")
    			);
    		$g = $ct->apiCall("churchdb","addPersonGroupRelation", $params);
    		print_r($g);
    

    Ich erhalte folgende Fehlermeldung:

    (
    [status] => error
    [message] => Column 'gemeindeperson_id' cannot be null
    SQL: INSERT INTO tst_cdb_gemeindeperson_gruppe (gemeindeperson_id, gruppe_id, gruppenteilnehmerstatus_id, letzteaenderung, modified_pid, followup_count_no, followup_erfolglos_zurueck_gruppen_id, comment) VALUES (NULL, '15', '11', '2017-01-25 22:32:28', '220', NULL, NULL, 'Batchrun 2017-01-25 22:32:27')

    )

    Ich habe auch schon probiert die gemeindeperson_id im Array mitzugeben - selbes Resultat.

    Möglichweise fehlen ja noch Parameter im API Call - leider sind die Parameter auf der API Hilfeseite nicht beschrieben :-(
    https://api.churchtools.de/class-CTChurchDBModule.html#_addPersonGroupRelation

    Bitte um Unterstützung.

    lg alex


  • ChurchTools Mitarbeiter

    Hallo @alex-a

    wie ich es verstehe, möchtest du alle Gemeindemitglieder in eine Gruppe hinzufügen, die dann mit Mailchimp syncronisiert wird. Das kannst du auch einfach über die ChurchTools Oberfläche mit der Personenfunktion: "Markierte Personen einer Gruppe hinzufügen" machen.



  • Hallo @BenjaminSchwarze ,
    Ja, grundsätzlich ist das richtig - ich möchte allerdings einen Batchjob erstellen, der dies automatisch 1x pro Tag oder Woche synchronisiert - daher brauch ich ja den API Call ;-)

    In Zukunft sollen dann auch mehrere Listen (z.b. abhängig vom Mitgliedsstatus) mit Mailchimp gesynct werden (für spezielle Aussendungen usw) - das möchte ich dann ungern manuell tun.

    Eine Variante wäre natürlich, die Zuordnung über die Datenbank vorzunehmen - aber wenn es eh eine API gibt, wäre dies mein letzte Ausweg. Nur schein es eben mit dem API Call ein Problem zu geben (entweder Bug ODER fehlerhafter Aufruf durch mich).


  • ChurchTools Mitarbeiter

    Dieser Thread wurde in ChurchTools Schnittstellen verschoben.



  • Hallo @BenjaminSchwarze,

    Habt ihr schon Gelegenheit gehabt zu analysieren ob es ein Bug (siehe SQL Fehlermeldung des JSON Replies) oder ein fehlerhafter API Aufruf ist? Eventuell könnt ihr mir auch eine Dokumenation des API Calls posten bei der auch die relevanten Parameter ersichtlich sind - das fehlt nämlich in der Online Doku ;-)

    Danke und lG,

    Alex



  • Sodala ... bin dem Rätsel selbst auf die Spur gegangen:

    Die API erfordert für die Personen ID den Index "id" anstatt "p_id" - dann funktioniert es (siehe /system/churchdb/classes/CTChurchDBModule.class.php)

    public function addPersonGroupRelation($params) {
    return churchdb_addPersonGroupRelation($params["id"], $params["g_id"], $params["groupmemberstatus_id"], $params["date"],
    getVar("followup_count_no", null, $params),
    getVar("followup_erfolglos_zurueck_gruppen_id", null, $params),
    getVar("comment", null, $params));

    Beitrag kann geschlossen werden.

    lg alex


Anmelden zum Antworten
 

Es scheint als hättest du die Verbindung zu ChurchTools Forum verloren, bitte warte während wir versuchen sie wieder aufzubauen.