docs/Power features/Unipark (EFS / Tivian)
connect your survey tool

Unipark (EFS / Tivian).

Declare URL parameters in the project, pass them as a, b, c…, and redirect from the Final Page.

1 · Pass the Samply IDs into the survey

EFS reads incoming keys a, b, c… positionally into the system variables p_0001, p_0002, p_0003. You declare how many under Project Properties → Survey Options → User-defined Variables.

  1. In the project, open Project Properties (Projekteigenschaften) → Survey Options (Umfrageeinstellungen) → the "User-defined Variables" (Benutzerdefinierte Variablen) tab.
  2. Set "Number of URL parameters" (Anzahl der URL-Parameter) to the count you need; EFS creates p_0001, p_0002, p_0003 in order.
  3. Build the start link with EFS's reserved single-letter keys in that same order: ?a=%SAMPLY_ID%&b=%PARTICIPANT_CODE%&c=%MESSAGE_ID% (a→p_0001, b→p_0002, c→p_0003). Do NOT pass ?p_0001=…
  4. Check the data export / codebook: the p_0001–p_0003 columns must contain the passed values.
Example start link
https://<survey-host>/uc/<project>/?a=%SAMPLY_ID%&b=%PARTICIPANT_CODE%&c=%MESSAGE_ID%

2 · Register completion

Final Page → Properties → "Destination URL of external survey", embedding the wildcard #p_0003# for the message id.

  1. In the Questionnaire Editor open the Final Page → Properties.
  2. Set the destination URL to: https://samply.uni-konstanz.de/studies/<study-code>/done/#p_0003# (use whichever p_000n holds %MESSAGE_ID%).
  3. UNCHECK "Automatically add ospe.php3 to URL" and "Add return ticket" (both ticked by default) so EFS sends the participant to the unmodified Samply URL.
  4. Save and run a test completion; confirm #p_0003# resolves to the real 15-char message id.
Example completion redirect
https://samply.uni-konstanz.de/studies/<study-code>/done/#p_0003#

Or register completion silently with a POST

The redirect above navigates the participant's browser to Samply. The same completion can instead be registered server-to-server with an HTTP POST to /studies/<study-code>/done/<message-id> — no request body and no authentication (the message id in the path is the shared secret). Samply replies 200 on success or 400if the id matches no response, and it records the completion and cancels that send's pending reminders exactly like the redirect — just without redirecting. Whether Unipark (EFS / Tivian) can issue that POST itself varies:

Requires an external relay
EFS/Unipark has no trigger that makes an outbound HTTP call (its Service Layer is inbound-only), so it cannot POST to Samply itself. Use the Final-Page redirect above, or an external relay driven by the EFS export/API.
  1. There is no native EFS trigger that POSTs to an external URL, so a silent POST is not possible from EFS alone.
  2. Simplest: keep the Final-Page redirect above — it reaches the same /done/<message-id> URL, just via the participant's browser.
  3. To avoid redirecting, run an external relay: periodically export completed cases (EFS export or the Service Layer/API), read p_0003 (the message id) for each newly-finished case, and POST https://samply.uni-konstanz.de/studies/<study-code>/done/<message-id> from your relay.
  4. De-duplicate on your side so each message id is POSTed only once.
POST endpoint
POST https://samply.uni-konstanz.de/studies/<study-code>/done/<message-id>

POST sources: https://qbdocs.atlassian.net/wiki/spaces/DOC/pages/1447919750/Triggers · https://qbdocs.atlassian.net/wiki/spaces/DOC/pages/1273102351/How-to:+Service+Layer

Full request and response details are in the API reference.

Reserved parameters & gotchas

Incoming keys must be the reserved single letters a, b, c… (NOT p_0001). Mapping is positional: a→p_0001, b→p_0002, c→p_0003 — a wrong order silently stores values in the wrong column. EFS also reserves lfdn, code, c, tester, language.

Things to watch out for

  • EFS UI labels vary by version/locale and the official docs are partly login-gated, so confidence on exact English wording is medium — verify against your instance with a live test before fielding.
  • A simple outbound redirect needs no special add-on; the ospe.php3 / return-ticket options are only for returning to another EFS/Questback survey.

Sources

These steps were checked against the platform's documentation, but some UI labels vary by version — verify against your instance with a test run before fielding.