• Aktuell
    • Tags
    • Beliebt
    • Benutzer
    • Gruppen
    • Suche
    • Registrieren
    • Anmelden

    API ChurchDB addPersonGroupRelation zeigt Fehlermeldung

    ChurchTools Schnittstellen
    2
    6
    2.2k
    Lade mehr Beiträge
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
    • A
      Admin EG Kagran
      zuletzt editiert von

      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 Antwort Letzte Antwort Antworten Zitieren 0
      • BenjaminSchwarzeB
        BenjaminSchwarze
        zuletzt editiert von

        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 Antwort Letzte Antwort Antworten Zitieren 0
        • A
          Admin EG Kagran
          zuletzt editiert von 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 Antwort Letzte Antwort Antworten Zitieren 0
          • BenjaminSchwarzeB
            BenjaminSchwarze
            zuletzt editiert von

            Dieser Thread wurde in ChurchTools Schnittstellen verschoben.

            1 Antwort Letzte Antwort Antworten Zitieren 0
            • A
              Admin EG Kagran
              zuletzt editiert von

              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 Antwort Letzte Antwort Antworten Zitieren 0
              • A
                Admin EG Kagran
                zuletzt editiert von

                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 Antwort Letzte Antwort Antworten Zitieren 0
                • Erster Beitrag
                  Letzter Beitrag