List of EFS Service-Layer (API) services
Paul Kretek (Unlicensed)
Dennis Mergemann (Unlicensed)
Jennifer Geers (Unlicensed)
This document provides a list of all EFS Service-Layer services. To have general information on the EFS Service-Layer, please go to this page.
As mentioned in the EFS Service-Layer overview, all requests should use the token
URL parameter to authenticate the service user, for example GET https://your-efs.com/service/survey/surveys/?token=1234567890
. An alternative to using the provided token, is to create a basic authentication request as specified in the HTTP protocol.
REST status codes
When using REST to access the Service Layer, the service will use the following HTTP status codes, 500 being the most common error status code and 200 being used for all successful requests.
Status | Description |
---|
Status | Description |
---|---|
200 | The request has been processed, see end point description for expected response body |
400 | The validation of the entity given in the body of the request failed. Can also be caused by a malformed JSON request. |
401 | Can be caused by missing, invalid or expired token or username/password combination. |
403 | The user does not have the permission to execute this service or service is unknown or not enabled/available. |
500 | All regular errors and exceptions will use this status code, please see the message for additional information. In some rare exceptions, the returned value may not be json encoded. |
Example for response body of a error status code:
{
"error": {
"message": "REST route [efs/test] not found, not activated or no access",
"code": 403
}
}
The title of the expandable area uses the following format:
Description | {REST method} | {SOAP method}
The examples provided are REST requests, our recommended method for accessing the Service-Layer. The list of services omits the mandatory /service/ base path. All service layer requests need to use this base path, e.g. GET /survey/surveys/
should be GET https://efs-installation.com/service/survey/surveys/
in your application.
When requesting services to be activated through the support, it is best to provide the SOAP method names, as these are unique and avoid confusion.
EFS
Email blocklist, global and survey based
DELETE /efs/mailblacklist/
Deletes a list of email addresses from blocklist
Request body
{
"emailList": [
{
"email": "example@domain.tld",
"surveyId": 1234
}
]
}
Response body
[
{
"email": "example@domain.tld",
"surveyId": 1234,
"result": 1
}
]
GET /efs/mailblacklist/
Get a list of all blocklisted email addresses (both global and survey). Global entries have surveyId 0.
Response body
[
{
"email": "example@domain.tld",
"surveyId": 0,
"createdAt": "2020-07-02T12:53:50+00:00",
"createdBy": "SERVICE"
}
]
POST /efs/mailblacklist/
Add a list of email addresses to blocklist. If surveyId is specified the email will be blocked for given survey, otherwise if omitted or if surveyId is 0, the email will be added to global blocklist.
Request body
{
"emailList": [
{
"email": "example@domain.tld",
"surveyId": 1234
}
]
}
Response body
[
{
"email": "example@domain.tld",
"surveyId": 1234,
"result": 1
}
]
POST /efs/mailblacklist/check
If surveyId is not specified, or the id is 0, only the global blocklist will be checked. By providing a surveyId, the system will check if the email is blocked in the given survey only. The return value is a boolean.
Request body
{
"emailAddress": "example@domain.tld",
"surveyId": 1234
}
Response body
true
POST /efs/mailblacklist/getListByDateRange
Get a list of blocklisted email addresses (both global and survey related) restricted by date range.
Request body
{
"dateRange": {
"from": "2020-07-01T12:53:50+00:00",
"to": "2020-07-03T12:53:50+00:00"
}
}
Response body
[
{
"email": "example@domain.tld",
"surveyId": 1234,
"result": 1
}
]
POST /efs/mailblacklist/getListByEmailAddress
Returns a list of all surveys where given email is blacklisted. In case of global blacklist the surveyId is 0.
Request body
{
"emailAddress": "example@domain.tld"
}
Response body
[
{
"email": "example@domain.tld",
"surveyId": 0,
"createdAt": "2020-08-26T11:01:22+00:00",
"createdBy": "SERVICE"
}
]
Mail templates
POST /efs/mailtemplates/
Add mail template. Please see the mail template form in EFS for required and optional information. Returns the id of the newly created mail template. Use GET /efs/mailtemplates/{id}
on an existing template, if unsure about the correct parameters and also have a look at the mail template editor in EFS for optional and required parameters and supported wildcards, specific to your mail template type.
Option | Valid values |
---|
Option | Valid values |
---|---|
| default_mail, invitation_mail, reminder_mail, survey_ends_mailtype, welcome_mail, pwrecovery_mail, doub_check_mail, register_check_mail, md_invitation_mail, md_reminder_mail, winner_mail, promotion_mail, bonus_mail, exchange_mail, orgprocessor_mail, website_notifications, system_mail, eat_your_own_dogfood, result_mail, reportnotification_mail |
| ID of Panel Website language version, on installations without Panel Website, please use 0. |
| TEXT, HTML, TEXT_AND_HTML |
| UTF-8, UTF-16, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-13, ISO-8859-15, US-ASCII, KOI8-R, GB18030, x-EUC-CN, GBK, x-EUC-TW, Big5, Big5-HKSCS, EUC-JP, Shift_JIS, ISO-2022-JP, EUC-KR, ISO-2022-KR, TIS-620 |
| NO_PRIORITY, HIGHEST, HIGH, NORMAL, LOW, LOWEST |
| NORMAL, PRIVATE, PERSONAL, COMPANY |
| NO_NOTIFICATION, WITH_RETURN_PATH, WITH_FROM_PATH |
| See EFS mail template interface for a current list of locales. |
|
|
Request body
{
"mailtemplate": {
"meta": {
"description": "Example description",
"type": "default_mail",
"site_id": "123",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example",
"format": "TEXT_AND_HTML",
"text_content": "Example",
"html_content": "<h1>Example</h1>"
},
"options": {
"charset": "UTF-8",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": true,
"send_copy": true,
"cc": "example@domain.tld",
"bcc": "example@domain.tld",
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION",
"sms_from": "+491234567890",
"sms_content": "Example"
},
"translations": [
{
"localeString": "de_DE",
"subject": "Beispiel",
"text_content": "Beispiel",
"html_content": "<h1>Beispiel</h1>",
"sms_content": "Beispiel"
}
]
}
}
Response body
1
DELETE /efs/mailtemplates/{id}
Delete mail template by id. Successful requests have no response body.
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | The mail-template id Examples: |
GET /efs/mailtemplates/{id}
Get mail template by id
Response body
{
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.",
"attachments": false
},
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
},
"id": 1234
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | The mail-template id Examples: |
GET /efs/mailtemplates/withAttachments/{id}
Get mail template by id with attachments. The content of attachment is gzip and base64 encoded.
Response body
{
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.",
"attachments": false
},
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
},
"attachments": [
{"name":"example.jpg", "content":"skkfdsjksdjkfsd..."}
]
"id": 1234
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | The mail-template id Examples: |
PUT /efs/mailtemplates/{id}
Change mail template data, returns the mail id
Request body
{
"mailtemplate": {
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.",
"attachments": false
},
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
}
}
}
Response body
1234
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | The mail-template id Examples: |
POST /efs/mailtemplates/list
Get a list of mailtemplates. You can restrict the list of templates, by providing a POST body with the list of types.
Request body
{
"mailTemplateTypes": [
"default_mail"
]
}
Response body
[
{
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.",
"attachments": false
},
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
},
"id": 1234
}
]
POST /efs/mailtemplates/listWithAttachments
Get a list of mailtemplates. You can restrict the list of templates, by providing a POST body with the list of types.
Request body
{
"mailTemplateTypes": [
"default_mail"
]
}
Response body
[
{
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear #u_firstname#, \r\n\r\nyou have a new message.",
"attachments": false
},
"attachments": [
]
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
},
"id": 1234
}
]
POST /efs/mailtemplates/send
Send a preview email. Similar to the mail template preview send functionality in the EFS UI.
Request body
{
"id": 353,
"recieverMails":"example@example.tld",
"localeString":"de_DE",
"placeholders": [
{"placeholderName":"#test#", "placeholderValue":"Test"}
]
}
Response body
{
"success": true
}
Management of EFS organisations
DELETE /efs/organizations/
Deletes an EFS admin organisation.
Request body
{
"adminOrgIdentifierType": "id",
"adminOrgIdentifierValue": "1234"
}
Response body
true
PATCH /efs/organizations/
Sets an organization's value. See POST /efs/organizations/
for possible adminOrgField names.
Request body
{
"adminOrgIdentifierType": "id",
"adminOrgIdentifierValue": "1234",
"adminOrgField": "customer_no_common",
"adminOrgValue": "KD1234"
}
Response body
true
POST /efs/organizations/
Adds an EFS admin organization.
Request body
{
"adminOrgRecord": {
"name": "Example",
"description": "Example org",
"contract_start": "2020-07-02T12:53:50+00:00",
"contract_end": "2022-07-02T12:53:50+00:00",
"customer_no_common": "Example",
"max_active_projects_allowed": "Example",
"max_archived_projects_allowed": "Example",
},
"adminOrgIdentifierReturnType": "id"
}
Response body
1234
PUT /efs/organizations/
Add an existing staff member to an organization.
Request body
{
"adminUserIdentifierType": "u_email",
"adminUserIdentifierValue": "example@domain.tld",
"adminOrgIdentifierType": "id",
"adminOrgIdentifierValue": "1234"
}
Response body
true
POST /efs/organizations/details
Returns an organization.
Request body
{
"adminOrgIdentifierType": "id",
"adminOrgIdentifierValue": "1234"
}
Response body
{
"name": "Example",
"description": "Example org",
"contract_start": "2019-07-01T00:00:00+00:00",
"contract_end": "2023-12-30T00:00:00+00:00",
"customer_no_common": "KD1234"
}
POST /efs/organizations/list
Returns a list of organizations specified by a search value.
Request body
{
"adminOrgField": "name",
"adminOrgValue": "Example",
"pageFrom": 0,
"pageLimit": 100
}
Response body
[
{
"name": "Example",
"description": "Example org",
"contract_start": "2019-07-01T00:00:00+00:00",
"contract_end": "2023-12-30T00:00:00+00:00",
"customer_no_common": "KD1234"
}
]
PATCH /efs/organizations/templates
Changes an admin organization's Reporting+ export templates configuration for one file type format. Possible values for reportingExportFormat are: html, ppt, pdf, pptx and pptxpdf. To disable an export, send "reportingExportTemplates": []
, otherwise provide a list of export template ids to be enabled.
Request body
{
"adminOrgIdentifierType": "id",
"adminOrgIdentifierValue": "1234",
"reportingExportFormat": "pptxpdf",
"reportingExportTemplates": [
123,
124
]
}
Response body
true
Management of EFS teams
POST /efs/teams/
Adds a new EFS team, returns the id of the team.
Request body
{
"team": {
"teamName": "Example",
"teamTitle": "Example",
"teamDesription": "Example description",
"teamAccessability": [
1
],
"areasAccessable": [
"www"
],
"rightTemplateId": 1
}
}
Response body
1
POST /efs/teams/list
Retrieves a list of teams matching given search criteria
Request body
{
"identifierType": "teamName",
"identifierValue": "Example",
"page": 0,
"limit": 100
}
Response body
[
{
"teamId": 1,
"teamName": "Example",
"teamTitle": "Example",
"teamDesription": "Example description"
}
]
DELETE /efs/teams/{teamId}
Deletes an EFS team
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
teamId | integer | true | team id Examples: |
GET /efs/teams/{teamId}
Retrieves the data of an EFS team
Response body
{
"teamId": 1,
"teamName": "Example",
"teamTitle": "Example",
"teamDesription": "Example description"
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
teamId | integer | true | team id Examples: |
PATCH /efs/teams/{teamId}
Changes the EFS team details
Request body
{
"team": {
"teamName": "Example",
"teamTitle": "Example",
"teamDescription": "Example",
"teamAccessability": [
1
],
"areasAccessable": [
"www"
],
"rightTemplateId": 1
}
}
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
teamId | integer | true | team id Examples: |
Object rights
DELETE /efs/privileges/
Removes the right from the object for the given team.
Request body
{
"objectId": 1,
"groupId": 1,
"right": "read"
}
Response body
true
PATCH /efs/privileges/
Sets a right on an object for given team, replaces any existing condition
Request body
{
"objectId": 1,
"groupId": 1,
"right": "read"
}
Response body
true
POST /efs/privileges/addright
Adds the right to the object for the given team.
Request body
{
"objectId": 1,
"groupId": 1,
"right": "read"
}
Response body
true
POST /efs/privileges/features
Tells if current user has access to a specific access right (team rights). Valid parameters for right
: read, write. The parameter feature
accepts a string containing the name of an act right, please see team rights management in System > Users > Teams in EFS or the online manual.
Request body
{
"feature": "ct42partadm",
"right": "read"
}
Response body
true
POST /efs/privileges/object
Tells if current user has access to an object. See Options > ACL Rights > Object instances
Request body
{
"objectId": 1,
"right": "read"
}
Response body
true
EFS admin user management
DELETE /efs/staff/
Deletes a staff member. A successful request has no response body.
Request body
{
"identifierType": "email",
"identifier": "example@domain.tld"
}
GET /efs/staff/
Return information about the current admin user thats using the service. This method also keeps admin-session alive.
Response body
{
"adminUserId": 1234,
"accountName": "Example",
"firstName": "First",
"lastName": "Last",
"email": "example@domain.tld",
"language": "EN",
"expireDate": "2020-07-02T12:53:50+00:00",
"organisation": 1,
"primaryGroup": 1,
"groups": [
1
]
}
PATCH /efs/staff/
Changes a staff members data. You only need to provide the fields you want to change.
Request body
{
"identifierType": "email",
"identifier": "example@domain.tld",
"changes": {
"firstName": "First",
"lastName": "Last",
"email": "example@domain.tld",
"password": "New Password",
"gender": "NOT_SPECIFIED",
"street": "None",
"zip": "12345",
"city": "Example",
"phone": "+491234567890",
"country": "Germany",
"mobile": "+491234567890",
"language": "EN",
"expireDate": "2024-07-02T12:53:50+00:00",
"organisation": 1,
"primaryTeam": 1,
"teams": [
1
],
"enabled": true,
"mobile2": "+491234567891",
"www": "Some URL",
"comment": "Additional Comment",
"department": "Department info"
}
}
POST /efs/staff/
Create a new staff member for the EFS admin interface. To set the staff members organization you need to have the appropriate right. If no organization is set the staff member will inherit the creating staff members organization. Returns the user id.
Request body
{
"staffMember": {
"identifierType": "email",
"identifier": "example@domain.tld",
"changes": {
"account": "Example",
"firstName": "First",
"lastName": "Last",
"email": "example@domain.tld",
"password": "New Password",
"gender": "NOT_SPECIFIED",
"street": "None",
"zip": "12345",
"city": "Example",
"phone": "+491234567890",
"country": "Germany",
"mobile": "+491234567890",
"language": "EN",
"expireDate": "2024-07-02T12:53:50+00:00",
"organisation": 1,
"primaryTeam": 1,
"teams": [
1
],
"enabled": true,
"mobile2": "+491234567891",
"www": "Some URL",
"comment": "Additional Comment",
"department": "Department info"
}
}
}
Response body
1234
POST /efs/staff/details
Return information about a staff member
Request body
{
"identifierType": "email",
"identifier": "example@domain.tld"
}
Response body
{
"userId": 1234,
"account": "Example",
"firstName": "First",
"lastName": "Last",
"email": "example@domain.tld",
"password": "New Password",
"gender": "NOT_SPECIFIED",
"street": "None",
"zip": "12345",
"city": "Example",
"phone": "+491234567890",
"country": "Germany",
"mobile": "+491234567890",
"language": "EN",
"expireDate": "2020-07-02T12:53:50+00:00",
"organisation": 1,
"primaryTeam": 1,
"teams": [
1
],
"enabled": true,
"mobile2": "Example",
"www": "Example",
"comment": "Example",
"department": "Example"
}
GET /efs/staff/list
Returns a list of all EFS staff members
Response body
[
{
"adminUserId": 1234,
"accountName": "Example",
"firstName": "First",
"lastName": "Last",
"email": "example@domain.tld",
"language": "EN",
"expireDate": "2020-07-02T12:53:50+00:00",
"organisation": 1,
"primaryGroup": 1,
"groups": [
1
]
}
]
POST /efs/staff/mail
Sends email to the specified EFS admin user
Request body
{
"identifierType": "email",
"identifierValue": "example@domain.tld",
"mailTemplateData": {
"meta": {
"description": "Example message",
"type": "default_mail",
"site_id": "7",
"active": true
},
"content": {
"from": "example@domain.tld",
"subject": "Example message",
"format": "TEXT",
"text_content": "Dear user, \r\n\r\nyou have a new message.",
"attachments": false
},
"options": {
"charset": "ISO-8859-1",
"reply_to": "example@domain.tld",
"return_path": "example@domain.tld",
"to_realname": false,
"send_copy": false,
"priority": "NO_PRIORITY",
"sensitivity": "NORMAL",
"notify": "NO_NOTIFICATION"
}
}
}
Response body
true
PATCH /efs/staff/role
Alters a staff members role within a given team
Request body
{
"userId": 1,
"teamId": 1,
"newRole": "MEMBER",
"newOwnerUserId": 1
}
Response body
true
System information
GET /efs/system/
determine the version number of the EFS installation
Response body
"20.1"
POST /efs/system/
Returns the current server time, use format
to provide a formatting string (see PHP date() formatting options), otherwise the current unix timestamp will be returned.
Request body
{ "format": "Y-m-d H:i:s" }
Response body
"2020-08-26 13:35:26"
GET /efs/system/load
query the current system's 1-minute load average
Response body
1.345
Other
GET /efs/session/{sessionId}
Get the admin user id for an admin session id Will throw an exception if the session id is invalid or the session is expired
Response body
1234
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
sessionId | string | true | id of admin session. |
GET /efs/taskqueue/{taskId}
Returns json encoded array with either execution-status or (if available) result of asynchronous service-calls for given taskId. Possible values for status: 1 - Task is pending for execution, 2 - Task is currently running, 3 - Task execution failed;
Response body
"2"
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
taskId | integer | true | id of taskqueue task Examples: |
GET /efs/jobs/{jobId}
Query the status of a single EFS job maker job. This service is only enabled in certain use cases for customers.
Response body
"2"
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
jobId | string | true | job id, Example: |
Employee
POST /employee/reports/
Adds a report
Request body
{
"report": {
"report_definition_id": 1234,
"pid": 1234,
"lang_id": 1234,
"report_type": "pdf",
"unit_metaname": "Example",
"file_content": "QmFzZTY0IGVuY29kZWQgYmluYXJ5IGRhdGE=",
"report_label": "Example",
"replace": true,
"report_filename": "Example.pdf"
}
}
Response body
{
"report_definition_id": 1234,
"pid": 1234,
"lang_id": 1234,
"report_type": "pdf",
"unit_metaname": "Example",
"file_content": "QmFzZTY0IGVuY29kZWQgYmluYXJ5IGRhdGE=",
"report_label": "Example",
"replace": true,
"report_filename": "Example.pdf",
"rid": "1234"
}
GET /employee/reports/{surveyId}
Returns the List of Report definitions including report versions for surveyId
Response body
[
{
"report_id": 1234,
"pid": 1234,
"name": "Example",
"title_pattern": "Example",
"template": "Example",
"cat": "Example",
"download_status": "Example",
"file_download_pattern": "Example",
"report_type": 1234,
"number_of_reports": 1234,
"min_participants": 1234,
"min_item": 1234
}
]
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
surveyId | integer | true | id of the panel or masterdata survey Examples: |
GDPR
GET /gdpr/panel/getConsentForm/{localeString}
Returns GDPR consent for given locale string
Response body
{
"content_value": "Example",
"welcome_text_value": "Example",
"title_headline": "Example",
"contact_us_headline_headline": "Example",
"company_name_value": "Example",
"contact_detail_value": "Example",
"representative_headline": "Example",
"representative_value": "Example",
"data_scope_headline": "Example",
"data_scope_value": "Example",
"data_category_headline": "Example",
"data_category_value": "Example",
"legal_basis_headline": "Example",
"legal_basis_value": "Example",
"recipient_headline": "Example",
"recipient_value": "Example",
"transfer_data_headline": "Example",
"transfer_data_value": "Example",
"contractual_requirement_headline": "Example",
"contractual_requirement_value": "Example",
"auto_decision_headline": "Example",
"auto_decision_value": "Example",
"info_subject_headline": "Example",
"info_subject_value": "Example",
"info_withdrawal_headline": "Example",
"info_withdrawal_value": "Example",
"info_supervisor_headline": "Example",
"info_supervisor_value": "Example",
"contact_officer_headline": "Example",
"contact_officer_value": "Example",
"data_retention_headline": "Example",
"data_retention_value": "Example"
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
localeString | string | true | Language string, Examples: |
POST /gdpr/panel/setConsentForm
Set content of GDPR consent for given locale string
Request body
{
"localeString": "de_DE",
"consentData": {
"content_value": "Example",
"welcome_text_value": "Example",
"title_headline": "Example",
"contact_us_headline_headline": "Example",
"company_name_value": "Example",
"contact_detail_value": "Example",
"representative_headline": "Example",
"representative_value": "Example",
"data_scope_headline": "Example",
"data_scope_value": "Example",
"data_category_headline": "Example",
"data_category_value": "Example",
"legal_basis_headline": "Example",
"legal_basis_value": "Example",
"recipient_headline": "Example",
"recipient_value": "Example",
"transfer_data_headline": "Example",
"transfer_data_value": "Example",
"contractual_requirement_headline": "Example",
"contractual_requirement_value": "Example",
"auto_decision_headline": "Example",
"auto_decision_value": "Example",
"info_subject_headline": "Example",
"info_subject_value": "Example",
"info_withdrawal_headline": "Example",
"info_withdrawal_value": "Example",
"info_supervisor_headline": "Example",
"info_supervisor_value": "Example",
"contact_officer_headline": "Example",
"contact_officer_value": "Example",
"data_retention_headline": "Example",
"data_retention_value": "Example"
}
}
Response body
true
GET /gdpr/survey/{surveyId}/{languageId}
Returns GDPR consent for given surveyId and languageId
Response body
{
"content_value": "Example",
"welcome_text_value": "Example",
"title_headline": "Example",
"contact_us_headline_headline": "Example",
"company_name_value": "Example",
"contact_detail_value": "Example",
"representative_headline": "Example",
"representative_value": "Example",
"data_scope_headline": "Example",
"data_scope_value": "Example",
"data_category_headline": "Example",
"data_category_value": "Example",
"legal_basis_headline": "Example",
"legal_basis_value": "Example",
"recipient_headline": "Example",
"recipient_value": "Example",
"transfer_data_headline": "Example",
"transfer_data_value": "Example",
"contractual_requirement_headline": "Example",
"contractual_requirement_value": "Example",
"auto_decision_headline": "Example",
"auto_decision_value": "Example",
"info_subject_headline": "Example",
"info_subject_value": "Example",
"info_withdrawal_headline": "Example",
"info_withdrawal_value": "Example",
"info_supervisor_headline": "Example",
"info_supervisor_value": "Example",
"contact_officer_headline": "Example",
"contact_officer_value": "Example",
"data_retention_headline": "Example",
"data_retention_value": "Example",
"data_retention_type": "YEAR",
"data_retention_amount": 1
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
surveyId | integer | true | Survey Id Examples: |
languageId | integer | true | Language Id Examples: |
POST /gdpr/survey/{surveyId}/{languageId}
Set content of GDPR consent for given surveyId and languageId
Request body
{
"consentData": {
"content_value": "Example",
"welcome_text_value": "Example",
"title_headline": "Example",
"contact_us_headline_headline": "Example",
"company_name_value": "Example",
"contact_detail_value": "Example",
"representative_headline": "Example",
"representative_value": "Example",
"data_scope_headline": "Example",
"data_scope_value": "Example",
"data_category_headline": "Example",
"data_category_value": "Example",
"legal_basis_headline": "Example",
"legal_basis_value": "Example",
"recipient_headline": "Example",
"recipient_value": "Example",
"transfer_data_headline": "Example",
"transfer_data_value": "Example",
"contractual_requirement_headline": "Example",
"contractual_requirement_value": "Example",
"auto_decision_headline": "Example",
"auto_decision_value": "Example",
"info_subject_headline": "Example",
"info_subject_value": "Example",
"info_withdrawal_headline": "Example",
"info_withdrawal_value": "Example",
"info_supervisor_headline": "Example",
"info_supervisor_value": "Example",
"contact_officer_headline": "Example",
"contact_officer_value": "Example",
"data_retention_headline": "Example",
"data_retention_value": "Example",
"data_retention_type": "YEAR",
"data_retention_amount": 1
}
}
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
surveyId | integer | true | Survey Id Examples: |
languageId | integer | true | Language Id Examples: |
DELETE /gdpr/survey/{surveyId}
Deletes personal data of all participants for given surveyId
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
surveyId | integer | true | Survey Id Examples: |
Leadership
POST /loft/participants/pool/{sampleId}
add multiple feedback-participants from a CSV file to the participants pool using data from a CSV file. note this operation works on surveys of type "leadership" only
Request body
{
"csvData": "CSV content",
"returnIdentifierType": "u_email",
"mappingColumn": "u_email"
}
Response body
{
"successful": 1,
"failed": 1,
"failedRows": [
{
"line": 1234,
"value": "Example",
"errors": [
{
"column": "Example",
"value": "Example",
"details": [
{
"code": "Example",
"translated": "Example",
"type": 1234
}
]
}
]
}
],
"returnIdentifiers": [
{
"internalReturnValue": "u_email",
"externalReturnValue": "u_email"
}
]
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
sampleId | integer | true | id of sample to add the participants to Examples: |
POST /loft/participants/{sampleId}
add multiple feedback-provider and -receiver from a CSV file to a feedback-wave using data from a CSV file. note this operation works on surveys of type "leadership" only
Request body
{
"waveId": 1,
"csvData": "CSV Import data",
"returnIdentifierType": "u_email",
"mappingColumn": "Mail"
}
Response body
{
"successful": 1,
"failed": 1,
"failedRows": [
{
"line": 1,
"value": "Example",
"errors": [
{
"column": "Example",
"value": "Example",
"details": [
{
"code": "Example",
"translated": "Example",
"type": 1234
}
]
}
]
}
],
"returnIdentifiers": [
{
"internalReturnValue": "u_email",
"externalReturnValue": "Mail"
}
]
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
sampleId | integer | true | id of sample to add the participants to Examples: |
GET /loft/participants/{project_id}/{fid}
Get feedback center user data
Response body
"Encoded Feedback Center data"
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
project_id | integer | true | Efs project id Examples: |
fid | integer | true | Feedback center user id Examples: |
GET /loft/participants/{project_id}/{fid}/{token}
Check if user has access to feedback center for project
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
project_id | integer | true | Efs project id Examples: |
fid | integer | true | Feedback center user id Examples: |
token | string | true | token to validate request at data voyager Examples: |
MySight
PATCH /mysight/groups/{instanceId}
Updates additional data of configured panel groups for given mySight instance
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
instanceId | integer | true | mySight instanceId Examples: |
People Module / Panel
Panel circles
POST /panel/circles/
Adds a new panel circle (portals group), used in Portals
Request body
{
"circleInitData": {
"title": "People in my organization",
"circleAccessType": "PRIVATE",
"matchVar": "m_gcid_recode",
"matchAgainstVar": "m_gcid_recode",
"panelGroupId": 1,
"startDateTime": "2021-01-09 09:00:00",
"intervalType": "DAY",
"intervalValue": 1
}
}
Response body
{
"circleId": 123,
"title": "People in my organization",
"circleType": "COMPANY_MANAGED",
"circleAccessType": "PRIVATE",
"circleProcessStatus": "IDLE"
}
POST /panel/circles/generate/{id}
Generates a company managed panel circle (portals group)
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | id of panel circle Examples: |
POST /panel/circles/listByCondition
Returns a list of panel circle objects to given logical condition. See filtering results with conditions for help on building conditions.
Request body
{
"condition": {
"join": {
"operator": "AND",
"condition1": {
"comparison": {
"variable" : "circleType",
"operator" : "EQUAL",
"value" : "USER_MANAGED"
}
},
"condition2": {
"inComparison": {
"variable": "circleAccessType",
"operator": "IN",
"value": ["PUBLIC", "PRIVATE"]
}
}
}
},
"offset": 0,
"limit": 10
}
Response body
[
{
"circleId": 1,
"title": "Example",
"circleType": "USER_MANAGED",
"circleAccessType": "PRIVATE",
"circleProcessStatus": "IDLE"
}
]
DELETE /panel/circles/{id}
Deletes a panel circle
Response body
true
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | id of panel circle Examples: |
GET /panel/circles/{id}
Returns panel circle object to given circle ID
Response body
{
"circleId": 1,
"title": "Example",
"circleType": "USER_MANAGED",
"circleAccessType": "PRIVATE",
"circleProcessStatus": "IDLE"
}
URI Parameters
Name | Type | Required | Description |
---|
Name | Type | Required | Description |
---|---|---|---|
id | integer | true | id of panel circle Examples: |
Related content
© 2024 Tivian XI GmbH