0 votes
in SoSci Survey (dt.) by s292156 (110 points)

Wir möchten zwei Parameter im Umfragelink übergeben, einerseits (r) für die Referenzierung einer Person und andererseits wollen wir eine benutzerdefinierte Variable (dat) als Quellidentifikator nutzen.
Ist das so möglich?

Use Case wäre, dass wir im Nachgang abfragen möchten, ob eine bestimmte Umfrage mit Variablen (r) und (dat) ausgefüllt wurde oder nicht.

Ist das über diese API möglich?
https://www.soscisurvey.de/help/doku.php/de:results:data-api

Vielen Dank für die Antworten im Voraus

1 Answer

0 votes
by SoSci Survey (327k points)

Sie würden zum Einlesen von GET-Variablen aus dem Link eie Frage vom Typ "Gerät und übermittelte Variablen" verwenden.

Ist das über diese API möglich?

Diese API ist zum Abruf von Daten, so wie ich Ihre Frage verstehe, ist sie für Ihren Verwendungszweck nicht hilfreich.

by s292156 (110 points)
Vielen Dank für Ihre Antwort.
Das heißt also, dass die Übergabe der Werte in den Variablen (r) und (dat) funktionieren würde?

Wenn der Abruf der Daten so nicht möglich ist, gibt es eine Möglichkeit über die API den Status der Umfrage über die Variablen (r) und (dat) zu ermitteln? Also diese praktisch als Filter zu verwenden?
by SoSci Survey (327k points)
> Das heißt also, dass die Übergabe der Werte in den Variablen (r) und (dat) funktionieren würde?

Ja.

> gibt es eine Möglichkeit über die API den Status der Umfrage über die Variablen (r) und (dat) zu ermitteln?

Eine API ist dafür da, dass externe Software mit SoSci Survey kommunizieren kann. So können Sie über die API die erhobenen Daten z.B. direkt in R laden, ohne dass Sie sich einloggen und im Browser eine Datei herunterladen müssen. Mir fällt gerade keine SoSci-API ein, die für Ihren Anwendungsfall geeignet wäre. Aber der o.g. Fragetyp erledigt das ja bereits.
by s292156 (110 points)
Es soll auch eine externe Software mit SoSci Survey kommunizieren. Denn in der externen Software soll abgeprüft werden, ob eine spezifische Umfrage schon ausgefüllt wurde oder nicht.
Also Umfragelink wird mit spezifischen Identifikatoren (r) und (dat) erweitert, damit das externe System diese Umfragen über die API auslesen kann.
Über den Datenabruf via API sollte es doch möglich sein, diese Umfragen abzurufen, um deren Status synchronisieren, oder?

Falls es nicht mit den Variablen geht, welche sollten dann genutzt werden?
by SoSci Survey (327k points)
Haben Sie die besagte Frage "Gerät und übermittelte Variablen" bereits auf der ersten Seite eingefügt und in der Frage eingestellt, dass Sie eine GET-Variable "dat" einlesen möchten?
by s292156 (110 points)
Aktuell noch nicht, da wir erst in Erfahrung bringen möchten, ob wir per API die Daten aus einem externen System heraus auslesen können.
Ist das möglich?
by SoSci Survey (327k points)
Ja, können Sie. Die Frage ist aber, was die Übermittlung auslöst. Das externe System (dann via GET-Aufruf und der o.g. Frage) oder SoSci Survey (dann z.B. via sendJSON() PHP-Funktion).
by s292156 (110 points)
Das hört sich super an.
In unserem Fall soll das externe System via GET-Methode die Daten abrufen und auswerten.
Könnten Sie mir bitte ein Beispiel für den Abruf der Daten mit den Variablen (r) und (dat) geben?
by SoSci Survey (327k points)
Wenn das externe System die erhobenen Daten (das meinen Sie, ja?) abrufen soll, dann spielt "r" und "dat" in diesem Moment keine Rolle. Das externe System will ja den Datensatz oder einen Datensatz haben und es ist das externe System, welches den Abruf auslöst, verstehe ich Sie da korrekt?
by s292156 (110 points)
Genau, wir möchten mir den Variablen (r) und (dat) die Teilnahme an einer Umfrage taggen.
Das externe System soll dann im Nachgang diese Umfrage per API abrufen und prüfen, ob die jeweiligen Personen (r) aus Veranstaltung (dat) diese Umfrage ausgefüllt haben oder nicht.
Mehr Infos benötigen wir an der Stelle nicht.
So weit ich gesehen habe, ist es ja möglich sich per API den Status einer Umfrageteilnahme ausgeben zu lassen.
by s292156 (110 points)
Könnten Sie mir da bitte nochmal etwas behilflich sein?
by SoSci Survey (327k points)
Sagen Sie mir, wie genau? Zuletzt hatten Sie geschrieben "Mehr Infos benötigen wir an der Stelle nicht." Ich versuche es mal, aber fragen Sie bitte konkret nach.

Es sind zwei Schritte, die technisch weitgehend getrennt sind:

(1) Wenn die Teinehmer:innen den Fragebogen mit einem Link aufrufen, der Daten für r= und dat= übergibt, dann lesen Sie das mit einer Frage vom Typ "Gerät und übermittelte Variablen" auf der ersten Seite des Fragebogens in den Datensatz ein.

(2) Wenn Ihr Server für die Auswertung die Daten abholen will, kann er dafür die Datenabruf-API nutzen, und bekommt dann je nach Abruf CSV oder JSON. Diese Daten enthalten dann auch u.a. die Werte, die für r und dat eingelesen wurden (als ganz normale Variablen neben den Antworten).

Wenn Sie den Teilnahmestatus prüfen möchten, ist es hilfreich, mit personalisierten Links und Seriennummern (s=) zu arbeiten.
by s292156 (110 points)
Tut mir leid, das war etwas ungeschickt ausgedrückt. Ich meinte, dass wir nur die Info von der API brauchen, ob die Umfrage ausgefüllt wurde oder nicht. Das war nicht auf die Frage bezogen.
Das heißt also, dass ich die Datenabruf-API für eine Umfrage nutzen kann und im Datensatz ebenso die Variablen (r) und (dat) zurückbekomme? Somit kann ich dann auch Über diese Variablen die Teilnahme herausfiltern?

Personalisierte Links sind bei der Umsetzung leider nicht möglich, da das Stammsystem, wie auch Sosci-Survey, die Umfragen anonym behandeln müssen.
by SoSci Survey (327k points)
Die API für den Datenabruf liefert erst einmal alle Daten - einschließlich der zusätzlichen Variablen (r und dat), sofern Sie diese eingelesen haben. Das würde nun bedeuten, dass Ihr System jedesmal alle Daten abrufen müssten, wenn es den Teilnahmestatus ermitteln wollte.

Wenn Sie anstatt r die Variable s (SERIAL) verwenden können, dann könnten Sie direkt anhand dieser Variable den Teilnahmestatus prüfen und auch den Fall abrufen (https://www.soscisurvey.de/help/doku.php/de:results:data-api#datensaetze_nach_personencode_serial). Das funktioniert aber nur dann, wenn jede Teilnehmer:in einen eigenen Code bekommt.

> Personalisierte Links sind bei der Umsetzung leider nicht möglich

Es klingt sehr danach, dass Sie mit r= einen individuellen Schlüssel übergeben. Wenn das so ist, macht es in Hinblick auf den Datenschutz keinen Unterschied, ob Sie r= oder s= verwenden. Personalisiert wären die Links in beiden Fällen - ob das dann personenbezogen, pseudonym oder anonym ist, das hängt vom Kontext ab.
by s292156 (110 points)
Das klingt gut. Generell könnte ich also auch (s) für die Identifizierung des Teilnehmers verwenden und zusätzlich (r) für die Identifizierung des dahinterliegenden Kontaktes + (dat) zur Identifizierung des Termins, oder?
Also einfach alle drei Variablen nutzen.
Dann könnte man mit (s) die Teilnahme direkt abrufen. Bekommt man bei einem Abruf der Daten mit (s) auch die Variablen (r) und (dat) zurück?
by SoSci Survey (327k points)
Wenn Sie den Fall abrufen, bekommen Sie alle Variablen - also auch REF und die Variable, mit der Sie "dat" eingelesen haben, ja. Ich würde empfehlen, dass Sie das einfach mal testen, dann wird es etwas greifbarer.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...