App-Nutzer synchronisieren Ein häufig angefragter Anwendungsfall der API ist die Integration einer eigenen Nutzerverwaltung, sei es eine selbst entwickelte Lösung, eine cloudbasierte Vereinsverwaltungssoftware oder ein bestehendes CRM-System. Mit den bereitgestellten Mutationen und Queries können Sie Benutzerprofile erstellen, suchen, aktualisieren und löschen. App-Benutzerprofil anlegen Um ein App-Benutzerprofil anzulegen, nutzen wir die Mutation createUserProfile. In diesem Beispiel wird ein neues Profil für "Marta Musterfrau" angelegt, die der Abteilung "Billard" zugeordnet wird: mutation CreateUserProfile { createUserProfile( userProfile: { departments: [ { enumId: "00_Appack_TEMPLATE-department" value: "Billard" enumKey: "dezernat" } ] name: "Musterfrau" firstname: "Marta" email: "marta@musterfrau.de" } ) { id name firstname email departments { enumId enumKey value } } } Die folgende Response zeigt das erstellte Benutzerprofil: { "data": { "createUserProfile": { "id": "66e41ca2eb07c6643266248c", "name": "Musterfrau", "firstname": "Marta", "email": "marta@musterfrau.de", "departments": [ { "enumId": "00_Appack_TEMPLATE-department", "enumKey": "dezernat", "value": "billard" } ] } } } App-Benutzerprofil suchen Um nach bestehenden App-Benutzern zu suchen, verwenden wir die Query findUserProfile. Hier suchen wir nach dem Namen "Marta" und erhalten eine paginierte Liste von App-Benutzerprofilen: query FindUserProfile { findUserProfile( search: "Marta" page: {size: 25, page: 0, sort: { direction: ASC, property: "name" } } ) { totalcount content { id name firstname } } } Die folgende Response zeigt das gefundene Benutzerprofil: { "data": { "findUserProfile": { "totalcount": 1, "content": [ { "id": "66e41ca2eb07c6643266248c", "name": "Musterfrau", "firstname": "Marta" } ] } } } Als Suchwert (search) kann jedes Attribut aus dem UserProfile verwendet werden, wie z.B. der Name, die E-Mail-Adresse oder andere Identifikationsinformationen. So lassen sich Benutzerprofile gezielt anhand bestimmter Kriterien finden. App-Benutzerprofil aktualisieren Um die Informationen eines Benutzerprofils - im Beispiel die Rolle - zu aktualisieren, verwenden wir die Mutation updateUserProfile. Hier wird die Rolle von Marta auf "Mitglied" gesetzt: mutation UpdateUserProfile { updateUserProfile(id: "66e41ca2eb07c6643266248c", userProfile: { roles: [ {enumId:"00_Appack_TEMPLATE-roles", enumKey:"M", value:"Mitglied"} ] } ) { id email name firstname roles { enumId enumKey value } } } Die Response zeigt das aktualisierte Profil: { "data": { "updateUserProfile": { "id": "66e41ca2eb07c6643266248c", "email": "marta@musterfrau.de", "name": "Musterfrau", "firstname": "Marta", "roles": [ { "enumId": "00_Appack_TEMPLATE-roles", "enumKey": "M", "value": "Mitglied" } ] } } } Weitere nützliche Queries: findUserProfilesModifiedSince - Listet alle App-Benutzerprofile auf, die seit dem genannten Datum geändert wurden findOneUserProfile - Lädt einen App-Nutzer Weitere nützliche Mutationen: deleteUserProfile - Löscht ein App-Benutzerprofil