Die Funktion Einladungen verschicken → API-Zugriff erlaubt folgende Funktionen:
Eine wesentliche Anwendung der API-Funktion für Serienmails ist die Anbindung eines Shop-Systems. So kann man einem Kunden etwa nach Kauf der Zugangsberechtigung einen gültigen Teilnahme-Link zum Fragebogen übermitteln.
Für gewöhnlich erstellt SoSci Survey eine personalisierten URL zur Teilnahme an einer Befragung in dem Moment, wenn Sie eine Serienmail versenden. Mittels Seriennummern lassen sich manuell personalisierte Links erstellen, allerdings mit Einschränkungen bei der Anonymität und Funktionialität – und Seriennummern benötigen eine andere Zugriffsbeschränkung im Fragebogen als Serienmails.
Mit der Funktion Einladungen verschicken → API-Zugriff können Sie personalisierte Links zum Fragebogen erstellen und ggf. in einer externen Software verwenden, die genauso funktionieren wie die personalisierten Links in Serienmails. Allerdings wird dabei nicht zwangsläufig eine E-Mail verschickt. Wenn keine Serienmail verschickt werden soll, ist nicht einmal eine E-Mail-Adresse notwendig.
Beim Aufruf der API-URL erwartet SoSci Survey, dass mindestens eines der folgenden Identifikationsmerkmale für den (eventuell neuen) Adresseintrag mittels GET oder POST übermittelt wird:
Wenn die API-URL https://www.soscisurvey.de/PROJEKT/?act=83w7vaYqaeakXH7axpH2Yexu
lautet, könnte ein gültiger Aufruf etwa wie folgt aussehen. Dabei wird als Identifikationsmerkmal eine Kennung (uid
, User ID) verwendet:
https://www.soscisurvey.de/PROJEKT/?act=83w7vaYqaeakXH7axpH2Yexu&uid=112233aabbcc
Falls ein passender Eintrag in der Adressliste gefunden wird, wird dieser verwendet. Ansonsten wird unter Einladungen verschicken → Adressliste ein neuer Eintrag erstellt.
SoSci Survey erstellt nun einen gültigen Teilnahmelink und übermittelt diesen als Antwort auf den Aufruf als JSON zurück.
Die Antwort auf eine gültige Anfrage könnte etwa wie folgt aussehen:
{ "result": "ok", "token": "QS33T6XMVS4KLA9S", "url": "https:\/\/www.soscisurvey.de\/PROJEKT\/?d=QS33T6XMVS4KLA9S", "error": null }
Im Erfolgsfall enthält das Feld result
den Wert ok
, ansonsten einen anderen Wert. Außerdem wird im error
dann einer Fehlermeldung zurückgegeben. Hier etwa die Antwort auf einen Aufruf ohne Identifikationsmerkmal:
{ "result": "error", "error": "Request must specify email, mobile, or uid", "url": null }
Der API-Zugriff ist eigentlich für einen automatisierten Aufruf durch eine externe Software ausgelegt (Maschine-zu-Maschine Kommunikation), kann auch dafür „missbraucht“ werden, manuell gültige Teilnahme-Links zu erstellen.
Legen Sie dafür einen API-Link an, wie oben beschrieben. Rufen Sie anschließend die API-URL mit unterschiedlichen Identifikationsmerkmalen auf. Etwa mit den Kennungen respondent01
, respondent02
, respondent03
, …
Die Teilnehmer-ID muss dabei jeweils manuell in die Adresszeile eingetragen werden.
https://www.soscisurvey.de/PROJEKT/?act=83w7vaYqaeakXH7axpH2Yexu&uid=respondent01 https://www.soscisurvey.de/PROJEKT/?act=83w7vaYqaeakXH7axpH2Yexu&uid=respondent02 https://www.soscisurvey.de/PROJEKT/?act=83w7vaYqaeakXH7axpH2Yexu&uid=respondent03
Ihr Browser zeigt nach jedem Aufruf eine gültige Teilnahme-URL an, die etwa per E-Mail an die Teilnehmer verschickt werden kann.
Eine Funktion zum automatisierten Erstellen einer größeren Anzahl von Teilnahmelinks ohne externe Software ist in Planung, derzeit allerdings nur mit geringer Priorität. Falls die Anonymität nicht kritisch ist (oder wenn sie ganz besonders kritisch ist), kann dafür die Seriennummern-Funktion zum Einsatz kommen.
Beim Aufruf der API-URL erwartet SoSci Survey, dass ein Parameter serial mit der zu prüfenden Seriennummer übermittelt wird.
Wenn die API-URL https://www.soscisurvey.de/PROJEKT/?act=exu83w7vaYqaeakXH7axpH2Y
lautet, könnte ein gültiger Aufruf zur Überprüfung der Seriennummer „CD246802“ etwa wie folgt aussehen.
https://www.soscisurvey.de/PROJEKT/?act=exu83w7vaYqaeakXH7axpH2Y&serial=CD246802
Als Rückgabewert wird ein JSON-String mit folgender Struktur geliefert:
{ result: "ok", code: "CD246802", started: true, completed: false, notice: "", error: null }
Die Attribute haben die folgende Bedeutung:
result
– Rückgabewert der Anfrage, kann die Wert „ok“ oder „error“ annehmencode
– Die abgefragte Seriennummerstarted
– Wurde die Seriennummer verwendet, um einen Fragebogen zu starten (boolean)completed
– Wurde der begonnene Fragebogen bis zur letzten Seite ausgefüllt (boolean)notice
– Eine eventuell für die Seriennummer gespeicherter Notizerror
– Fehlermeldung, falls result
den Wert „error“ hatIm Fehlerfall wird nur der Status-Code und eine Fehlermeldung zurückgegeben, falls vorhanden auch die angefragte Seriennummer:
{ result: "error", error: "not found", code: "CD246802" }