Wie kann ich custom-Felder in Gruppenmitgliedschaft per API setzen
-
Ich möchte gerne den Import von Daten realisieren, wie ich ihn in https://forum.church.tools/topic/7233/user-interface-weitere-felder-hinzufügen-in-gruppen?_=1618159468043 skizziert habe. Dabei muss ich auch Merkmalsgruppen mit kundenspezifischen Feldern anlegen
Ich habe herausgefunden (wie empfohlen mit Hilfe des Chrome debuggers) wie ich
'data' => [ 'func' => 'editPersonGroupRelation', 'comment' => "das ist importiert,", 'custom44' => 1, 'custom38' => 'das ist das textfeld importiert', 'custom41' => 'o1', 'custom35' => '10,11,test13', 'id' => 812, 'g_id' => 63, 'groupmemberstatus_id'=> 8 ]
mit
'func' => 'addPersonGroupRelation'
kann ich auch einen neue Beziehung anlegen.Weiterhin habe ich eine Funktion in der Dokumentation gefunden
getPersonGroupRelation
, aber die funktioniert nicht:"response": { "status": "error", "message": "Function getPersonGroupRelation was not defined as Function!" }
Meine Frage:
- bin ich da auf dem richtigen Weg?
- wie kann ich die existierenden Werte einer
PersonGroupRelation
auslesen? die funktiongetPersonGroupRelation
funktioniert ja nicht. - wie finde ich die Bedeutung von custom44? Ich habe im V2-API
$ctdomain/api/groups/$group_id/memberfields
gefunden. Gibt es da auch einen Weg über das V1 API? - müsste es eigentlich. Denn ich kann nicht beobachten, dass das Web-UI diese Funktion nutzt.
-
@bwl21 sagte in Wie kann ich custom-Felder in Gruppenmitgliedschaft per API setzen:
Ich möchte gerne den Import von Daten realisieren
diesbezüglich kommst du hier nicht weiter?
-
@bwl21 also das meiste solltest du eigentlich mit der neuen API schon abbilden können:
/groups/{id}/members/{personId}
legst du eine neue Gruppenmitgliedschaft an/groups/{id}/members
liefert dir alle TN mit den entsprechenden Sonderfeldern/groups/{id}/memberfields
liefert dir die Definition der Felder -
@andy ich kann nicht erkennen, wie ich über "Importiere Gruppenzugehörigkeit" auch Custom Fields importieren kann.
-
@jziegeler sagte in Wie kann ich custom-Felder in Gruppenmitgliedschaft per API setzen:
@bwl21 also das meiste solltest du eigentlich mit der neuen API schon abbilden können:
/groups/{id}/members/{personId} legst du eine neue Gruppenmitgliedschaft anleider steht da in der API-Beschreibung:
All fields are optional. If not set, default values are used. groupTypeRoleId defaults to the standard role of the group's grouptype, comment and member start/end dates default to null. Additional custom group fields are not yet supported through this API.
Ergo bin ich wieder beim V1 Api, was mich inzwischen nicht mehr stört ...
@jziegeler sagte in Wie kann ich custom-Felder in Gruppenmitgliedschaft per API setzen:
/groups/{id}/members liefert dir alle TN mit den entsprechenden Sonderfeldern
alle TN sind im vorliegenden fall 1800, mit Paginierung geht das schon. Wäre aber schon cool, wenn man eine LIste mitgeben könnte. Aber ein Showstopper ist das natürlich nicht.
Drum nochmal die Frage, ob es da auch ein V1-Äquivalent gibt, muss es eigentlcih, denn die Web-Anwendung kriegt die Information ja auch irgendwie.
-
@bwl21
da gibt es den CallgetAdditionalGroupFieldsForIds
mit dem Parameterids
=> Gruppen-IdsFür die Gruppenteilnehmer gibt es soweit ich das sehen kann in der V1 keine API, das wird im Frontend zusammengerechnet ...
-
@jziegeler bisschen komisch ist es ja schon. In der V1 Dokumentation ist
getPersonGroupRelation
aufgeführt. Das wäre ja durch aus konsistent zuaddPersonGroupRelation
bzw.editPersonGroupRelation
Da die Dokumentation ja aus dem Quellcode generiert ist, kann da eigentlich nicht viel fehlen.
-
@bwl21 auf die Dokumentation würde ich mich selbst nicht mehr verlassen,
getPersonGroupRelation
taucht auf jeden Fall nirgends im Code aufedit
undadd
schon ... -
@jziegeler https://api.church.tools/function-getPersonGroupRelation.html d.h. man hat das schon aus dem Quellcode entfernt.
Dann werde ich wohl die ganze Gruppe reinziehen müssen. Das braucht man halt wen man einen gezielten "Update-Import" machen möchte.
-
@jziegeler OT: bedeutet das, ihr löst aktiv die alte API auf? Wir haben damit unsere Kleingruppen in die Homepage integriert. Wird das irgendwo erwähnt, wann welche Funktionen abgeschaltet werden?
-
@michaelg also soweit ich weiß entfernen wir keine Funktionen einfach so, allerdings ist die API-Dokumentation V1 noch vor meiner Zeit gewesen, da kann ich nix zu sagen wie die zustande kam und wie aktuelle die ist
-
@jziegeler sagte in Wie kann ich custom-Felder in Gruppenmitgliedschaft per API setzen:
/groups/{id}/members liefert dir alle TN mit den entsprechenden Sonderfeldern
Bei mir werden mit dem Aufruf keine Sonderfelder zurück gegeben oder zählen die Personenfelder (Anschrift und Telefonnummer) nicht als Sonderfelder? Das Array fields (falls die dort aufgelistet werden sollen) ist leer:
/groups/{id}/memberfields liefert dir die Definition der Felder
Hier werden die vier Personenfelder für die Gruppe aufgelistet, deswegen vermute ich, dass diese auch unter fields vorhanden sein sollten.
In der API wird das Feld "angemeldet von" noch nicht mit überliefert. Wird das noch kommen?
-
@markusp In den fields sind alle Gruppenteilnehmerfelder drin die man selbst erstellt hat die nicht Personenfelder sind. Personenfelder bekommt man ganz normal über die Personenapi
/api/persons/$PERSON_ID
zurück -
@davidschilling danke dir für die Info.
Heißt also, wenn ich eine API Abfrage von z.B. einer Gottesdienstanmeldungsgruppe machen möchte, in der 200 Personen sind, und ich auch die in der Gruppe hinterlegten Personendaten benötige, dann muss ich zusätzlich zu der einen API-Abfrage (/groups/{id}/members) noch 200 API-Abfragen auf die Personen machen? -
@markusp du kannst auch den Endpunkt
/persons?ids[]=.....
verwenden, dann ist es nur ein Aufruf die Dokumentation findest du unterdeineGemeinde.church.tools/api