Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    API ChurchDB addPersonGroupRelation zeigt Fehlermeldung

    ChurchTools Schnittstellen
    2
    6
    2082
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Admin EG Kagran last edited by

      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

      1 Reply Last reply Reply Quote 0
      • BenjaminSchwarze
        BenjaminSchwarze last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • A
          Admin EG Kagran last edited by Admin EG Kagran

          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).

          1 Reply Last reply Reply Quote 0
          • BenjaminSchwarze
            BenjaminSchwarze last edited by

            Dieser Thread wurde in ChurchTools Schnittstellen verschoben.

            1 Reply Last reply Reply Quote 0
            • A
              Admin EG Kagran last edited by

              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

              1 Reply Last reply Reply Quote 0
              • A
                Admin EG Kagran last edited by

                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

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post