# Overview
Welcome to the Dropthought Platform API.
DropThought Platform uses API key to allow access to their Platform via API.
You can request a new API key from our Customer Support Team.
Notice
This document, including all contents herein, and the Dropthought Platform API are the confidential information and the intellectual property of Dropthought and are not to be distributed or otherwise made available to any third party. The Dropthought Platform API, and your use of the Dropthought Platform API, is governed by and subject to the Dropthought Services Terms of Use.
# Considerations
The Dropthought Platform API is REST based and uses the JSON format for requests and responses.
Where a dynamic value is required in the examples below, the {token} format is used, suggesting that the caller needs to supply the appropriate value of the token in question (without including the { or } characters).
Where curl examples are given, the –d @filename.json approach is used, indicating that the request body should be placed into a file named filename.json in the current directory. Each of the curl examples in this document should be considered a single line on the command-line, regardless of how they appear in print.
# Authentication
POST /api/authenticate/login
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| String | false | email account of the registered user | |
| password | String | false | password associated with the registered email in the platform |
# Response fields
| Path | Type | Description |
|---|---|---|
| result.accessToken | string | token to be used in header as authorization bearer for api |
| result.refreshToken | string | token to renew the access token |
| success | boolean | true (or) false |
# Example Request
curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/authenticate/login' \
-H 'Content-Type: application/json' \
-d '{"email": "{email}", "password": "{password}"'
# Example Response
{
"result": {
"accessToken": "abcdefZYXg",
"refreshToken": "abcdefZYXgwerwe"
},
"success": true
}
Once Dropthought backoffice staff have added your organization as a payor within the Dropthought platform sandbox, they will create you a payor Id, an API key and an API secret and share these with you in a secure manner.
You will need to use these values to authenticate with the Dropthought platform in order to gain access to the APIs. The steps to take are explained in the following:
create a string comprising the API key (e.g. abcdef) and API secret (e.g. 123456) with a colon between them. E.g. abcdef:123456
base64 encode this string. E.g.: YWJjZGVmOjEyMzQ1Ngo=
create an HTTP Authorization header with the value set to e.g. Basic YWJjZGVmOjEyMzQ1Ngo=
perform the Dropthought authentication REST call using the HTTP header created above e.g. via curl:
# Token Management
# Renew
POST /api/token/renew
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| refreshToken | String | false | refresh token to renew the access token |
# Response fields
| Path | Type | Description |
|---|---|---|
| accessToken | string | token to be used in header as authorization bearer for api |
| refreshToken | string | token to renew the access token |
# Example Request
curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/token/renew' \
-H 'Content-Type: application/json' \
-d '{"refreshToken": "{abcdefZYXgwerwe}"'
# Example Response
{
"accessToken": "abcdefZYXg",
"refreshToken": "abcdefZYXgwerwe"
}
# Account
# Reset Password
POST /api/authenticate/resetpassword
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| password | string | false | the new password for the user |
| modifiedBy | string | false | unique id of the user |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
"password": "Dropthou**&&**12", \
"modifiedBy": "d9be090a-****-****-bda1-be94eac6b401" \
}' 'https://{environment}/dtapp/api/authenticate/resetpassword'
# Example Response
{
"success": true
}
# Get Access Token Details
GET /api/account/accesstoken
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | authentication | authentication object |
# Authentication object
| Path | Type | Description |
|---|---|---|
| roleId | int | role id of the user (1-admin, 2-read only, 3-read write) |
| eulaStatus | int | eula status |
| userUUID | string | unique id of the user |
| businessUUID | string | unique id of the business |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' 'https://{environment}/dtapp/api/account/accesstoken'
# Example Response
{
"result": {
"roleId": 1,
"eulaStatus": 1,
"userUUID": "820b175e-****-****-acfe-b0e55ed6904f",
"businessUUID": "34f48e9a-****-****-b9a5-89d947196a2e"
},
"success": true
}
# Get User Account
GET /api/user/:userUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userUniqueId | string | Unique identifier of user |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | user | user object |
# User object
| Path | Type | Description |
|---|---|---|
| user_id | int | unique id of the user |
| country_id | int | unique id of the country |
| username | string | username |
| first_name | string | first name of the user |
| last _name | string | last name of the user |
| user_email | string | email of the user |
| phone | string | phone number of the user |
| confirmation_status | string | flag indicating confirmation status |
| push_notification | string | flag indicating push notification status |
| created_time | datetime | user creation date and time |
| modified_time | datetime | user updation date and time |
| user_uuid | string | unique id of the user |
| eula_status | string | flag indicating the eula status |
| business_id | int | business id of the user |
| profile_type | string | profile type of the user |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/user/ab7e4d4d-***-****-b659-6676ee3fa87c'
# Example Response
{
"result": [{
"user_id": 7,
"country_id": 4,
"first_name": "A***e",
"last_name": "A******i",
"username": "a***@dropthought.com",
"user_email": "a***@dropthought.com",
"phone": "4*********5",
"confirmation_status": "1",
"push_notification": "0",
"created_time": "2019-06-10 06:28:39",
"modified_time": "2019-11-21 11:36:33",
"user_uuid": "ab7e4d4d-****-****-b659-6676ee3fa87c",
"eula_status": "1",
"business_id": 7,
"profile_type": "Admin"
}],
"success": true
}
# Update User Account
PUT /api/user/:userUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userUniqueId | string | Unique identifier of user |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| firstName | string | true | first name of the user |
| lastName | string | true | last name of the user |
| pushNotification | string | true | push notification setting (1-enable, 0-disable ) |
| userEmail | string | true | user email of the user |
| username | string | true | user name of the user |
| roleId | int | true | user role (1-admin, 2-read only, 3-read write ) |
| modifiedBy | string | true | unique id of the user who is updating the user |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | user | user object |
# User object
| Path | Type | Description |
|---|---|---|
| user_id | int | unique id of the user |
| country_id | int | unique id of the country |
| username | string | username |
| first_name | string | first name of the user |
| last _name | string | last name of the user |
| user_email | string | email of the user |
| phone | string | phone number of the user |
| confirmation_status | string | flag indicating confirmation status |
| push_notification | string | flag indicating push notification status |
| created_time | datetime | user creation date and time |
| modified_time | datetime | user updation date and time |
| user_uuid | string | unique id of the user |
| eula_status | string | flag indicating the eula status |
| business_id | int | business id of the user |
| profile_type | string | profile type of the user |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"firstName": "A***e", \
"lastName": "A****", \
"userEmail": "a***e%40yopmail.com", \
"username": "a***%40yopmail.com", \
"pushNotification": 1, \
"roleId": 1, \
"modifiedBy": "a9b65e9b-****-****-bd88-2cd04c25c82b" \
}' 'https://{environment}/dtapp/api/user/a9b65e9b-****-****-bd88-2cd04c25c82b'
# Example Response
{
"success": true,
"result": [{
"user_id": 115,
"country_id": 4,
"full_name": "A***",
"first_name": "******",
"last_name": "A***",
"username": "a***@yopmail.com",
"user_email": "a**@yopmail.com",
"phone": "408*******0",
"confirmation_status": "1",
"push_notification": "1",
"created_time": "2019-06-10 06:28:39",
"modified_time": "2019-11-21 11:36:33",
"user_uuid": "a9b65e9b-5c93-****-****-2cd04c25c82b",
"eula_status": "1",
"business_id": 70,
"profile_type": "Admin"
}]
}
# Get Account Settings
GET /api/settings/business/:businessUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| businessUniqueId | string | Unique identifier of business |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | settings | settings object |
# Settings object
| Path | Type | Description |
|---|---|---|
| string | 1 - enable email notifications, 0 - disable email notifications | |
| sms | string | 1 - enable sms notifications, 0 - disable sms notifications |
| qrcode | string | 1 - display qrcode, 0 - hide qrcode |
| logic | string | 1 - enable skip logic, 0 - disable skip logic |
| respondent | string | 1 - enable respondents screen, 0 - disable respondents screen |
| segment | string | 1 - enable respondents screen, 0 - disable respondents screen |
| shareLink | string | 1 - enable respondents screen, 0 - disable respondents screen |
| textAnalytics | string | 1 - enable respondents screen, 0 - disable respondents screen |
| businessLogo | string | business Logo as base64 string |
| businessTheme | string | hexadecimal color theme for the end user |
| businessRatings | string | business ratings which were enabled |
| businessEmailAlert | string | 1 - send emails for account users, 0 - prevent emails for business users |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/settings/business/54aa0a2e-****-****-8ed7-a329bce02199'
# Example Response
{
"success": true,
"result": [{
"email": "1",
"sms": "1",
"qrcode": "1",
"logic": "0",
"respondent": "1",
"segment": "1",
"shareLink": "1",
"textAnalytics": "0",
"businessLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAA",
"businessTheme": "#6f5bb7",
"businessRatings": "4:5:6:7:8:9:10",
"businessEmailAlert": "0"
}]
}
# Update Account Settings
PUT /api/settings/business/:businessUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| businessUniqueId | string | Unique identifier of business |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| string | true | 1 - enable email notifications, 0 - disable email notifications | |
| sms | string | true | 1 - enable sms notifications, 0 - disable sms notifications |
| qrcode | string | true | 1 - display qrcode, 0 - hide qrcode |
| logic | string | true | 1 - enable skip logic, 0 - disable skip logic |
| respondent | string | true | 1 - enable respondents screen, 0 - disable respondents screen |
| segment | string | true | 1 - enable respondents screen, 0 - disable respondents screen |
| shareLink | string | true | 1 - enable respondents screen, 0 - disable respondents screen |
| textAnalytics | string | true | 1 - enable respondents screen, 0 - disable respondents screen |
| businessLogo | string | true | business Logo as base64 string |
| businessTheme | string | true | hexadecimal color theme for the end user |
| businessRatings | string | true | business ratings which were enabled |
| businessEmailAlert | string | true | 1 - send emails for account users, 0 - prevent emails for business users |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | settings | settings object |
# Settings object
| Path | Type | Description |
|---|---|---|
| string | 1 - enable email notifications, 0 - disable email notifications | |
| sms | string | 1 - enable sms notifications, 0 - disable sms notifications |
| qrcode | string | 1 - display qrcode, 0 - hide qrcode |
| logic | string | 1 - enable skip logic, 0 - disable skip logic |
| respondent | string | 1 - enable respondents screen, 0 - disable respondents screen |
| segment | string | 1 - enable respondents screen, 0 - disable respondents screen |
| shareLink | string | 1 - enable respondents screen, 0 - disable respondents screen |
| textAnalytics | string | 1 - enable respondents screen, 0 - disable respondents screen |
| businessLogo | string | business Logo as url |
| businessTheme | string | hexadecimal color theme for the end user |
| businessRatings | string | business ratings which were enabled |
| businessEmailAlert | string | 1 - send emails for account users, 0 - prevent emails for business users |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"email": "1", \
"sms": "1", \
"qrcode": "1", \
"logic": "0", \
"respondent": "1", \
"segment": "1", \
"shareLink": "1", \
"textAnalytics": "0", \
"businessLogo": "data:image/png;base64,iVBORw0KGgoAA", \
"businessTheme": "#6f5bb7", \
"businessRatings": "4:5:6:7:8:9:10", \
"businessEmailAlert": "0" \
}' 'https://{environment}/dtapp/api/settings/business/54aa0a2e-****-****-8ed7-a329bce02199'
# Example Response
{
"success": true,
"result": [{
"email": "1",
"sms": "1",
"qrcode": "1",
"logic": "0",
"respondent": "1",
"segment": "1",
"shareLink": "1",
"textAnalytics": "0",
"businessLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAA",
"businessTheme": "#6f5bb7",
"businessRatings": "4:5:6:7:8:9:10",
"businessEmailAlert": "0"
}]
}
# Get Business Configurations
GET /businessconfig/business/:businessId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| businessId | string | unique identifier of business |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | result | map containing business config |
# result object
| Path | Type | Description |
|---|---|---|
| string | 1 - enable email publish , 0 - disable email publish | |
| sms | string | 1 - enable sms publish , 0 - disable sms publish |
| qrcode | string | 1 - enable qrcode publish , 0 - disable qrcode publish |
| shareLink | string | 1 - enable shareabe link publish , 0 - disable shareable link publish |
| kiosk | string | 1 - enable kiosk publish , 0 - disable kiosk publish |
| logic | string | 1 - enable skip logic, 0 - disable skip logic |
| respondent | string | 1 - enable respondents screen, 0 - disable respondents screen |
| segment | string | 1 - enable segments , 0 - disable segments |
| textAnalytics | string | 1 - enable text analytics , 0 - disable text analytics |
| metadataQuestion | string | 1 - enable metadata question , 0 - disable metadata question |
| contractStartDate | string | business contract start date |
| contractEndDate | string | business contract end date |
| businessConfigId | string | unique identifier of business config |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/businessconfig/business/d2960650-****-****-94b8-91243f780e13'
# Example Response
{
"result": {
"email": "1",
"sms": "1",
"qrcode": "1",
"logic": "1",
"respondent": "1",
"segment": "1",
"kiosk": "1",
"businessConfigId": "8636a5e4-****-****-90f3-c7b25a3c6d6c",
"businessId": 21,
"sharableLink": "1",
"textAnalytics": "1",
"metadataQuestion": "1",
"contractStartDate": "2020-05-25 21:02:30.0",
"contractEndDate": ""
},
"success": true
}
# Program
# Get Programs
GET /api/programs
# Path Parameters
No Parameters
# Query Parameters
| Path | Type | Description |
|---|---|---|
| state | string | active (or) drafts (or) scheduled |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[program] | array of program objects |
# program object
| Path | Type | Description |
|---|---|---|
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| language | en | current language of program object |
| languages | array[language] | list of language the program is authored |
| pages | array[page] | page objects |
| rules | rule | rule object |
| state | string | current state of program |
| surveyEndDate | datetime | program expires at the given date & time |
| surveyId | string | unique id of program entity |
| surveyName | string | name of the program |
| surveyProperty | object | describes the program properties like logo and color |
| timezone | string | timezone of the program to be triggered |
| surveyStartDate | datetime | program gets activated at the given date & time |
| thankYouText | string | thank you note for the program |
| welcomeText | string | welcome message for the program |
# survey property object
| Path | Type | Description |
|---|---|---|
| image | string | byte array of logo to be displayed in the program header |
| hexCode | string | hex color code of the program header |
# language object
| Name | Type | Description |
|---|---|---|
| en | string | english |
| ar | string | arabic |
# page object
| Name | Type | Description |
|---|---|---|
| pageId | string | unique id of the page |
| pageTitle | string | title of the page in the program |
| questions | array[question] | question objects |
# rules object
| Name | Type | Description |
|---|---|---|
| id | string | unique id of rule ( purely for UI) |
| toPageId | string | unique page id |
| condition | string | unique question id + operator(ansr , nasr , answ , nasw) |
| mode | string | noChange ( purely for UI ) |
# operators object
| Name | Type | Description |
|---|---|---|
| ansr | string | answered |
| nasr | string | not answered |
| answ | string | answered with index answ. |
| nasw | string | not answered with index answ. |
# question object
| Name | Type | Description |
|---|---|---|
| category | string | create the question against a category |
| mandatory | boolean | question is mandatory in the page of program |
| options | array[string] | string answer labels for question |
| questionBrand | string | indicate brand name in NPS question or indicate multiple choice question taking "other" responses |
| questionId | string | unique id of the page |
| questionTitle | string | the question for which an answer is expected |
| scale | string | scale of the rating or slider |
| subType | string | applicable only for rating question (smiley or slider) |
| type | string | type of question ( rating , multiChoice , singleChoice , open) |
# Example Request
curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/programs?state=all' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
# Example Response
{
"result": [{
"anonymous": false,
"language": "en",
"languages": [
"en"
],
"pageOrder": [
"b5d37ea6-9dbc-4f47-a918-cd61c2d4699b"
],
"pages": [{
"pageId": "b5d37ea6-9dbc-4f47-a918-cd61c2d4699b",
"pageTitle": "Mandatory Questions",
"questions": [{
"category": "metric 5",
"mandatory": false,
"options": [
"Strongly Disagree",
"Disagree",
"Neutral",
"Agree",
"Strongly Agree"
],
"questionBrand": "",
"questionId": "2a6c8366-43a6-4a59-af26-e98311809d47",
"questionTitle": "Rating question",
"scale": "5",
"subType": "slider",
"type": "rating"
},
{
"mandatory": false,
"questionBrand": "",
"questionId": "ca1486d9-ec64-4f4f-9192-67105e68689a",
"questionTitle": "open question",
"scale": "0",
"type": "open"
}
]
}],
"rules": {},
"state": "active",
"surveyEndDate": "2020-10-08 07:25:47",
"surveyId": "898b0023-27c0-40ea-8cda-3234396767b6",
"surveyName": "Test source of the feedback",
"surveyProperty": {
"image": "data:image/png;base64,iVBORw0KGgoAAAANS",
"hexCode": "#6f5ba7"
},
"surveyStartDate": "2019-10-08 07:25:47",
"surveyStatus": "active",
"thankYouText": "",
"timezone": "America/Los_Angeles",
"welcomeText": ""
},
{
"anonymous": false,
"language": "en",
"languages": [
"en"
],
"pageOrder": [
"507365c9-118c-4ca1-bcc7-c3451ef3614f"
],
"pages": [{
"pageId": "507365c9-118c-4ca1-bcc7-c3451ef3614f",
"pageTitle": "Mandatory Questions",
"questions": [{
"mandatory": false,
"options": [
"Poor",
"Fair",
"Good",
"Excellent"
],
"questionId": "a56145da-b3c7-47c0-9ebd-b2c3367ad463",
"questionTitle": "rating question",
"scale": "4",
"subType": "slider",
"type": "rating"
},
{
"mandatory": false,
"questionBrand": "",
"questionId": "99a684a8-a27f-4697-b88e-0958c58f4cb1",
"questionTitle": "open question",
"scale": "0",
"type": "open"
},
{
"mandatory": false,
"options": [
"Not at all Likely",
"Extremely Likely"
],
"questionBrand": "Company A",
"questionId": "638106f6-a2e2-47f5-8bad-6dec61a9bb14",
"questionTitle": "On a scale of 0-10, how likely are you to recommend our business to a friend or colleague?",
"scale": "11",
"subType": "slider",
"type": "nps"
}, {
"mandatory": true,
"metaDataType": null,
"options": [
"A",
"B",
"C"
],
"questionBrand": "other",
"questionId": "aec40991-ba7e-4027-aada-55788c72f072",
"questionTitle": "Multiple choice",
"scale": "3",
"type": "multiChoice"
}
]
}],
"rules": {},
"state": "active",
"surveyEndDate": "2020-09-30 03:48:21",
"surveyId": "48e04f7b-8e1e-430d-99b9-b8e592f92082",
"surveyName": "test anonymous with nps",
"surveyProperty": {
"image": "data:image/png;base64,iVBORw0",
"hexCode": "#6f5ba7"
},
"surveyStartDate": "2019-09-30 03:48:21",
"surveyStatus": "active",
"thankYouText": "",
"timezone": "America/Los_Angeles",
"welcomeText": ""
}
],
"success": true
}
# Get Program By Id
GET /api/programs/:programUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programUniqueId | string | Unique identifier of program |
# Query Parameters
| Path | Type | Description |
|---|---|---|
| language | string | en or ar to get respective program object |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | program | program object |
# survey object
| Path | Type | Description |
|---|---|---|
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| language | string | current language of program object |
| languages | array[language] | list of language the program is authored |
| pages | array[page] | page objects |
| rules | rule | rule object |
| surveyEndDate | datetime | program expires at the given date & time |
| surveyId | string | unique id of program entity |
| surveyName | string | name of the program |
| surveyProperty | object | describes the program properties like logo and color |
| timezone | string | timezone of the program to be triggered |
| surveyStartDate | datetime | program gets activated at the given date & time |
| thankYouText | string | thank you note for the program |
| welcomeText | string | welcome message for the program |
# survey property object
| Path | Type | Description |
|---|---|---|
| image | string | byte array of logo to be displayed in the program header |
| hexCode | string | hex color code of the program header |
# language object
| Name | Type | Description |
|---|---|---|
| en | string | english |
| ar | string | arabic |
# page object
| Name | Type | Description |
|---|---|---|
| pageId | string | unique id of the page |
| pageTitle | string | title of the page in the program |
| questions | array[question] | question objects |
# rule object
| Name | Type | Description |
|---|---|---|
| pageId | array[rules] | unique id of the page |
# rules object
| Name | Type | Description |
|---|---|---|
| id | string | unique id of rule ( purely for UI) |
| toPageId | string | unique page id |
| condition | string | unique question id + operator(ansr , nasr , answ , nasw) |
| mode | string | noChange ( purely for UI ) |
# operators object
| Name | Type | Description |
|---|---|---|
| ansr | string | answered |
| nasr | string | not answered |
| answ | string | answered with index answ. |
| nasw | string | not answered with index answ. |
# question object
| Name | Type | Description |
|---|---|---|
| category | string | create the question against a category |
| mandatory | boolean | question is mandatory in the page of program |
| options | array[string] | string answer labels for question |
| questionBrand | string | indicate brand name in NPS question or indicate multiple choice question taking "other" responses |
| questionId | string | unique id of the page |
| questionTitle | string | the question for which an answer is expected |
| scale | string | scale of the rating or slider |
| subType | string | applicable only for rating question (smiley or slider) |
| type | string | type of question ( rating , multiChoice , singleChoice , open) |
# Example Request
curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/programs/{programUniqueId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
# Example Response
{
"success": true,
"result": {
"anonymous": false,
"pages": [{
"pageId": "2a2877b9-c2e2-4418-8068-83f25bb0edf3",
"pageTitle": "Mandatory Questions",
"questions": [{
"category": "6e9355aa-15e3-41de-a796-a79305199bdc",
"mandatory": true,
"options": [
"Poor",
"Excellent"
],
"questionBrand": "",
"questionId": "2086a7ff-ff28-4c0e-8f49-93c228c61bab",
"questionTitle": "Question 1",
"questionTitle": "2",
"scale":"2"
"subType": "slider",
"type": "rating"
},
{
"mandatory": true,
"questionId": "ae9c6046-c4a4-4d8c-9360-a3c0a04b68d5",
"questionTitle": "Question 2",
"type": "open"
}
]
}],
"surveyEndDate": "2019-12-30 23:59:59",
"surveyId": "5daf5b6f-fe4e-4bb3-8d6b-8b284856f935",
"surveyName": "Survey 1",
"surveyProperty": {
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAA",
"hexCode": "#6f5ba7"
},
"surveyStartDate": "2018-12-17 05:22:16",
"thankYouText": "Thank you for taking the survey",
"timezone": "America/Los_Angeles",
"welcomeText": "Welcome to the survey"
}
}
# Hide Program by Id
PUT /api/program/:programid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| toValidate | boolean | true | flag to indicate whether to validate the program or not |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| hide | boolean | false | flag to indicate whether to hide or unhide program |
| anonymous | boolean | false | indicates whether survey is anonymous or not |
| language | string | false | language of the program |
| surveyId | string | false | unique identifier of program |
| surveyName | string | false | name of the program |
| timezone | string | false | timezone of the program |
| surveyProperty | object | false | describes the program properties like logo and color |
# survey property object
| Path | Type | Description |
|---|---|---|
| image | string | url of logo to be displayed in the program header |
| hexCode | string | hex color code of the program header |
| fileName | string | file name of the logo |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"anonymous": true, \
"hide": true, \
"language": "en", \
"surveyId" : "9220f9b4-****-****-ac69-b85310996297", \
"surveyName": "Employee Management", \
"surveyProperty": { \
"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/94e8cc24-62cf-44fc-bcfc-e0e24d067fb8-image.png", \
"hexCode": "#6abeae", \
"fileName": "image (11).png", \
"imageBase64": "" \
}, \
"timezone": "Asia/Calcutta" \
}' 'https://test.dropthought.com/dtapp/api/program/9220f9b4-****-****-ac69-b85310996297?toValidate=false'
# Example Response
{
"success": true,
"result": []
}
# Get Programs Summary
GET /api/v2/programs/summary
# Path Parameters
No Parameters
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| state | string | true | query programs of a particular state (drafts, scheduled, active, expired, all) |
| pageId | int | true | page number for retrieving the programs. -1 if all programs needs to be listed |
| timeZone | string | true | timezone of the user (America/Los_Angeles) |
| sort | string | true | sort the programs in a particular order (dateCreated, responses, recentFeedback, score) |
| search | string | true | search term to look for in a program name |
| language | string | true | language of the program (en) |
| hide | string | true | indicates flag to return non-hidden/hidden/both hidden & non-hidden surveys (0/1/2 Default - 0). 0 - returns non-hidden surveys, 1 - returns hidden surveys. 2 - returns both hidded & non-hidden surveys |
| channel | string | true | holds the value of channel based on which the programs will be returned. By default it will be empty and all the programs will returned irrespective of channel |
# Sample value for channel parameter
| Sample Value | Description |
|---|---|
| kiosk | returns programs which has kiosk as a channel |
| uniqueLinks | returns programs which has unique links as a channel |
| kiosk|email | returns programs which has kiosk (or) emails as a channel |
| email|link|sms | returns programs which has email (or) sms (or) sharable link as a channel |
| email|link|sms|qr|kiosk | returns programs which has email (or) sms (or) sharable link (or) qr code (or) kiosk as a channel |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[program card] | array of program card objects |
# program card object
| Path | Type | Description |
|---|---|---|
| surveyUUID | string | unique uuid of the program |
| surveyId | int | unique id of the program |
| endDate | datetime | program expires at the given date & time |
| programName | string | name of the program |
| feedbackCount | int | total number of responses in the program |
| currentDate | datetime | current date & time |
| startDate | datetime | program gets activated at the given date & time |
| status | string | current status of the program (active/expired) |
| channels | array[string] | channels that are enabled for that program |
| qrEnabled | boolean | specifies whether qrcode is enabled/disabled |
| linkEnabled | boolean | specifies whether sharable link is enabled/disabled |
| pastWeekResponses | int | number of responses collected in the previous week |
| currentWeekResponses | int | number of responses collected in the current week |
| averageCompletionTime | string | average time taken to complete the survey |
| languages | array[string] | available languages of the program |
| surveyFilterUUID | string | data filter applied to the survey |
| advanceScheduleMode | boolean | indicates whether the survey has been published as 'journey' |
| preferredMetric | string | name of the preferred metric set (nps/driven metric) |
| metricScore | double | metric score of the preferred metric (nps/driver metric) |
| metricPercentageChange | double | precentage change of preferred metric (nps/driver metric) |
| metricTrend | array[trends] | metric trend of preferred metric (nps/driver metric) |
# metricTrend object
| Path | Type | Description |
|---|---|---|
| metricTrend | array[string] | first object in the array will be the timestamp in the format (yy-mmm-yyyy), the second object will be the actual metric score (nps/driver metric) |
# metric properties behavior
| Condition | Active program | Expired Program |
|---|---|---|
| Responses present for the current week and past week | metricScore : score for present week, metricTrend : trend for present week, metricPercentage : change will be present | metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A |
| Responses present for the past week and no response for the current week | metricScore : score for past week, metricTrend : N/A, metricPercentage : N/A | metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A |
| Responses present for the present week and no response for the past week | metricScore : score for present week, metricTrend : trend for present week, metricPercentage : change will be present | metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A |
| No responses for the current and past week (Overall feeback count > 0) | metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A | metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'http://localhost:8080/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0'
# Example Request (Hide)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'http://localhost:8080/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=1'
# Example Request (with Channel(1))
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=kiosk'
# Example Request (with Channel(2))
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=kiosk|email'
# Example Request (with Channel(3))
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=link|sms|qr|kiosk|email|uniqueLinks'
# Example Response
{
"result": [
{
"surveyUUID": "f23f863b-****-493d-8043-e635a71c1302",
"surveyId": 212,
"pastWeekResponses": 0,
"metricScore": 50,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-03-10 23:59:59",
"preferredMetric": "NPS - Dropthought",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 2,
"metricPercentageChange": 50,
"linkEnabled": true,
"channels": [
"link",
"email"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Single NPS Test",
"feedbackCount": 2,
"metricTrend": [
[
"Timestamp",
"NPS - Dropthought Score"
],
[
"10-Mar-2021",
50
]
],
"averageCompletionTime": "3-5 m",
"startDate": "2021-03-10 00:00:00",
"status": "Active"
},
{
"surveyUUID": "68ceb7d9-****-4ccd-9978-5703aaffb22c",
"surveyId": 206,
"pastWeekResponses": 0,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-03-03 23:59:59",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 0,
"linkEnabled": true,
"channels": [
"link"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Feedbacks",
"feedbackCount": 0,
"averageCompletionTime": "2 m",
"startDate": "2021-03-03 00:00:00",
"status": "Active"
},
{
"surveyUUID": "2e45e54d-****-4d2c-bc09-8820f41de386",
"surveyId": 204,
"pastWeekResponses": 0,
"metricScore": 0,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-03-03 23:59:59",
"preferredMetric": "NPS",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 1,
"metricPercentageChange": 0,
"linkEnabled": true,
"channels": [
"link",
"email"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Overview Test",
"feedbackCount": 1,
"metricTrend": [
[
"Timestamp",
"NPS Score"
],
[
"03-Mar-2021",
0
]
],
"averageCompletionTime": "2 m",
"startDate": "2021-03-03 00:00:00",
"status": "Active"
},
{
"surveyUUID": "77fb4e92-****-4622-aa10-736fdaed2b46",
"surveyId": 203,
"pastWeekResponses": 0,
"metricScore": 100,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-03-03 23:59:59",
"preferredMetric": "NPS",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 1,
"metricPercentageChange": 100,
"linkEnabled": true,
"channels": [
"link",
"email"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "overview check",
"feedbackCount": 1,
"metricTrend": [
[
"Timestamp",
"NPS Score"
],
[
"03-Mar-2021",
100
]
],
"averageCompletionTime": "2 m",
"startDate": "2021-03-03 00:00:00",
"status": "Active"
},
{
"surveyUUID": "4debd346-****-4066-ac2f-9b43059b864a",
"surveyId": 201,
"pastWeekResponses": 3,
"metricScore": 33.4,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-03-02 23:59:59",
"preferredMetric": "NPS - Product",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 0,
"linkEnabled": false,
"channels": [
"email"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "top bottom check",
"feedbackCount": 3,
"averageCompletionTime": "2 m",
"startDate": "2021-03-02 00:00:00",
"status": "Active"
},
{
"surveyUUID": "8e95a543-****-4495-b8db-382206c08295",
"surveyId": 199,
"pastWeekResponses": 1,
"metricScore": -100,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-02-26 23:59:59",
"preferredMetric": "NPS - Product",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 2,
"metricPercentageChange": -200,
"linkEnabled": true,
"channels": [
"link"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Employee Feedback",
"feedbackCount": 3,
"metricTrend": [
[
"Timestamp",
"NPS - Product Score"
],
[
"04-Mar-2021",
-100
]
],
"averageCompletionTime": "2 m",
"startDate": "2021-02-26 00:00:00",
"status": "Active"
},
{
"surveyUUID": "5e1b91ed-****-42a9-b91b-cd157a2776d9",
"surveyId": 191,
"pastWeekResponses": 1,
"metricScore": 0,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-02-26 23:59:59",
"preferredMetric": "NPS - Product",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 2,
"metricPercentageChange": -100,
"linkEnabled": true,
"channels": [
"link"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Store Feedback",
"feedbackCount": 3,
"metricTrend": [
[
"Timestamp",
"NPS - Product Score"
],
[
"04-Mar-2021",
0
]
],
"averageCompletionTime": "2 m",
"startDate": "2021-02-26 00:00:00",
"status": "Active"
},
{
"surveyUUID": "c9e980cb-****-4fdb-8bcc-2e9b310d74e6",
"surveyId": 190,
"pastWeekResponses": 3,
"metricScore": 33.4,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-02-25 23:59:59",
"preferredMetric": "NPS",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 0,
"linkEnabled": true,
"channels": [
"link"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "MCQ questions",
"feedbackCount": 3,
"averageCompletionTime": "2 m",
"startDate": "2021-02-25 00:00:00",
"status": "Active"
},
{
"surveyUUID": "1673203f-****-4d4f-bef8-d592e80facc3",
"surveyId": 188,
"pastWeekResponses": 2,
"metricScore": 3,
"enableCard": true,
"languages": [
"en"
],
"endDate": "2022-02-25 23:59:59",
"preferredMetric": "dispatch",
"surveyFilterUUID": "",
"currentDate": "2021-03-10 16:33:32",
"currentWeekResponses": 1,
"metricPercentageChange": 66.7,
"linkEnabled": true,
"channels": [
"link"
],
"surveyFilters": [],
"advanceScheduleMode": false,
"programName": "Metric Test",
"feedbackCount": 3,
"metricTrend": [
[
"Timestamp",
"dispatch"
],
[
"05-Mar-2021",
3
]
],
"metricScale": 3,
"averageCompletionTime": "2 m",
"startDate": "2021-02-25 00:00:00",
"status": "Active"
}
],
"success": true
}
# Get Program Snapshot By Id
GET /program/:programid/snapshot
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | Unique identifier of program |
# Query Parameters
| Path | Type | Description (default) |
|---|---|---|
| language | string | language to get respective program object (en) |
| timezone | string | timezone of the request (America/Los_Angeles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | program map | map of program details |
# program map
| Path | Type | Description |
|---|---|---|
| anonymous | boolean | indicates whether survey is anonymous |
| surveyStatus | string | indicates whether survey is active |
| language | string | requested language of the program |
| languages | array[language] | list of language the program is authored |
| surveyEndDate | datetime | program expires at the given date & time |
| surveyId | string | unique id of program entity |
| surveyName | string | name of the program |
| surveyProperty | object | describes the program properties like logo and color |
| timezone | string | timezone of the program to be triggered |
| surveyStartDate | datetime | program gets activated at the given date & time |
| completionTime | string | average time taken for completion of survey |
| channels | list | list of channels through which program is published (link/sms/email/kiosk/qr) |
| skipLogic | boolean | indicates whether skip logic is present |
| metrics | list[metrics] | details of metrics present in the program |
# survey property object
| Path | Type | Description |
|---|---|---|
| image | string | aws url of the logo to be displayed in the program header |
| hexCode | string | hex color code of the program header |
| fileName | string | file name of the logo uploaded |
# metrics object
| Name | Type | Description |
|---|---|---|
| metricScore | double | indicates score for that particular metric |
| metricName | string | indicates metric name |
| metricScale | int | indicates metric scale |
| metricPercentageChange | double | indicates metric percentage change |
# metric properties behavior
| Condition | Active program | Expired program | Draft/Scheduled program |
|---|---|---|---|
| Responses present for the current week and past week | metricScore : score for present week, metricPercentageChange : change will be present | N/A | metricScore : -, metricPercentageChange : N/A |
| Responses present for the past week and no response for the current week | metricScore : score for past week, metricPercentageChange : N/A | N/A | metricScore : -, metricPercentageChange : N/A |
| Responses present for the present week and no response for the past week | metricScore : score for present week, metricPercentageChange : change will be present | N/A | metricScore : -, metricPercentageChange : N/A |
| No responses for the current and past week (Overall feeback count > 0) | metricScore : score for entire duration, metricPercentageChange : N/A | metricScore : score for entire duration, metricPercentageChange : N/A | metricScore : -, metricPercentageChange : N/A |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/158f6edb-****-****-9d66-63e91cde0acb/snapshot?language=en&timezone=Asia%2FCalcutta'
# Example Response (Active program)
{
"result": {
"surveyStatus": "active",
"surveyId": "158f6edb-****-****-9d66-63e91cde0acb",
"languages": [
"en"
],
"timezone": "Asia/Calcutta",
"language": "en",
"surveyStartDate": "2021-07-09 10:54:48",
"surveyProperty": {
"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
"imageBase64": "",
"fileName": "logo.png",
"hexCode": "#6f5ba7"
},
"completionTime": "2",
"surveyName": "Feedback survey",
"channels": [
"link"
],
"skipLogic": false,
"anonymous": false,
"metrics": [
{
"metricScore": -25,
"metricName": "NPS - BCT",
"metricScale": 11,
"metricPercentageChange": -25
},
{
"metricScore": 0,
"metricName": "NPS - DT",
"metricScale": 11,
"metricPercentageChange": 0
},
{
"metricScore": 2,
"metricName": "Booking",
"metricScale": "5",
"metricPercentageChange": 40
},
{
"metricScore": 3.8,
"metricName": "Employee Needs",
"metricScale": "5",
"metricPercentageChange": 76
},
{
"metricScore": 3.8,
"metricName": "Leadership and Management",
"metricScale": "5",
"metricPercentageChange": 76
},
{
"metricScore": 4,
"metricName": "Online Presence",
"metricScale": "5",
"metricPercentageChange": 80
}
],
"surveyEndDate": "2022-07-09 10:54:48"
},
"success": true
}
# Example Response (Draft program)
{
"result": {
"surveyStatus": "drafts",
"surveyId": "4a6ceb7e-****-****-ae5d-bc30c3ed9e2c",
"languages": [
"en"
],
"timezone": "Asia/Calcutta",
"language": "en",
"surveyStartDate": "2021-07-09 11:47:47",
"surveyProperty": {
"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
"imageBase64": "",
"fileName": "logo.png",
"hexCode": "#6f5ba7"
},
"completionTime": "2",
"surveyName": "Feedback survey Copy 1",
"channels": [],
"skipLogic": false,
"anonymous": false,
"metrics": [
{
"metricScore": "-",
"metricName": "NPS - DT",
"metricScale": 11
},
{
"metricScore": "-",
"metricName": "NPS - BCT",
"metricScale": 11
},
{
"metricScore": "-",
"metricName": "Booking",
"metricScale": "5"
},
{
"metricScore": "-",
"metricName": "Employee Needs",
"metricScale": "5"
},
{
"metricScore": "-",
"metricName": "Leadership and Management",
"metricScale": "5"
},
{
"metricScore": "-",
"metricName": "Online Presence",
"metricScale": "5"
}
],
"surveyEndDate": "2022-07-09 11:47:47"
},
"success": true
}
# Program Filter
# Create Program Filter
POST /api/surveyFilter
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| created_by | string | false | unique id of the user |
| survey_id | string | false | unique id of the program |
| filter_query | string | false | filter query object |
| readable_query | string | false | readable query object |
| filter_name | string | false | name of the program filter |
| temporary_filter | string | false | check for dynamic filter ("0"/"1") |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | result object | array of program objects |
| Path | Type | Description |
|---|---|---|
| filterId | string | unique id of the program filter |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9lDEReSTRNa3dp7CpGTQnIJxMw' -d '{ \
"created_by": "31db4b0b-2c26-49ef-88f1-ea52bd3b501b", \
"survey_id": "d4640a9d-a243-4fa9-a369-ffae0a30ee8b", \
"filter_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni", \
"readable_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni", \
"filter_name": "Name filter", \
"temporary_filter": "0" \
}' 'https://{env}/dtapp/api/surveyFilter'
# Example Response
{
"result": {
"filterId": "5a0732ca-25b8-44c5-be42-02fe42ceb81d"
},
"success": true
}
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' -d '{ \
"created_by": "0e3becae-44f2-4da2-bc3e-14ebc9504096", \
"survey_id": "7027053f-f2d1-4ec3-9042-86160c639f37", \
"filter_query": "question.7027053f-f2d1-4ec3-9042-86160c639f37.8b5e7067-217a-4a13-906e-73d237ab6add.response>0", \
"readable_query": "question.7027053f-f2d1-4ec3-9042-86160c639f37.8b5e7067-217a-4a13-906e-73d237ab6add.response>0", \
"filter_name": "9EB-NzfPRP0aicj1", \
"temporary_filter": "1" \
}' 'https: //test.dropthought.com/dtapp/api/surveyFilter'
# Example Response
{
"result": {
"filterId": "427fecdf-06da-4a3b-9f6a-a0cf14d111d1"
},
"success": true
}
# Update Program Filter
PUT /api/surveyFilter/:surveyFilterUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyFilterUniqueId | string | unique id of the survey filter |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| modified_by | string | false | unique id of the user |
| survey_id | string | false | unique id of the program |
| filter_query | string | false | filter query object |
| readable_query | string | false | readable query object |
| filter_name | string | false | name of the survey filter |
| filter_id | string | false | unique id of the program filter |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| filter_id | string | unique id of the program filter |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9bUvlDEReSTRNa3dp7CpGTQnIJxMw' -d '{ \
"modified_by": "31db4b0b-2c26-49ef-88f1-ea52bd3b501b", \
"survey_id": "d4640a9d-a243-4fa9-a369-ffae0a30ee8b", \
"filter_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Joe", \
"readable_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Joe", \
"filter_name": "Name filter", \
"filter_id": "07b297db-948e-475e-8f67-350bb261ec7b" \
} \
' 'https://{env}/dtapp/api/surveyFilter/07b297db-948e-475e-8f67-350bb261ec7b'
# Example Response
{
"filterId": "07b297db-948e-475e-8f67-350bb261ec7b",
"success": true
}
# Delete Program Filter
Delete /api/surveyFilter/:surveyFilterUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyFilterUniqueId | string | unique id of the survey filter |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Accept: text/html' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/surveyFilter/07b297db-948e-475e-8f67-350bb261ec7b'
# Example Response
{
"success": true
}
# Tags
# Get Tags
GET /tag/user/:userId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userId | string | unique id of the user |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[tag] | array containing user tags |
# tag object
| Path | Type | Description |
|---|---|---|
| id | integer | unique id of the tag |
| tag_name | String | tag name |
| created_time | datetime | tag created date time |
| participant_groups | array | list of participant groups in tag |
| modified_time | datetime | tag modified date time |
| tag_uuid | integer | user identifier of the tag |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/tag/user/0ed3864a-****-****-85c1-2a5db49c1fee'
# Example Response
{
"result": [{
"id": 81,
"tag_name": "ABC_data",
"created_time": "2020-06-24 01:34:00.0",
"participant_groups": "[149, 150, 151, 152]",
"modified_time": "2020-06-24 01:34:00.0",
"tag_uuid": "0fa7691f-****-4**0-8644-5d35654418f0"
},
{
"id": 80,
"tag_name": "locust_check",
"created_time": "2020-06-24 00:39:53.0",
"participant_groups": "[148]",
"modified_time": "2020-06-24 00:39:53.0",
"tag_uuid": "4a94de9e-a**c-4**0-8005-490c75574bc4"
}
]
}
# Get Tag Headers
GET /tag/:tagId/uploadheaders
# Path Parameters
| Path | Type | Description |
|---|---|---|
| tagId | string | unique identifier of tag |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[tag headers] | array containing tag headers |
# headers object
| Path | Type | Description |
|---|---|---|
| result | array[string] | indicates list headers associated with the tag |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/tag/cfe7d127-****-****-9026-dcef670a45db/uploadheaders'
# Example Response
{
"result": [
"Email",
"First Name",
"Last Name",
"ID",
"Status",
"Location",
"Job Title",
"Seniority Years",
"Supervisor Name"
],
"success": true
}
# Get Tag Headers Based on Metadata Type
GET /participant/group/tag/:taguuid/metadata
# Path Parameters
| Path | Type | Description |
|---|---|---|
| taguuid | string | Unique identifier of tag |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| type | string | true | type of metadata (DATE) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[tag headers] | array containing tag headers of mentioned type |
# headers object
| Path | Type | Description |
|---|---|---|
| result | array[string] | indicates list headers associated with the tag of specified metadata type |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/participant/group/tag/98af4beb-****-****-aa95-22bb53d09496/metadata?type=DATE'
# Example Response
{
"result": {
"DATE": [
"Joining date"
]
},
"success": true
}
# Get Programs Based on Tag
GET /tag/:taguuid/surveys
# Path Parameters
| Path | Type | Description |
|---|---|---|
| taguuid | string | Unique identifier of tag |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language of request |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[program names] | array containing programs associated with the tag |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/tag/852a40bc-****-****-b858-8fcda212d7f7/surveys?language=en'
# Example Response
{
"result": [
"Covid 19 Survey",
"Employee Engagement Survey",
"Mood meter Survey",
"Excel upload Program"
],
"success": true
}
# Get Tag Details By Program
GET /tag/survey/:surveyId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyId | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| channel | string | true(email) | type of distribution channel (email/sms) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[tag details] | array containing details associated with the tag |
# tag details
| Path | Type | Description |
|---|---|---|
| sentDate | string | kickoff date of the program |
| sentParticipantGroupsIds | array[int] | group ids of tags associated with the program |
| additionalContacts | int | denotes number of additional contacts added to list |
| tagUUID | string | unique identifier of the tag |
| tagName | string | name of the tag |
| type | string | indicates distribution type (publish/journey/none) |
| newTagContacts | map | details of new contacts added in list {size: denotes number of new contacts, participantGroupId: group id of newly added tag} |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/tag/survey/fbd9c0af-****-4fa4-a64d-aaefe6419648?channel=email'
# Example Response
{
"result": [
{
"sentDate": "2020-10-19 16:01:59",
"sentParticipantGroupsIds": [
471,
455
],
"additionalContacts": 1,
"tagUUID": "852a40bc-****-4280-b858-8fcda212d7f7",
"newTagContacts": {
"size": 1,
"participantGroupId": 473
},
"tagName": "Employee List",
"type": "publish"
}
],
"success": true
}
# Participant
# Create Participant Group
POST v2/participant/group
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| participant | object | false | object with participant details |
| participantGroup | object | true | object with participant group details |
| tagId | object | false | tag id or tag uuid of the list |
# participant object
| Path | Type | Optional | Description |
|---|---|---|---|
| id | int | true | id representing the participant |
| data | array[string] | true | details of the participant |
| header | array[string] | true | header values of the list |
| metadata | array[string] | true | meta data mapping for the header |
| participantUUID | string | true | indicates participant uuid |
# participant group object
| Path | Type | Optional | Description |
|---|---|---|---|
| id | int | true | id representing the participant group |
| active | int | false | status of the participant group |
| name | string | false | name of the participant group |
| participantGroupUUID | string | true | participant group uuid |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[participant group] | participant group details |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"participant": { \
"data": [ \
["John", "john%40dropthought.com", "Chennai"] \
], \
"header": ["Name", "Email", "Location"], \
"metadata": ["NAME", "EMAIL", "String"], \
"cc": "DT" \
}, \
"participantGroup": { \
"active": 1, \
"name": "Store data" \
}, \
"tagId": "7" \
}' 'https://test.dropthought.com/dtapp/api/v2/participant/group'
# Example Response
{
"result": [
{
"id": 7,
"tagName": "Store Data",
"tagUUID": "a98fac6b-****-****-****-870af282b214",
"active": 1,
"participantGroups": "[7]",
"createdBy": 18,
"createdTime": "2020-07-13 11:01:25.0",
"modifiedBy": 0,
"modifiedTime": "2020-07-13 11:01:25.0",
"partcipantGroupUUID": "029b6d1b-****-****-****-cc492750dd92"
}
],
"success": true
}
# Create Participant
POST v2/participant/
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| participantGroupUUID | string | false | Unique identifier of particiant group |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| participant | object | false | object with participant details |
# participant object
| Path | Type | Optional | Description |
|---|---|---|---|
| id | int | true | id representing the participant |
| data | array[string] | true | details of the participant |
| header | array[string] | true | header values of the list |
| metadata | array[string] | true | meta data mapping for the header |
| participantUUID | string | true | indicates participant uuid |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[participant] | participant details |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
\
"data": [ \
"Akshara","Email@email.com","Chennai" \
], \
"header": [ \
"Name","Email","Location" \
], \
\
"metadata": [ \
"Name","Email","String" \
], \
\
}' 'http://test.dropthought.com/dtapp/api/v2/participant?participantGroupUUID=18c7a20f-****-****-****-86157035a423'
# Example Response
{
"result": [
{
"id": 2,
"data": [
"Akshara",
"Email@email.com",
"Chennai"
],
"header": [
"Name",
"Email",
"Location"
],
"metaData": [
"Name",
"Email",
"String"
],
"questionMetadata": null,
"participantUUID": "23e017a2-****-****-****-68dd1fd19e41",
"createdBy": 7,
"createdTime": "2020-07-21 17:44:14.0",
"modifiedBy": null,
"modifiedTime": null
}
],
"success": true
}
# Update Participant
PUT v2/participant/:participantuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| participantUUID | string | false | Unique identifier of particiant |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| participantGroupUUID | string | false | Unique identifier of particiant group |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| participant | object | false | object with participant details |
# participant object
| Path | Type | Optional | Description |
|---|---|---|---|
| id | int | true | id representing the participant |
| data | array[string] | true | details of the participant |
| header | array[string] | true | header values of the list |
| metadata | array[string] | true | meta data mapping for the header |
| participantUUID | string | true | indicates participant uuid |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 0 (or) 1 |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"data":[ \
"meda3", \
"meda3%40dropthought.com", \
"1234566", \
"Female", \
"Alabama", \
"SUV", \
"Hyundai", \
"Credit" \
], \
"participantUUID":"3b34e503-****-****-****-9f82210a0ced", \
"cc":"DT" \
}' 'https://test.dropthought.com/dtapp/api/v2/participant/3b34e503-****-****-****-9f82210a0ced?participantGroupUUID=f4034907-****-****-****-3d8e3fe16b76'
# Example Response
{
"result": 1,
"success": true
}
# Template
# Get template by type
GET /templates
# Path Parameters
No path parameters
# Query Parameters
| Path | Type | Mandatory | Description |
|---|---|---|---|
| type | string | false | type of the template (company, personal, dropthought) |
| language | string | false | language of the template (en, ar, ml, ta) |
| timezone | string | false | timezone of the request (America/Los_Angles) |
| pageid | string | false | page number for retrieving the templates |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[template] | templates list of same type |
| totalPages | integer | total pages count |
# template object
| Path | Type | Description |
|---|---|---|
| active | string | indicates template status(active) |
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| averageCompletionTime | string | average completion time on template card |
| businessId | string | unique identifier of the business |
| language | string | current language of template object |
| languages | array[language] | list of languages the template is designed |
| pageOrder | array[pageId] | list of page Id |
| pages | array[page] | page objects |
| questionsCount | integer | total questions count in template |
| rules | rule | rule object |
| state | string | template state (company, personal, dropthought) |
| status | string | indicates template status (active) |
| templateId | string | unique id of the template |
| templateName | string | template name |
| templateProperty | object | describes the template properties like logo and color |
| templateUUID | string | unique identifier of template |
| thankYouText | string | thank you note for the template |
| timezone | string | timezone of the template |
| usedCount | integer | template used count |
| welcomeText | string | welcome message for the template |
# language object
| Name | Type | Description |
|---|---|---|
| en | string | english |
| ar | string | arabic |
| ta | string | tamil |
| ml | string | malayalam |
# page object
| Name | Type | Description |
|---|---|---|
| pageId | string | unique id of the page |
| pageTitle | string | title of the page in the template |
| questions | array[question] | question objects |
# rules object
| Name | Type | Description |
|---|---|---|
| id | string | unique id of rule ( purely for UI) |
| toPageId | string | unique page id |
| condition | string | unique question id + operator(ansr , nasr , answ , nasw) |
| mode | string | noChange ( purely for UI ) |
# operators object
| Name | Type | Description |
|---|---|---|
| ansr | string | answered |
| nasr | string | not answered |
| answ | string | answered with index answ. |
| nasw | string | not answered with index answ. |
# question object
| Name | Type | Description |
|---|---|---|
| category | string | create the question against a category |
| mandatory | boolean | question is mandatory in the page of program |
| options | array[string] | string answer labels for question |
| questionBrand | string | indicate brand name in NPS question or indicate multiple choice question taking "other" responses |
| questionId | string | unique id of the page |
| questionTitle | string | the question for which an answer is expected |
| scale | string | scale of the rating or slider |
| subType | string | applicable only for rating question (smiley or slider) |
| type | string | type of question ( rating , multiChoice , singleChoice , open) |
# template property object
| Path | Type | Description |
|---|---|---|
| image | string | byte array of logo to be displayed in the template header |
| hexCode | string | hex color code of the program header |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/template/12270d2a-****-****-aafb-40b10a58c820?type=company&language=en&timezone=Asia%2FCalcutta'
# Example Response
{
"success": true,
"result": [{
"active": "active",
"anonymous": false,
"averageCompletionTime": ">8 m",
"businessId": "d2960650-e***-4**b-94b8-91243f780e13",
"language": "en",
"languages": [
"en"
],
"pageOrder": [
"c928e977-db83-4d32-86ca-3c5d79765d4b"
],
"pages": [{
"pageId": "c928e977-db83-4d32-86ca-3c5d79765d4b",
"pageTitle": "First Page",
"questions": [{
"mandatory": true,
"metaDataType": null,
"options": [
"Not at all Likely",
"Extremely Likely"
],
"questionBrand": "BCT",
"questionId": "48b580f3-75fc-4017-91e5-4fd76558c4ca",
"questionTitle": "On a scale of 0 - 10, how likely are you to recommend BCT to a friend or colleague?",
"scale": "11",
"subType": "slider",
"type": "nps"
},
{
"mandatory": true,
"metaDataType": "Name",
"questionBrand": "Type in your answer here",
"questionId": "67707107-34ff-452f-beb0-9a84a7b3dd2c",
"questionTitle": "Enter your name?",
"scale": "0",
"type": "open"
}
]
}],
"questionsCount": 3,
"rules": {
"6e266679-71dd-4631-9624-13f80119db05": [{
"id": "e1w2e3sw-7991-46f8-9bd9-2b4958eb19ao",
"toPageId": "thank-you-page",
"condition": "e1b7e7b1-7991-46f8-9bd9-2b4958eb19a6.answ.9",
"ruleIndex": 0
}]
},
"state": "company",
"status": "active",
"templateId": "35",
"templateName": "Template one",
"templateProperty": {
"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
"hexCode": "#6f5ba7"
},
"templateUUID": "12270d2a-****-4**c-aafb-40b10a58c820",
"thankYouText": null,
"timezone": "Asia/Calcutta",
"usedCount": 0,
"welcomeText": null
}],
"totalPages": 1
}
# Get Template Summary
GET /api/templates/summary
# Path Parameters
No Parameters
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| search | string | true | template name |
| templateType | string | true | type of template (personal, company, dropthought, all) |
| sortString | string | true | sorting order (createdTime, modifiedTime) |
| pageNo | int | true | numeric value of the page, -1 for listing all records |
| exactMatch | boolean | true | exact string match or retrieve all records with matching string |
| language | string | true | language of the program (en) |
| timeZone | string | true | timezone of the request (America/Los_Angles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[template] | array of program objects |
# template object
| Path | Type | Description |
|---|---|---|
| state | string | template type (personal/company/dropthought) |
| questionsCount | int | number of questions in the template |
| averageCompletionTime | string | template completion estimate |
| languages | array[string] | list of languages supported by the template |
| templateUUID | string | unique identifier of the template |
| language | string | language requested |
| templateName | string | name of the template in the language |
| isEnabled | string | (true/false) indicating the template available in the language |
| status | string | status of the template (active/inactive) |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'http://{env}/dtapp/api/templates/summary?templateType=all&sortString=createdTime&pageNo=-1&exactMatch=false&language=en&timezone=America%2FLos_Angeles'
# Example Response
{
"result": [{
"active": "active",
"state": "dropthought",
"questionsCount": 2,
"averageCompletionTime": "2",
"languages": [
"en"
],
"templateUUID": "fbb06de6-b**2-4**b-9eeb-58786dd46b61",
"language": "en",
"templateName": "Dropthought template",
"isEnabled": "true",
"createdBy": "ab7e4d4d-6**3-4**5-b659-6676ee3fa87c",
"status": "active"
},
{
"active": "active",
"state": "company",
"questionsCount": 2,
"averageCompletionTime": "2",
"languages": [
"en"
],
"templateUUID": "fbb06de6-b**2-4**b-9eeb-58786dd46b62",
"language": "en",
"templateName": "performance",
"isEnabled": "true",
"createdBy": "ab7e4d4d-****-4**5-b**9-6676ee3fa87c",
"status": "active"
},
{
"active": "active",
"state": "personal",
"questionsCount": 2,
"averageCompletionTime": "2",
"languages": [
"en"
],
"templateUUID": "33dadaa8-c**3-4**8-8b42-ea5d3d0ac48e",
"language": "en",
"templateName": "sample template",
"isEnabled": "true",
"createdBy": "ab7e4d4d-6**3-4ef5-b**9-6676ee3fa87c",
"status": "active"
}
],
"totalRecords": 3,
"currentPageRecords": 3,
"totalPages": 1
}
# Get template by Id
GET /template/:templateuuid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| templateuuid | string | Unique identifier of template |
# Query Parameters
| Path | Type | Mandatory | Description |
|---|---|---|---|
| type | string | false | type of the template (company, personal, dropthought) |
| language | string | false | language of the template (en, ar, ml, ta) |
| timezone | string | false | timezone of the request (America/Los_Angles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | template | template object |
# template object
| Path | Type | Description |
|---|---|---|
| active | string | indicates template status(active) |
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| averageCompletionTime | string | average completion time on template card |
| businessId | string | unique identifier of the business |
| language | string | current language of template object |
| languages | array[language] | list of languages the template is designed |
| pageOrder | array[pageId] | list of page Id |
| pages | array[page] | page objects |
| questionsCount | integer | total questions count in template |
| rules | rule | rule object |
| state | string | template state (company, personal, dropthought) |
| status | string | indicates template status (active) |
| templateId | string | unique id of the template |
| templateName | string | template name |
| templateProperty | object | describes the template properties like logo and color |
| templateUUID | string | unique identifier of template |
| thankYouText | string | thank you note for the template |
| timezone | string | timezone of the template |
| usedCount | integer | template used count |
| welcomeText | string | welcome message for the template |
# language object
| Name | Type | Description |
|---|---|---|
| en | string | english |
| ar | string | arabic |
| ta | string | tamil |
| ml | string | malayalam |
# page object
| Name | Type | Description |
|---|---|---|
| pageId | string | unique id of the page |
| pageTitle | string | title of the page in the template |
| questions | array[question] | question objects |
# rules object
| Name | Type | Description |
|---|---|---|
| id | string | unique id of rule ( purely for UI) |
| toPageId | string | unique page id |
| condition | string | unique question id + operator(ansr , nasr , answ , nasw) |
| mode | string | noChange ( purely for UI ) |
# operators object
| Name | Type | Description |
|---|---|---|
| ansr | string | answered |
| nasr | string | not answered |
| answ | string | answered with index answ. |
| nasw | string | not answered with index answ. |
# question object
| Name | Type | Description |
|---|---|---|
| category | string | create the question against a category |
| mandatory | boolean | question is mandatory in the page of program |
| options | array[string] | string answer labels for question |
| questionBrand | string | indicate brand name in NPS question or indicate multiple choice question taking "other" responses |
| questionId | string | unique id of the page |
| questionTitle | string | the question for which an answer is expected |
| scale | string | scale of the rating or slider |
| subType | string | applicable only for rating question (smiley or slider) |
| type | string | type of question ( rating , multiChoice , singleChoice , open) |
# template property object
| Path | Type | Description |
|---|---|---|
| image | string | byte array of logo to be displayed in the template header |
| hexCode | string | hex color code of the program header |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/template/12270d2a-****-****-aafb-40b10a58c820?type=company&language=en&timezone=Asia%2FCalcutta'
# Example Response
{
"success": true,
"result": {
"active": "active",
"anonymous": false,
"averageCompletionTime": ">8 m",
"businessId": "d2960650-e**3-**4b-94b8-91243f780e13",
"language": "en",
"languages": [
"en"
],
"pageOrder": [
"c928e977-db83-4d32-86ca-3c5d79765d4b"
],
"pages": [
{
"pageId": "c928e977-db83-4d32-86ca-3c5d79765d4b",
"pageTitle": "First Page",
"questions": [
{
"mandatory": true,
"metaDataType": null,
"options": [
"Not at all Likely",
"Extremely Likely"
],
"questionBrand": "BCT",
"questionId": "48b580f3-75fc-4017-91e5-4fd76558c4ca",
"questionTitle": "On a scale of 0 - 10, how likely are you to recommend BCT to a friend or colleague?",
"scale": "11",
"subType": "slider",
"type": "nps"
},
{
"mandatory": true,
"metaDataType": "Name",
"questionBrand": "Type in your answer here",
"questionId": "67707107-34ff-452f-beb0-9a84a7b3dd2c",
"questionTitle": "Enter your name?",
"scale": "0",
"type": "open"
}
]
}
],
"questionsCount": 3,
"rules": {
"6e266679-71dd-4631-9624-13f80119db05": [{
"id": "e1w2e3sw-7991-46f8-9bd9-2b4958eb19ao",
"toPageId": "thank-you-page",
"condition": "e1b7e7b1-7991-46f8-9bd9-2b4958eb19a6.answ.9",
"ruleIndex": 0
}]
},
"state": "company",
"status": "active",
"templateId": "35",
"templateName": "Template one",
"templateProperty": {
"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
"hexCode": "#6f5ba7"
},
"templateUUID": "12270d2a-6***-4**c-aafb-40b10a58c820",
"thankYouText": "",
"timezone": "Asia/Calcutta",
"usedCount": 0,
"welcomeText": ""
}
}
# Create Program From Template
POST /api/template/program
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language code (en, ar) |
| programName | string | false | name for the program |
| templateType | string | true | template type (dropthought, personal, company) |
| templateUUID | string | true | unique id of the template |
| timezone | string | true | timezone of the request |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"templateUUID": "42fff0d7-9**a-4**d-ac61-6564b1b7332b", \
"templateType": "dropthought", \
"language": "en", \
"timezone": "America/Los_Angeles", \
"programName": "Compensation And Benefits" \
}' 'https://{env}/dtapp/api/template/program'
# Example Response
{
"success": true,
"programId": "3656668b-c**4-4**f-a64a-4dd46f2dd2f9"
}
# Preferred Metric
# Get Preferred Metric
GET /api/preferred/metric
# Path Parameters
No Path Parameters
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language of request |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | preferred metric [array] | preferred metirc object |
# preferred metric object
| Path | Type | Description |
|---|---|---|
| metrics | array[metrics] | details of metrics associated with the program |
| programId | string | unique id of program entity |
| programName | string | name of the program |
| preferredMetric | int | indicates the metric id of the chosen preferred metric |
| preferredMetricName | string | indicates the metric name of the chosen preferred metric |
# metrics object
| Path | Type | Description |
|---|---|---|
| id | int | indicates the unique id of the metric |
| name | string | indicates the name of the metric |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric?language=en'
# Example Response
{
"result": [{
"metrics": [{
"id": 5,
"name": "Overall Rating"
},
{
"id": 6,
"name": "Ambience"
},
{
"id": 7,
"name": "Service Quality"
},
{
"id": 8,
"name": "Product Quality"
}
],
"programId": "22875639-****-****-8ae0-f1e90bf53e23",
"programName": "King's Bakery Feedback Survey",
"preferredMetric": 7,
"preferredMetricName": "Service Quality"
},
{
"metrics": [{
"id": 20,
"name": "Appointment Follow-up"
},
{
"id": "565c95c4-a0f7-****-af1d-fdef5ab2b6ea",
"name": "NPS - Dropthought"
}
],
"programId": "f23f863b-****-493d-8043-e635a71c1302",
"programName": "Single NPS Test.",
"surveyState": "active",
"preferredMetric": "565c95c4-a0f7-****-af1d-fdef5ab2b6ea",
"preferredMetricName": "NPS - Dropthought"
},
{
"metrics": [{
"id": "6978495b-da6c-****-ac45-5716dd953d64",
"name": "NPS - Dropthought"
},
{
"id": "0f9520fb-06d5-****-8f5a-adb1ea28ec28",
"name": "NPS - Segments"
},
{
"id": "7c170dc1-****-****-8222-144f3841ce78",
"name": "NPS - Triggers"
}
],
"programId": "8dd02d97-****-4b67-9ee5-9a40636024f8",
"programName": "Multi NPS test",
"surveyState": "active",
"preferredMetric": "7c170dc1-****-****-8222-144f3841ce78",
"preferredMetricName": "NPS - Triggers"
}
],
"success": true
}
# Get Preferred Metric By Program Id
GET /preferred/metric/program/:programId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programId | string | unique identifier of program |
# Query Parameters
| Path | Type | Description |
|---|---|---|
| language | string | en or ar to get respective program object |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | preferred metric | preferred metric object |
# preferred metric object
| Path | Type | Description |
|---|---|---|
| metrics | array[metrics] | details of metrics associated with the program |
| programId | string | unique id of program entity |
| programName | string | name of the program |
| preferredMetric | int | indicates the metric id of the chosen preferred metric |
| preferredMetricName | string | indicates the metric name of the chosen preferred metric |
# metrics object
| Path | Type | Description |
|---|---|---|
| id | int | indicates the unique id of the metric |
| name | string | indicates the name of the metric |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric/program/6e86ed97-****-4030-9764-df3c4fcb7f2c?language=en'
# Example Response
{
"result": {
"metrics": [
{
"id": 6,
"name": "Ambience"
},
{
"id": 5,
"name": "Overall Rating"
},
{
"id": 7,
"name": "Service Quality"
},
{
"id": "d51f391d-****-414f-b8b7-77a6a1f5ca53",
"name": "NPS - Kings Bakery"
}
],
"programId": "6e86ed97-****-4030-9764-df3c4fcb7f2c",
"programName": "King's Bakery Review",
"surveyState": "active",
"preferredMetric": "d51f391d-****-414f-b8b7-77a6a1f5ca53",
"preferredMetricName": "NPS - Kings Bakery"
},
"success": true
}
# Update Preferred Metric
PUT /api/preferred/metric
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| preferred metric | array[preferred metric] | false | preferred metric selection info |
# preferred metric object
| Path | Type | Optional | Description |
|---|---|---|---|
| metricId | string | false | unique identifier of metric |
| programId | string | false | unique identifier of program |
# Example Request (1) - NPS
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[ \
{ \
"metricId": "d51f391d-****-414f-b8b7-77a6a1f5ca53", \
"programId": "22875639-****-****-8ae0-f1e90bf53e23" \
} \
]' 'https://test.dropthought.com/dtapp/api/preferred/metric'
# Example Request (2) - Metric
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
"metricId": 7, \
"programId": "22875639-****-****-8ae0-f1e90bf53e23" \
}, \
{ \
\
"metricId": 1, \
"programId": "ab76b79a-****-****-b956-2b2eb4ea1d29" \
} \
]' 'https://test.dropthought.com/dtapp/api/preferred/metric'
# Example Response
{
"success": true
}
# Delete Preferred Metric By Id
DELETE /api/preferred/metric/program/:programId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programId | string | unique id of the program |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric/program/15834fe9-****-****-a51b-0a567a463fbb'
# Example Response
{
"success": true
}
# Event
# Post Event
POST /api/event
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| refId | string | true | id representing the survey |
| data | array[data] | false | array of data objects |
| metaData | object | true | metadata object |
| token | string | true | usertoken or survey token |
# data object
| Path | Type | Optional | Description |
|---|---|---|---|
| dataId | string | false | id representing the question |
| dataValue | array[string] | false | responses provided as an array of strings. Other responses are available at the last index |
| otherFlag | boolean | true | true when other responses are present |
# metadata object
| Path | Type | Optional | Description |
|---|---|---|---|
| name | string | true | survey participant name |
| string | true | survey participant email | |
| source | string | true | (kiosk/qr/email/sms) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"data": [{ \
"dataId": "200b6ca8-xxx-xxxx-9614-af118c1a9f5d", \
"dataValue": [3], \
"dataType": "rating" \
}, { \
"dataId": "ecd104d1-xxxx-xxxx-ab50-f73779501a96", \
"dataValue": ["good"], \
"dataType": "open" \
}, { \
"dataId": "7938aba8-xxxx-xxxx-8c4b-2867575f8f09", \
"dataValue": [9], \
"dataType": "rating" \
}, { \
"dataId": "3c36b890-89a5-408d-a429-6bc05d4b9108", \
"dataValue": ["Sample"], \
"dataType": "singleChoice", \
"otherFlag": true \
}, { \
"dataId": "aec40991-ba7e-4027-aada-55788c72f072", \
"dataValue": [0, "Sample B"], \
"dataType": "multiChoice", \
"otherFlag": true \
}], \
"metaData": { \
"source": "api" \
}, \
"refId": "11a33f64-xxxx-xxxx-8b85-a06dcccc47e5", \
"token": "" \
}' 'https://{environment}/dtapp/api/event'
# Example Response
{
"success": true
}
# Alerts
# Get User Alerts
GET api/notification/user/:userUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userUniqueId | string | Unique identifier of the user |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language requested (en) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[alert] | array alert object |
| success | boolean | true (or) false |
# alert object
| Path | Type | Description |
|---|---|---|
| active | string | alerts enabled or disabled for the survey |
| questions | array[questions] | array of question alerts |
| surveyId | string | unique identifier of the survey |
| surveyName | string | name of the survey |
# question alert object
| Path | Type | Description |
|---|---|---|
| active | string | alerts enabled or disabled for the question |
| options | array[string] | array of ratings for the question |
| questionId | string | unique identifier of the question |
| questionName | string | name of the question |
| rule | string | alert rule |
| scale | string | scale of the question |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' 'https://{environment}/dtapp/api/notification/user/ab7****d-****-4ef5-b659-6676*****87c?language=en'
# Example Response
{
"result": [{
"active": "1",
"surveyId": "1ffff17d-f8d8-48cc-9e2e-24f489e409f4",
"questions": [{
"rule": ">6",
"scale": "11",
"active": "1",
"options": ["Not at all Likely", "Extremely Likely"],
"questionId": "e4cc4fdd-3d3a-40c3-8847-5a88a36354a9",
"questionName": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?"
}],
"surveyName": "Sample Survey"
}, {
"active": "0",
"surveyId": "a119b547-b869-4070-bcd5-2382d373c21a",
"questions": [{
"rule": ">1",
"scale": "11",
"active": "0",
"options": ["Not at all Likely", "Extremely Likely"],
"questionId": "0213818a-b357-433d-a29a-8d6cdcc0bf4f",
"questionName": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?"
}],
"surveyName": "NPS Survey"
}],
"success": true
}
# Update User Alerts
PUT api/notification/user/:userUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userUniqueId | string | Unique identifier of user |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language requested (en) |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| alerts | array[alert] | false | first name of the user |
# alert object
| Path | Type | Optional | Description |
|---|---|---|---|
| active | string | false | alerts enabled or disabled for the survey |
| questions | array[questions] | false | array of question alerts |
| surveyId | string | false | unique identifier of the survey |
| surveyName | string | false | name of the survey |
# question alert object
| Path | Type | Optional | Description |
|---|---|---|---|
| active | string | false | alerts enabled or disabled for the question |
| options | array[string] | false | array of ratings for the question |
| questionId | string | false | unique identifier of the question |
| questionName | string | false | name of the question |
| rule | string | false | alert rule |
| scale | string | false | scale of the question |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
"active": "0", \
"surveyId": "2f046e00-****-4c58-9648-8c71***1f72", \
"questions": [{ \
"rule": ">2", \
"scale": "4", \
"active": "0", \
"options": [ \
"Poor", \
"Fair", \
"Good", \
"Excellent" \
], \
"questionId": "be8dca18-3caf-493e-82bd-848eb4fdd1b3", \
"questionName": "Rating question" \
}], \
"surveyName": "New survey" \
}]' 'https://{environment}/dtapp/api/notification/user/ab7e4d4d-****-4ef5-b659-6676***fa87c?language=en'
# Example Response
{
"success": true
}
# Notifications
# Get Notifications
GET /feedbacknotification/user/:userUniqueId
# Path Parameters
| Path | Type | Description |
|---|---|---|
| userUniqueId | string | Unique identifier of the user |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| timeZone | string | true | timezone of the user |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | result | result object |
| success | boolean | true (or) false |
# notification result object
| Path | Type | Description |
|---|---|---|
| userId | string | unique identifier of the user |
| feedback | string | array of notification feedback objects |
# notification feedback object
| Path | Type | Description |
|---|---|---|
| message | string | notification alert |
| questions | array[question] | list of question objects |
| respondentId | string | unique identifier of the respondent |
| respondentName | string | name of the respondent who provided the feedback |
| surveyName | string | name of the survey |
| surveyId | string | unique id of the survey |
| timestamp | string | time of the feedback |
# question object
| Path | Type | Description |
|---|---|---|
| answer | string | answer provided for the question |
| scale | string | scale of the question |
| title | string | title of the question |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/feedbacknotification/user/ab7e4d4d-****-4ef5-******-6676ee3f***c?timeZone=America%2FLos_Angeles&language=en'
# Example Response
{
"result": {
"feedback": [{
"surveyName": "Notification survey",
"surveyId": "91692341-f**f-4**9-a621-06f968a55b17",
"questions": [{
"scale": "4",
"title": "Rating question",
"answer": "4"
},
{
"scale": "10",
"title": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?",
"answer": "10"
}
],
"respondentName": "",
"message": "Hi A***e, \\nYou received\\n\\n4 out of 4 for Rating question\\n10 out of 10 for On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?\\n",
"respondentId": "3ic8b4qjt5bpl***0vava73e9",
"timestamp": "2020-04-14 15:33:06"
}],
"userId": "400dff7d-0468-4**1-a***-7cbe144f0320"
},
"success": true
}
# Analytics
# Get Questions
GET api/program/{programId}/analytics/questions
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterId | string | true | id representing the survey filter |
| fromdate | string | true | start date of the feedbacks |
| todate | string | true | end date of the feedbacks |
| timeZone | string | true | timezone of the user |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| fromDate | string | start date of the feedbacks |
| result | array[object] | array of analytic question object |
| surveyFilterId | string | program filter id |
| success | boolean | true (or) false |
| toDate | string | end date of the feedbacks |
| surveyImage | string | base 64 conversion of image |
| feedbacksCount | int | total count of the feedback |
# analytic question object
| Path | Type | Description |
|---|---|---|
| type | string | type of question (rating , single choice , multi choie , open text , nps) |
| scale | string | scale of the question |
| options | string | available label options for the question |
| subtype | string | smiley or rating only populated for rating question |
| questionId | string | unique identifier of the question |
| data | array[int] | aggregated sum of feedback value for each label text |
| questionText | string | question label |
# Example Request
curl -X GET 'https://{environment}./dtapp/api/program/{programId}/analytics/questions?surveyFilterId=&fromDate=&toDate=&timezone=America/Los_Angeles' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
# Example Response
{
"fromDate":"",
"result":[
{
"type":"rating",
"scale":"5",
"options":[
"Overview",
"Metrics",
"Questions",
"Respondants",
"Segments"
],
"subType":"smiley",
"questionId":"c27f071c-5e88-4d85-8f72-c67ad699b661",
"metric":{
"color":"",
"name":"Differentiator"
},
"data":[
20,
19,
26,
20,
21
],
"questionText":"What is your favorite tool or portion of the product or service?"
}
],
"surveyName":"August Sprint",
"surveyFilterId":"",
"success":true,
"toDate":"",
"surveyImage":"data:image/png;base64",
"feedbacksCount":106
}
# Get Respondents
GET api/program/{programId}/analytics/respondents
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterUUID | string | true | id representing the survey filter |
| fromdate | string | true | start date of the feedbacks |
| todate | string | true | end date of the feedbacks |
| timeZone | string | true | timezone of the user |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[respondent] | array of analytic respondant object |
| success | boolean | true (or) false |
| totalPages | int | total pages available , 10 respondants per page |
| feedbacksCount | int | total count of the feedback |
# analytic respondent object
| Path | Type | Description |
|---|---|---|
| metaData | string | list of metadata associated with the feedback |
| npsText | string | response nps category |
| id | string | unique id of feedback |
| tokenType | string | dynamic or static tokens based on api versus list |
| responseDate | string | date time of the feedback |
| events | array[event] | array of events |
# analytic respondant event object
| Path | Type | Description |
|---|---|---|
| questionId | string | unique identifier of question |
| answers | string | responses to the question |
| category | string | metric label |
| questionText | string | question label |
| npsText | string | response nps category |
# Example Request
curl -X GET 'https://{environment}./dtapp/api/program/{programId}/analytics/respondents?surveyFilterId=&fromDate=&toDate=&timezone=America/Los_Angeles' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \
# Example Response
{
"result":[
{
"metaData":{
},
"npsText":"",
"id":"e2sm5d5h9tqfpi8v19f4skd7t8",
"tokenType":null,
"responseDate":"26-Sep-2019 12:00 PM",
"events":[
{
"questionId":"c27f071c-5e88-4d85-8f72-c67ad699b661",
"answers":"Segments",
"category":[
],
"questionText":"What is your favorite tool or portion of the product or service?",
"npsText":""
},
{
"questionId":"e122e19c-9700-4aa5-b97a-a05137116803",
"answers":"Segments",
"category":[
],
"questionText":"Do you find that the X feature easy to use?",
"npsText":""
},
{
"questionId":"0941a89c-372c-406e-ad4d-a247c789b4c8",
"answers":"Yes",
"category":[
],
"questionText":"Was the dashboard easy to navigate?",
"npsText":""
},
{
"questionId":"92448c4f-81af-4138-96f9-352729048fe1",
"answers":"Yes",
"category":[
],
"questionText":"Did the website load efficiently?",
"npsText":""
},
{
"questionId":"83f62027-0528-4629-b6af-b8996d84f410",
"answers":"No",
"category":[
],
"questionText":"Would you recommend our services/products to a friend?",
"npsText":""
},
{
"questionId":"3dd2361f-2ceb-432b-b47a-6b6002c026e8",
"answers":"No",
"category":[
],
"questionText":"Will you use our services/products to meet your X needs in the future?",
"npsText":""
},
{
"questionId":"1d908ad3-3ac9-4f61-8495-e72b5e6ac6c9",
"answers":"Extremely Likely",
"category":[
],
"questionText":"Based on recent experince please rate your satisfation of current release",
"npsText":""
}
]
}
],
"success":true,
"totalPages":11,
"feedbacksCount":106
}
# Get Respondents By Id
GET api/program/{programId}/analytics/respondents/{respondentId}
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
| respondentId | string | false | unique id of the respondent |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| timeZone | string | true | timezone of the user |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[respondent] | array of analytic respondant object |
| success | boolean | true (or) false |
# analytic respondent object
| Path | Type | Description |
|---|---|---|
| metaData | string | list of metadata associated with the feedback |
| npsText | string | response nps category |
| id | string | unique id of feedback |
| tokenType | string | dynamic or static tokens based on api versus list |
| responseDate | string | date time of the feedback |
| events | array[event] | array of events |
# analytic respondant event object
| Path | Type | Description |
|---|---|---|
| questionId | string | unique identifier of question |
| answers | string | responses to the question |
| category | string | metric label |
| questionText | string | question label |
| npsText | string | response nps category |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhcm9uZUBkcm9wdGhvdWdodC5jb20iLCJyb2xlIjoiUk9MRV9VU0VSIiwiZXhwIjoxNjE5NTUxNDQwLCJpc3MiOiJEcm9wVGhvdWdodCwgSW5jIn0.mGBuAH8_Fi0l33OVqYdOvrkwdYEjiRRwGqBlTRanLpfZ6GcKqPIRnipPB2cvLYun3-JvKd0iKiGG1TMq8Q5CxA' 'https://{environment}/dtapp/api/program/91692341-f**f-4**9-a621-06f968a55b17/analytics/respondents/t**58mcaai39f49dju5r8ba**u?timezone=America%2FLos_Angeles&language=en&interval=custom'
# Example Response
{
"result": [{
"metaData": {
},
"npsText": "",
"id": "t**58mcaai39f49dju5r8ba**u",
"tokenType": null,
"responseDate": "26-Sep-2019 12:00 PM",
"events": [{
"questionId": "c27f071c-5e88-4d85-8f72-c67ad699b661",
"answers": "Segments",
"category": [],
"questionText": "What is your favorite tool or portion of the product or service?",
"npsText": ""
},
{
"questionId": "e122e19c-9700-4aa5-b97a-a05137116803",
"answers": "Segments",
"category": [],
"questionText": "Do you find that the X feature easy to use?",
"npsText": ""
},
{
"questionId": "0941a89c-372c-406e-ad4d-a247c789b4c8",
"answers": "Yes",
"category": [],
"questionText": "Was the dashboard easy to navigate?",
"npsText": ""
},
{
"questionId": "92448c4f-81af-4138-96f9-352729048fe1",
"answers": "Yes",
"category": [],
"questionText": "Did the website load efficiently?",
"npsText": ""
},
{
"questionId": "83f62027-0528-4629-b6af-b8996d84f410",
"answers": "No",
"category": [],
"questionText": "Would you recommend our services/products to a friend?",
"npsText": ""
},
{
"questionId": "3dd2361f-2ceb-432b-b47a-6b6002c026e8",
"answers": "No",
"category": [],
"questionText": "Will you use our services/products to meet your X needs in the future?",
"npsText": ""
},
{
"questionId": "1d908ad3-3ac9-4f61-8495-e72b5e6ac6c9",
"answers": "Extremely Likely",
"category": [],
"questionText": "Based on recent experince please rate your satisfation of current release",
"npsText": ""
}
]
}],
"success": true
}
# Get Metric Info
GET api/program/{programId}/metric/info
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterId | string | true | id representing the survey filter |
| fromdate | string | true | start date of the feedbacks |
| todate | string | true | end date of the feedbacks |
| timeZone | string | true | timezone of the user |
| surveyType | string | true | survey publish type (journey/publish) default is 'publish' |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[metric] | array of metric objects |
| success | boolean | true (or) false |
| fromDate | string | from date of the feedbacks used to compute metrics info |
| toDate | string | to date of the feedbacks used to compute metrics info |
# metric object
| Path | Type | Description |
|---|---|---|
| metricScore | int | metric score |
| metricName | string | name of the metric |
| metricId | string | id of the metric (for nps its question id) |
| trend | array[metric trend object] | array of metric objects |
| metricScale | int | scale of the metric |
# metric trend object
| Path | Type | Description |
|---|---|---|
| metric trend object | array[string] | first object is the timestamp and the second object is the value of the score |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUz' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-4026-9ba0-f8f7a7d1fad4/metric/info?surveyFilterId=db614d2e-7474-4b6b-89a6-1df5f0638afe&fromDate=2019-01-01%2000%3A00%3A00&toDate=2019-12-31%2023%3A59%3A59&timeZone=America%2FLos_Angeles'
# Example Response (1)
{
"fromDate": "2021-3-3 00:00:00",
"result": [
{
"metricScore": 4.5,
"metricName": "Appointment Follow-up",
"metricId": "20",
"trend": [
[
"Timestamp",
"Appointment Follow-up"
],
[
"10-Mar-2021",
4.5
]
],
"metricScale": 5
},
{
"metricScore": 50,
"metricName": "NPS - Dropthought",
"metricId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
"trend": [
[
"Timestamp",
"NPS - Dropthought Score"
],
[
"10-Mar-2021",
50
]
],
"metricScale": 11,
"npsInfo": [
[
"Timestamp",
"Promoters",
"Passives",
"Detractors"
],
[
"10-Mar-2021",
"1",
"1",
0
]
]
}
],
"success": true,
"toDate": "2021-3-10 23:59:59"
}
# Example Response (2)
{
"fromDate": "2021-2-24 00:00:00",
"result": [{
"metricScore": 1.7,
"metricName": "Communication",
"metricId": "56",
"trend": [
[
"Timestamp",
"Communication"
],
[
"02-Mar-2021",
1.7
]
],
"metricScale": 4
},
{
"metricScore": -50,
"metricName": "NPS - Dropthought",
"metricId": "6978495b-****-4378-ac45-5716dd953d64",
"trend": [
[
"Timestamp",
"NPS - Dropthought Score"
],
[
"08-Mar-2021",
-50
]
],
"metricScale": 11,
"npsInfo": [
[
"Timestamp",
"Promoters",
"Passives",
"Detractors"
],
[
"08-Mar-2021",
0,
"2",
"2"
]
]
},
{
"metricScore": 0,
"metricName": "NPS - Segments",
"metricId": "0f9520fb-****-4338-8f5a-adb1ea28ec28",
"trend": [
[
"Timestamp",
"NPS - Segments Score"
],
[
"08-Mar-2021",
0
]
],
"metricScale": 11,
"npsInfo": [
[
"Timestamp",
"Promoters",
"Passives",
"Detractors"
],
[
"08-Mar-2021",
"1",
"2",
"1"
]
]
},
{
"metricScore": 25,
"metricName": "NPS - Triggers",
"metricId": "7c170dc1-****-4b44-8222-144f3841ce78",
"trend": [
[
"Timestamp",
"NPS - Triggers Score"
],
[
"08-Mar-2021",
25
]
],
"metricScale": 11,
"npsInfo": [
[
"Timestamp",
"Promoters",
"Passives",
"Detractors"
],
[
"08-Mar-2021",
"2",
"1",
"1"
]
]
}
],
"success": true,
"toDate": "2021-3-10 23:59:59"
}
# Get Metric By Id
GET api/program/{programId}/metric/{metricId}
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
| metricId | string | false | unique id of the metric |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterId | string | true | id representing the survey filter |
| fromdate | string | true | start date of the feedbacks |
| todate | string | true | end date of the feedbacks |
| timeZone | string | true | timezone of the user |
| surveyType | string | true | survey publish type (journey/publish) default is 'publish' |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[metric] | array of metric objects |
| success | boolean | true (or) false |
| fromDate | string | from date of the feedbacks used to compute metrics info |
| toDate | string | to date of the feedbacks used to compute metrics info |
# metric object
| Path | Type | Description |
|---|---|---|
| metricScore | int | metric score |
| metricName | string | name of the metric |
| metricId | string | id of the metric (for nps its question id) |
| trend | array[metric trend object] | array of metric objects |
| metricScale | int | scale of the metric |
# metric trend object
| Path | Type | Description |
|---|---|---|
| metric trend object | array[string] | first object is the timestamp and the second object is the value of the score |
# Example Request (1)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://test.dropthought.com/dtapp/api/program/f23f863b-****-****-8043-e635a71c1302/metric/20?interval=custom&fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&timeZone=America%2FLos_Angeles&surveyType=publish'
# Example Response (1)
{
"fromDate": "2021-3-3 00:00:00",
"result": [
{
"metricScore": 4.5,
"metricName": "Appointment Follow-up",
"metricId": "20",
"trend": [
[
"Timestamp",
"Appointment Follow-up"
],
[
"09-Mar-2021",
4.5
]
],
"metricScale": 5
}
],
"success": true,
"toDate": "2021-3-10 23:59:59",
"metricPercentageChange": "N/A"
}
# Example Request (2)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://test.dropthought.com/dtapp/api/program/f23f863b-****-493d-8043-e635a71c1302/metric/565c95c4-****-4cc5-af1d-fdef5ab2b6ea?interval=custom&timeZone=America%2FLos_Angeles&surveyType=publish'```
# Example Response (2)
{
"fromDate": null,
"result": [
{
"metricScore": 50,
"metricName": "NPS - Dropthought",
"metricId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
"trend": [
[
"Timestamp",
"NPS - Dropthought Score"
],
[
"09-Mar-2021",
50
]
],
"metricScale": "11"
}
],
"success": true,
"toDate": null,
"metricPercentageChange": 50
}
# Get Program Filters
GET api/program/{programId}/filters
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | request language |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | array[filter] | array of filter objects |
| success | boolean | true (or) false |
| message | string | message to indicate no meta data and no filters |
| defaultFilter | boolean | true (or) false |
# filter object
| Path | Type | Description |
|---|---|---|
| filterName | string | name of the filter |
| filterUUID | string | unique id of the filter |
| filterQuery | string | filter query in readable format |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMi' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-****-9ba0-f8f7a7d1fad4/filters'
# Example Response
{
"result": [
{
"filterName": "filter rating = fear",
"message": "no_meta_data_present",
"filterUUID": "f12275e2-3618-****-a817-34ac620ee280",
"filterQuery": "[[{multi questions segments}+(9b618b20-5b33-488c-b4c6-544b5e82bdd1.Rating metric.response==2)]]"
},
{
"filterName": "filter nps <= 8",
"message": "no_meta_data_present",
"filterUUID": "8ca68bc7-109b-****-944f-9a764df5ef55",
"filterQuery": "[[{multi questions segments}+(3ba0eda0-e9f5-4009-bd52-6d9069e3da10.On a scale of 0 - 10, how likely are you to recommend us to your colleagues and friends?.response<=8)]]"
},
{
"filterName": "excited + metadata",
"filterUUID": "156971c6-4efc-4c4c-****-a47dfb71c544",
"filterQuery": "[[{store data}+(Name=='Linda')] || [{store data}+(Name=='Elizabeth')] || [{store data}+(Name=='Roland')] && [{multi questions segments}+(dbccccb0-96ed-4d3e-8f8d-76a7bd24f2e9.Single choice + other.response==happy)]]"
},
{
"filterName": "new quest and metadata",
"filterUUID": "d916d578-4045-4654-****-64b457a249c4",
"filterQuery": "[[{store data}+(Region=='Alabama')] && [{multi questions segments}+(9b618b20-5b33-488c-b4c6-544b5e82bdd1.Rating metric.response==3)]]"
},
],
"success": true
}
{
"result": [
{
"defaultFilter": true,
"filterName": "f2",
"filterUUID": "b79e4ae3-e167-408b-bf54-7fdb7fb5c82f",
"filterQuery": "[[{List 1}+(Email=='1853b@yopmail.com')] || [{List 1}+(Email=='1853c@yopmail.com')] && [{List 1}+(Location =='Palo Alto')]]"
}
],
"success": true
}
{
"result": [],
"success": true,
"message": "no_filters_present"
}
{
"result": [],
"success": true,
"message": "no_meta_data_present"
}
# Get Program Metadata
GET api/program/{programId}/metadata
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| result | result | map of participant group uuid and metadata array |
| success | boolean | true (or) false |
# result object
| Path | Type | Description |
|---|---|---|
| participantGroupUUID | string | unique id of the participant group |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMi' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-****-****-9ba0-f8f7a7d1fad4/metadata'
# Example Response
{
"result": {
"aa6cc7de-****-****-b7ec-fa812d423ca7": [
"Name",
"Email",
"Age",
"Location",
"Phone"
]
},
"success": true
}
# Get Program Overview
GET api/program/{programId}/analytics/overview
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterId | string | true | unique id of the survey filter |
| fromDate | string | true | start date to be applied |
| toDate | string | true | end date to be applied |
| responseInterval | string | true | interval between dates for the trend (daily/weekly/monthly) |
| timeZone | string | true | timezone of the request |
| surveyType | string | true | survey publish type (journey/publish) default is 'publish' |
| questionId | string | true | nps question id [by default takes first (alphabetical order) nps question id] |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| npsScore | string | nps score for the program |
| responseTrend | array[trend] | array of response trend objects |
| metrics | array[metrics] | array of metric objects |
| segments | segment | segments object |
| questions | array[questions] | array of nps questions |
| npsQuestionText | string | nps question text |
# trend object
| Path | Type | Description |
|---|---|---|
| Timestamp | string | any date within the date range |
| Total | int | total number of responses for the point in date via (email/sms) |
| Sms | int | total number of responses for the point in date via sms |
| int | total number of responses for the point in date via email |
# metric object
| Path | Type | Description |
|---|---|---|
| metricScore | string | metric name |
| metricName | string | metric score |
# nps object
| Path | Type | Description |
|---|---|---|
| bottomSegments | array [string] | bottom 3 segments |
| topSegments | array [string] | top 3 segments |
# segment object
| Path | Type | Description |
|---|---|---|
| bottomSegments | array [string] | bottom 3 segments |
| topSegments | array [string] | top 3 segments |
# npsCategoriesCount object
| Path | Type | Description |
|---|---|---|
| data | array [data] | Detractors, Passives, Promoters |
# npsCategoriesPercentage object
| Path | Type | Description |
|---|---|---|
| data | array [data] | Detractors, Passives, Promoters |
# questions object
| Path | Type | Description |
|---|---|---|
| questionId | string | nps question id |
| questionBrand | string | company/service name of nps question |
| questionText | string | nps question title |
# Example Request (1)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://{environment}-api.dropthought.com/dtapp/api/program/f23f863b-****-****-8043-e635a71c1302/analytics/overview?fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&responseInterval=daily&timeZone=Asia%2FCalcutta&interval=custom&surveyType=publish'
# Example Response (1)
{
"success": true,
"npsQuestionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?",
"npsCategoriesCount": {
"data": [
{
"data": [
0
],
"name": "Detractors"
},
{
"data": [
1
],
"name": "Passives"
},
{
"data": [
1
],
"name": "Promoters"
}
]
},
"questions": [
{
"questionId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
"questionBrand": "NPS - Dropthought",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?"
}
],
"responseTrend": [
[
"Timestamp",
"Total",
"Sms",
"Email"
],
[
"10-Mar-2021",
2,
0,
1
],
[
"11-Mar-2021",
0,
0,
0
]
],
"npsScore": "50.0",
"metrics": [
{
"metricScore": 4.5,
"metricName": "Appointment Follow-up"
}
],
"npsCategoriesPercentage": {
"data": [
{
"data": [
"0.0"
],
"name": "Detractors"
},
{
"data": [
"50.0"
],
"name": "Passives"
},
{
"data": [
"50.0"
],
"name": "Promoter"
}
]
},
"segments": {
"bottomSegments": [],
"topSegments": [
"Course description: Course 2 description",
"Course name: Course 3",
"Joining date: 2021-02-16 16:21:00"
]
}
}
# Example Request (2)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://{environment}-api.dropthought.com/dtapp/api/program/8dd02d97-****-4b67-9ee5-9a40636024f8/analytics/overview?fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&responseInterval=daily&timeZone=Asia%2FCalcutta&interval=custom&surveyType=publish&questionId=7c170dc1-****-4b44-8222-144f3841ce78'
# Example Response (2)
{
"success": true,
"npsQuestionText": "On a scale of 0 - 10, how likely are you to recommend Triggers to a friend or colleague?",
"npsCategoriesCount": {
"data": [
{
"data": [
1
],
"name": "Detractors"
},
{
"data": [
1
],
"name": "Passives"
},
{
"data": [
2
],
"name": "Promoters"
}
]
},
"questions": [
{
"questionId": "83d0089b-****-4f03-9cb6-0aa6df1fca54",
"questionBrand": "NPS - Account Preference",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Account Preference to a friend or colleague?"
},
{
"questionId": "6978495b-****-4378-ac45-5716dd953d64",
"questionBrand": "NPS - Dropthought",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?"
},
{
"questionId": "0f9520fb-****-4338-8f5a-adb1ea28ec28",
"questionBrand": "NPS - Segments",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Segments to a friend or colleague?"
},
{
"questionId": "7c170dc1-****-4b44-8222-144f3841ce78",
"questionBrand": "NPS - Triggers",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Triggers to a friend or colleague?"
}
],
"responseTrend": [
[
"Timestamp",
"Total",
"Sms",
"Email"
],
[
"08-Mar-2021",
4,
0,
4
],
[
"09-Mar-2021",
0,
0,
0
]
],
"npsScore": "25.0",
"metrics": [],
"npsCategoriesPercentage": {
"data": [
{
"data": [
"25.0"
],
"name": "Detractors"
},
{
"data": [
"25.0"
],
"name": "Passives"
},
{
"data": [
"50.0"
],
"name": "Promoter"
}
]
},
"segments": {
"bottomSegments": [
"Joining date: 2021-02-06 16:21:00",
"Value: -32",
"Zip: 123"
],
"topSegments": [
"Course description: Course 2 description",
"Course name: Course 2",
"Course name: Course 3"
]
}
}
# Get Program Qrcode
GET api/dtsurvey/qr/surveyuuid/{surveyuuid}/{filetype}/{useruuid}
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyuuid | string | false | unique id of the program |
| filetype | string | false | file type (png/jpg/pdf) |
| useruuid | string | false | unique id of the user |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | unique identifier of database (DT) |
| hkey | string | true | unique identifier of host (https://app.dropthought.com) |
| language | string | true | language identifier (en) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[result] | result object |
# result object
| Path | Type | Description |
|---|---|---|
| surveyId | string | unique id of the string |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/dtsurvey/qr/surveyuuid/bb45b912-****-48d5-9**0-afb76c***da8/png/ab7e4d4d-****-4**5-b659-6676ee****7c?cc=DT&hKey=https%3A%2F%2F{environment}&language=en'
# Example Response
{
"result": [{
"surveyId": 151,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAA",
"qrByteArray": [
-119,
80,
78,
71
]
}],
"success": true
}
# Get Program Segments
GET /api/survey/{surveyId}/segmentsinfo
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyId | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyFilterId | string | true | unique identifier of the survey filter |
| fromDate | string | true | start date to be applied |
| toDate | string | true | end date to be applied |
| metaData | string | true | meta data values to view Ex: Location |
| metricName | string | true | metric name to view Ex: Cleanliness |
| timezone | string | true | timezone of the request |
| surveyType | string | true | survey publish type (journey/publish) default is 'publish' |
| questionUUID | string | true | nps question id [by default takes first (alphabetical order) nps question id] |
| interval | string | true | date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) default is 'custom' |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[result] | result object |
# result object
| Path | Type | Description |
|---|---|---|
| fromDate | string | start date applied |
| toDate | string | end date applied |
| metaDataList | array[string] | list of meta data to choose (Location, Age) |
| metaDataValue | array[string] | list of meta data values in each chosen meta data (Santa Clara, Taipei) |
| metaDataValueList | array[metaData] | list of data values for the meta data |
| metaDataListCount | array[string] | count of values in each meta data |
| metrics | array[string] | list of metrics available to choose (Cleanliness, Performance) |
| metricValue | array[metric] | list of data values for metrics |
| totalMetricScore | string | metric score |
| metricScaleList | array[int] | list of scales for the different metrics in the program (4, 5) |
| metaDataValueCategory | array[string] | default headers for the segments (Population, Responses, NPS) |
| metaData | string | current meta data applied |
| surveyFilterId | string | unique identifier of the survey filter applied |
| metricScale | string | metric scale chosen |
| npsQuestions | array[map] | list of nps questions in the program |
# meta data object
| Path | Type | Description |
|---|---|---|
| name | string | name of the meta data |
| data | array[string] | data values for the meta data |
# metric object
| Path | Type | Description |
|---|---|---|
| name | string | name of the metric |
| data | array[string] | data values for the metric |
# nps questions object
| Path | Type | Description |
|---|---|---|
| questionBrand | string | company/service name of nps question |
| questionId | string | nps question id |
| index | string | nps question index |
# Example Request (1)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJy' 'https://{environment}-api.dropthought.com/api/survey/0d698392-08e0-4b58-b098-617c910a6102/segmentsinfo?interval=custom&surveyFilterId=&fromDate=2021-01-24%2000%3A00%3A00&toDate=2021-03-28%2023%3A59%3A59&timezone=Asia/Calcutta&metaData=Course%20name&metricName=Appointment Follow-up&surveyType=publish'
# Example Response (1)
{
"result": {
"metaDataList": [
"Course description",
"Course name",
"Joining date",
"Value",
"Zip"
],
"totalMetricScore": [
"5.0"
],
"metricScaleList": [
5
],
"npsQuestions": [
{
"index": 1,
"questionBrand": "NPS - Dropthought",
"questionId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea"
}
],
"toDate": "2021-03-28 18:29:59",
"metricValue": [
{
"data": [
"5.0",
0,
0,
"5.0"
],
"name": "Appointment Follow-up"
}
],
"metaDataValueCategory": [
"Population",
"Responses",
"NPS - Dropthought"
],
"fromDate": "2021-01-23 18:30:00",
"metaData": "Course name",
"metaDataValueList": [
{
"data": [
9,
1,
"0.0"
],
"name": "All Course name"
},
{
"data": [
4,
0,
"0.0"
],
"name": "Course 1"
},
{
"data": [
2,
0,
"0.0"
],
"name": "Course 2"
},
{
"data": [
3,
1,
"0.0"
],
"name": "Course 3"
}
],
"surveyFilterId": "",
"metaDataValue": [
"All Course name",
"Course 1",
"Course 2",
"Course 3"
],
"metaDataListCount": [
"3",
"3",
"5",
"7",
"7"
],
"metricScale": "5",
"metrics": [
"Appointment Follow-up"
]
},
"feedbacksCount": 2,
"success": true
}
# Example Request (2)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJy' 'https://{environment}-api.dropthought.com/api/survey/0d698392-08e0-4b58-b098-617c910a6102/segmentsinfo?interval=custom&surveyFilterId=&fromDate=2021-01-24%2000%3A00%3A00&toDate=2021-03-28%2023%3A59%3A59&timezone=Asia/Calcutta&metaData=Course%20name&questionUUID=7c170dc1-****-4b44-8222-144f3841ce78&surveyType=publish'
# Example Response (2)
{
"result": {
"metaDataList": [
"Course description",
"Course name",
"Joining date",
"Value",
"Zip"
],
"metricScaleList": [],
"npsQuestions": [
{
"index": 3,
"questionBrand": "NPS - Account Preference",
"questionId": "83d0089b-****-4f03-9cb6-0aa6df1fca54"
},
{
"index": 2,
"questionBrand": "NPS - Dropthought",
"questionId": "6978495b-****-4378-ac45-5716dd953d64"
},
{
"index": 1,
"questionBrand": "NPS - Segments",
"questionId": "0f9520fb-****-4338-8f5a-adb1ea28ec28"
},
{
"index": 0,
"questionBrand": "NPS - Triggers",
"questionId": "7c170dc1-****-4b44-8222-144f3841ce78"
}
],
"toDate": "2021-03-28 18:29:59",
"metricValue": [],
"metaDataValueCategory": [
"Population",
"Responses",
"Triggers"
],
"fromDate": "2021-01-23 18:30:00",
"metaData": "Course name",
"metaDataValueList": [
{
"data": [
9,
4,
"25.0"
],
"name": "All Course name"
},
{
"data": [
4,
2,
"-50.0"
],
"name": "Course 1"
},
{
"data": [
2,
1,
"100.0"
],
"name": "Course 2"
},
{
"data": [
3,
1,
"100.0"
],
"name": "Course 3"
}
],
"surveyFilterId": "",
"metaDataValue": [
"All Course name",
"Course 1",
"Course 2",
"Course 3"
],
"metaDataListCount": [
"3",
"3",
"5",
"7",
"7"
],
"metricScale": ""
},
"feedbacksCount": 4,
"success": true
}
# Get Program Static Token
GET /dtsurvey/generateToken/surveyuuid/:surveyuuid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyuuid | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[token] | array containing token object |
# token object
| Path | Type | Description |
|---|---|---|
| token | string | indicates the static token associated with the survey |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/dtsurvey/generateToken/surveyuuid/bf5fe6e3-****-****-a466-924fbb1f2593?cc=DT'
# Example Response
{
"success": true,
"result": [
{
"token": "v83eo2t****fih181kgaqscc7n~~MTYxZDY4ZWMtM2I0MC00ZjQ4LWE4MWYtOTc5NGE4NWFiNzIz$RFQ1"
}
]
}
# Get Program Participant Metadata
GET /dtsurvey/:surveyId/participantMetaData
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyId | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | false | company code (DT) |
| surveyFilterUUID | string | true | unique identifier of the survey filter applied |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[metadata] | array containing participant metadata object |
# participant metadata object
| Path | Type | Description |
|---|---|---|
| metadata | array[metadata] | indicates participant metadata details |
# metadata object
| Path | Type | Description |
|---|---|---|
| name | string | indicates the name of the header |
| values | array[values] | indicates the values corresponding to the header |
| meta_data_type | string | indicates the metadata type of the header |
| cc | string | company code (DT) |
| ids | array[ids] | indicates taguuid.participantgroupuuid |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/dtsurvey/61fa3878-****-****-a4dd-f0019035489f/participantMetaData?cc=DT'
# Example Response
{
"success": true,
"result": [
{
"metadata": [
{
"name": "Name",
"values": [
"Aisha",
"Barakat",
"Fahad",
"Fatima",
"Hameed",
"Hamid"
],
"meta_data_type": "NAME",
"cc": "DT",
"ids": [
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
]
},
{
"name": "Email",
"values": [
"doctor10@yopmail.com",
"doctor11@yopmail.com",
"doctor12@yopmail.com",
"doctor13@yopmail.com",
"doctor14@yopmail.com",
"doctor15@yopmail.com",
],
"meta_data_type": "EMAIL",
"cc": "DT",
"ids": [
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
]
},
{
"name": "Region",
"values": [
"Bur Dubai",
"Dubai Marina",
"Sharjah"
],
"meta_data_type": "STRING",
"cc": "DT",
"ids": [
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
]
},
{
"name": "Practice",
"values": [
"Cardiology",
"Dermatology"
],
"meta_data_type": "STRING",
"cc": "DT",
"ids": [
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
]
},
{
"name": "Doctor Type",
"values": [
"Practitioner",
"Researcher"
],
"meta_data_type": "STRING",
"cc": "DT",
"ids": [
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
"bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
]
}
]
}
]
}
# Get Program Participants By Tag
GET /program/:programid/taguuid/:taguuid/participants
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | Unique identifier of program |
| taguuid | string | Unique identifier of tag |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pageId | int | true | page number for retrieving the participants (default -> -1 fetches all participants) |
| language | string | true | language of request en/ar (default - en) |
| answered | boolean | true | flag which indicates if answered/non-answered participants needs to be fetched (default - false [non-answered participants]) |
| timezone | string | true | indicates requested timezone (default - America/Los_Angeles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[participant information] | array containing participant's information |
| totalCount | int | indicates the count of participants fetched |
| surveyStartDate | string | indicates start date of the survey (based on the timezone of request) |
| surveyEndDate | string | indicates end date of the survey (based on the timezone of request) |
# participant information object
| Path | Type | Description |
|---|---|---|
| participantId | int | indicates unique id of the participant |
| url | string | survey url link of the participant |
| token | string | indicates unique id of the respondent |
| participantInfo | map[participant metadata] | map containing participant metadata info |
# participant metadata object
| Path | Type | Description |
|---|---|---|
| header | array[header] | indicates the name of the headers |
| data | array[data] | indicates the values corresponding to the header |
| metadata | array[metadata] | indicates the metadata type of the headers |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5b3ae7a0-****-****-bdc4-8f2c2ee86e69/taguuid/6a211918-****-****-b6fe-d9fbd11d93e0/participants?answered=false&pageId=1&language=en&timezone=America%2FLos_Angeles'
# Example Response (Non Anonymous Survey)
{
"result": [
{
"participantId": 4,
"url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Naveen",
"naveen123@yopmail.com",
"2020-04-06 16:21:00",
"Course 2",
"Course 2 description",
"+1234567890",
"13",
"111"
]
},
"token": "76p82b3hd98l8i2v9sr7bjimsr"
},
{
"participantId": 5,
"url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Aravind",
"aravind123@yopmail.com",
"2020-09-06 16:21:00",
"Course 1",
"Course 1 description",
"+1234567890",
"76",
"222"
]
},
"token": "9jn7ujdphdpln72ihvu3c96ovg"
},
{
"participantId": 6,
"url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Arone",
"arone123@yopmail.com",
"2021-09-06 16:21:00",
"Course 3",
"Course 3 description",
"+1234567890",
"0.53",
"333"
]
},
"token": "c95v85cjsahjp7kg9k3gic9plh"
},
{
"participantId": 2,
"url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Venkat",
"venkat123@yopmail.com",
"2020-04-06 16:21:00",
"Course 3",
"Course 2 description",
"+1234567890",
"22.9",
"456"
]
},
"token": "ulg40vr9nec1ete7bqb9l779s2"
},
{
"participantId": 3,
"url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Akhil",
"akhil123@yopmail.com",
"2020-01-06 16:21:00",
"Course 1",
"Course 1 description",
"+1234567890",
"-56.2",
"789"
]
},
"token": "d1ue3pghp716aedsisadkkuhi1"
}
],
"success": true,
"surveyStartDate": "2021-11-01 05:09:30",
"totalCount": 5,
"surveyEndDate": "2022-11-01 05:09:30"
}
# Example Response (Anonymous Survey)
{
"result": [
{
"participantId": 4,
"url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "76p82b3hd98l8i2v9sr7bjimsr"
},
{
"participantId": 5,
"url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "9jn7ujdphdpln72ihvu3c96ovg"
},
{
"participantId": 6,
"url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "c95v85cjsahjp7kg9k3gic9plh"
},
{
"participantId": 2,
"url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "ulg40vr9nec1ete7bqb9l779s2"
},
{
"participantId": 3,
"url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "d1ue3pghp716aedsisadkkuhi1"
}
],
"success": true,
"surveyStartDate": "2021-11-01 05:09:30",
"totalCount": 5,
"surveyEndDate": "2022-11-01 05:09:30"
}
# Get Program Participants By Program Id
GET /program/:programid/participants
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pageId | int | true | page number for retrieving the participants (default -> -1 fetches all participants) |
| language | string | true | language of request en/ar (default - en) |
| answered | boolean | true | flag which indicates if answered/non-answered participants needs to be fetched (default - false [non-answered participants]) |
| timezone | string | true | indicates requested timezone (default - America/Los_Angeles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[participant information] | array containing participant's information |
| totalCount | int | indicates the count of participants fetched |
| surveyStartDate | string | indicates start date of the survey (based on the timezone of request) |
| surveyEndDate | string | indicates end date of the survey (based on the timezone of request) |
# participant information object
| Path | Type | Description |
|---|---|---|
| participantId | int | indicates unique id of the participant |
| url | string | survey url link of the participant |
| token | string | indicates unique id of the respondent |
| participantInfo | map[participant metadata] | map containing participant metadata info |
# participant metadata object
| Path | Type | Description |
|---|---|---|
| header | array[header] | indicates the name of the headers |
| data | array[data] | indicates the values corresponding to the header |
| metadata | array[metadata] | indicates the metadata type of the headers |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5b3ae7a0-****-****-bdc4-8f2c2ee86e69/participants?answered=false&pageId=-1&language=en&timezone=America%2FLos_Angeles'
# Example Response (Non Anonymous Survey)
{
"result": [
{
"participantId": 4,
"url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Naveen",
"naveen123@yopmail.com",
"2020-04-06 16:21:00",
"Course 2",
"Course 2 description",
"+1234567890",
"13",
"111"
]
},
"token": "76p82b3hd98l8i2v9sr7bjimsr"
},
{
"participantId": 5,
"url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Aravind",
"aravind123@yopmail.com",
"2020-09-06 16:21:00",
"Course 1",
"Course 1 description",
"+1234567890",
"76",
"222"
]
},
"token": "9jn7ujdphdpln72ihvu3c96ovg"
},
{
"participantId": 6,
"url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Arone",
"arone123@yopmail.com",
"2021-09-06 16:21:00",
"Course 3",
"Course 3 description",
"+1234567890",
"0.53",
"333"
]
},
"token": "c95v85cjsahjp7kg9k3gic9plh"
},
{
"participantId": 2,
"url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Venkat",
"venkat123@yopmail.com",
"2020-04-06 16:21:00",
"Course 3",
"Course 2 description",
"+1234567890",
"22.9",
"456"
]
},
"token": "ulg40vr9nec1ete7bqb9l779s2"
},
{
"participantId": 3,
"url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"participantInfo": {
"header": [
"Name",
"Email",
"Joining date",
"Course name",
"Course description",
"Phone",
"Value",
"Zip"
],
"metadata": [
"NAME",
"EMAIL",
"DATE",
"String",
"String",
"PHONE",
"NUMBER",
"ZIP"
],
"data": [
"Akhil",
"akhil123@yopmail.com",
"2020-01-06 16:21:00",
"Course 1",
"Course 1 description",
"+1234567890",
"-56.2",
"789"
]
},
"token": "d1ue3pghp716aedsisadkkuhi1"
}
],
"success": true,
"surveyStartDate": "2021-11-01 05:09:30",
"totalCount": 5,
"surveyEndDate": "2022-11-01 05:09:30"
}
# Example Response (Anonymous Survey)
{
"result": [
{
"participantId": 4,
"url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "76p82b3hd98l8i2v9sr7bjimsr"
},
{
"participantId": 5,
"url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "9jn7ujdphdpln72ihvu3c96ovg"
},
{
"participantId": 6,
"url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "c95v85cjsahjp7kg9k3gic9plh"
},
{
"participantId": 2,
"url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "ulg40vr9nec1ete7bqb9l779s2"
},
{
"participantId": 3,
"url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
"token": "d1ue3pghp716aedsisadkkuhi1"
}
],
"success": true,
"surveyStartDate": "2021-11-01 05:09:30",
"totalCount": 5,
"surveyEndDate": "2022-11-01 05:09:30"
}
# Get Program Performance Rate By Program Id
GET /program/:programId/analytics/rate
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programId | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| fromDate | string | false | start date which has to be applied to compute program performance rate info |
| toDate | string | false | end date which has to be applied to compute program performance rate info |
| surveyFilterId | string | true | unique id of the survey filter applied |
| timezone | string | true | timezone of the request (default 'America/Los_Angeles') |
| interval | string | true | date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) default is 'custom' |
| surveyType | string | true | survey publish type (journey/publish) default is 'publish' |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | map[performance rate analysis] | map containing performance rate analysis of the program |
# performance rate analysis object
| Path | Type | Description |
|---|---|---|
| map[performance rate of email] | performance rate analysis of email | |
| sms | map[performance rate of sms] | performance rate analysis of sms |
| static | map[performance rate of static link] | performance rate analysis of static link |
| qr | map[performance rate of qr code] | performance rate analysis of qr code |
| kiosk | map[performance rate of kiosk] | performance rate analysis of kiosk |
| total | map[performance rate of all channels] | performance rate analysis of all channels |
# performance rate of email and sms
| Path | Type | Description |
|---|---|---|
| surveysSent | string | indicates the count of emails/sms sent respectively |
| surveysOpened | string | indicates the count of surveys opened via email/sms respectively |
| responsesReceived | string | indicates the count of responses received via email/sms respectively |
| responseRate | string | indicates percentage of respondents who have answered the survey |
| abandonmentRate | string | indicates the percentage of respondents who have not answered after opening the survey |
# performance rate of static, qr and kiosk
| Path | Type | Description |
|---|---|---|
| surveysSent | string | always "N/A" |
| surveysOpened | string | always "N/A" |
| responsesReceived | string | indicates the count of responses received via static link/qr/kiosk respectively |
| responseRate | string | always 100% |
| abandonmentRate | string | always "N/A" |
# performance rate of all channels (total)
| Path | Type | Description |
|---|---|---|
| surveysSent | string | indicates the total count of emails and sms sent |
| surveysOpened | string | indicates the total count of surveys opened via email and sms |
| responsesReceived | string | indicates the total count of responses received via email/sms/kiosk/qr/static link |
| responseRate | string | indicates percentage of respondents who have answered the survey via email and sms (Total number of surveys users responded to/Total number of surveys sent to end users) |
| abandonmentRate | string | indicates the percentage of respondents who have not answered after opening the survey via email and sms (Total number of surveys users responded to/Total number of surveys opened by end users) |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5e1608f8-****-****-b6fa-f50d4b933694/analytics/rate?fromDate=2021-8-05%2000%3A00%3A00&toDate=2021-8-12%2023%3A59%3A59&timezone=Asia%2FCalcutta&interval=custom&surveyType=publish'
# Example Response
{
"result": {
"qr": {
"surveysSent": "N/A",
"surveysOpened": "N/A",
"responsesReceived": "0",
"responseRate": "N/A",
"abandonmentRate": "N/A"
},
"total": {
"surveysSent": "6.0",
"surveysOpened": "2",
"responsesReceived": "4",
"responseRate": "33.3",
"abandonmentRate": "100.0"
},
"static": {
"surveysSent": "N/A",
"surveysOpened": "N/A",
"responsesReceived": "2",
"responseRate": "100.0",
"abandonmentRate": "N/A"
},
"sms": {
"surveysSent": "N/A",
"surveysOpened": "N/A",
"responsesReceived": "N/A",
"responseRate": "N/A",
"abandonmentRate": "N/A"
},
"kiosk": {
"surveysSent": "N/A",
"surveysOpened": "N/A",
"responsesReceived": "0",
"responseRate": "N/A",
"abandonmentRate": "N/A"
},
"email": {
"surveysSent": "6",
"surveysOpened": "2",
"responsesReceived": "2",
"responseRate": "33.3",
"abandonmentRate": "100.0"
}
},
"success": true
}
# Publish Program
# Get Published Program
GET /publish/program/:programid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | Unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language of the program (en) |
| timezone | string | true | timezone of the request (America/Los_Angles) |
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | publish program object | publish program object |
# published program object
| Path | Type | Description |
|---|---|---|
| surveyId | string | unique id of program entity |
| tagId | array[string] | unique ids of tags associated with the program |
| surveyStartDate | string | program activates at the given date & time |
| surveyEndDate | string | program expires at the given date & time |
| channels | array[string] | number of questions in the template |
| language | string | current language of published program |
| type | string | indicates distribution type (publish/journey/none) |
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| timezone | string | timezone of the program to be triggered |
| surveyName | string | name of the program |
| host | string | indicates the host from which program is published |
| recipientId | array[int] | participantGroupId of the lists published |
| subject | string | subject of the email to be sent |
| reminderOneSubject | string | subject of the 1st reminder |
| reminderTwoSubject | string | subject of the 2nd reminder |
| reminderOneMessage | string | email body of 1st reminder |
| reminderTwoMessage | string | email body of 2nd reminder |
| smsMessage | string | message to be included in sms |
| fromEmail | string | indicates sender email |
| imageUrl | string | url of image attached to the email body |
| fromName | string | indicated sender name |
| kickOffConfig | array[json] | indicates the publish details in journey scenario |
| kickoff | string | indicates the date when the program needs to be published |
| kickOffTime | string | indicates the time when the program needs to be published |
| businessUUID | string | Unique identifier of business |
| reminderConfig | array[json] | indicates reminder details |
| message | string | indicates the message in email body |
| fromDate | string | program activates at the given date & time |
| toDate | string | program expires at the given date & time |
# kickOffConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| metaDataHeader | string | columns in the list that has metadata type date |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# reminderConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/publish/program/bf5fe6e3-****-****-a466-924fbb1f2593?timezone=America%2FLos_Angeles&language=en'
# Example Response
{
"result": {
"reminderTwoMessage": "This is second reminder message",
"surveyId": "bf5fe6e3-****-****-a466-924fbb1f2593",
"smsMessage": "This is sms message",
"tagId": [
"cfe7d127-****-****-9026-dcef670a45db"
],
"subject": "Just drop a thought!",
"timezone": "America/Los_Angeles",
"language": "en",
"type": "publish",
"fromEmail": "john@dropthought.com",
"kickOffConfig": null,
"surveyName": "E-commerce survey",
"imageUrl": "https://dt-program-banner.s3.us-west-1.amazonaws.com/d2988a5e-****-****-ba00-21651e4319a5-myimage.png",
"fromName": "Dropthought",
"host": "https://test.dropthought.com",
"recipientId": [
1
],
"reminderOneMessage": "This is first reminder message",
"kickOffTime": "23:46:46",
"businessUUID": "161d68ec-****-****-a81f-9794a85ab723",
"kickoff": "2020-06-23 23:46:46",
"reminderConfig": [
{
"intervalType": "days",
"timezone": "America/Los_Angeles",
"metaDataHeader": null,
"interval": 1,
"kickOffTime": "12:17:28"
},
{
"intervalType": "days",
"timezone": "America/Los_Angeles",
"metaDataHeader": null,
"interval": 1,
"kickOffTime": "12:17:39"
}
],
"toDate": "2021-06-23 23:45:29",
"banner": "",
"message": "This is email body",
"surveyStartDate": "2020-06-23 23:45:29",
"fromDate": "2020-06-23 23:45:29",
"reminderOneSubject": "Reminder 1 - Just drop a thought!",
"channels": [
"email",
"sms",
"link"
],
"anonymous": false,
"reminderTwoSubject": "Final Reminder - Just drop a thought!",
"surveyEndDate": "2021-06-23 23:45:29"
},
"success": true
}
# Create Publish
POST /publish/v2
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| fromEmail | string | false | indicates sender email |
| fromName | string | false | indicates sender name |
| channels | array[string] | false | indicates medium of distribution (sms/email/link/uniqueLinks) |
| surveyId | string | false | unique id of the program |
| timezone | string | true | timezone of the request |
| businessId | int | false | unique id of the business |
| userId | string | false | unique id of the user |
| fromDate | string | false | program activates at the given time & date |
| toDate | string | false | program expires at the given time & date |
| surveyStartDate | string | false | program creation time & date |
| surveyEndDate | string | false | program expires at the given time & date |
| anonymous | boolean | false | indicates whether user can provide feedback anonymously |
| tagId | array[string] | false | indicates the unique id of tags |
| participantGroupId | int | false | indicates the unique id of participant group |
| kickoff | string | false | indicates the date when the survey needs to be published |
| type | string | false | indicates distribution type (publish/journey/none/links) |
| kickOffConfig | json | false | indicates the publishing details in journey scenario |
| subject | string | true | subject of the email |
| reminderOneSubject | string | true | subject of the 1st reminder |
| reminderTwoSubject | string | true | subject of the 2nd reminder |
| host | string | true | indicates the host from which program is published |
| cc | string | true | indicates company code (DT) |
| language | string | true | current language of program to be published |
| reminderConfig | array[json] | true | indicates reminder details |
| reminderOneMessage | string | true | email body of 1st reminder |
| reminderTwoMessage | string | true | email body of 2nd reminder |
| message | string | true | indicates the message in email body |
| smsMessage | string | false | message to be included in sms |
# kickOffConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| metaDataHeader | string | columns in the list that has metadata type date |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# reminderConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# Example Request (Publish Type)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"fromEmail": "arone%40dropthought.com", \
"fromName": "Dropthought", \
"channels": ["none", "link"], \
"surveyId": "66986e09-****-****-9f77-94ab48ebdc32", \
"timezone": "America/Los_Angeles", \
"businessId": 1, \
"userId": "31db4b0b-****-****-88f1-ea52bd3b501b", \
"fromDate": "2020-6-26 17:31:58", \
"toDate": "2021-06-26 17:31:57", \
"surveyStartDate": "2020-06-26 17:31:57", \
"surveyEndDate": "2021-06-26 17:31:57", \
"anonymous": false, \
"tagId": [], \
"participantGroupId": 0, \
"kickoff": "2020-06-26 17:32:11", \
"type": "none", \
"kickOffConfig": null, \
"subject": "Just drop a thought!", \
"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
"reminders": [null, null], \
"host": "https://test.dropthought.com", \
"cc": "DT", \
"language": "en", \
"reminderConfig": [] \
}' 'https://test.dropthought.com/dtapp/api/publish/v2'
# Example Response
{
"Message": "Survey sent successfully",
"success": true
}
# Example Request (Journey Type)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"fromEmail": "akshara%40dropthought.com", \
"fromName": "Dropthought", \
"channels": ["email"], \
"surveyId": "fefbacc5-****-****-ba0b-0a903eb7d483", \
"timezone": "Asia/Calcutta", \
"businessId": 16, \
"userId": "0e3becae-****-****-bc3e-14ebc9504096", \
"fromDate": "2020-7-30 12:57:29", \
"toDate": "2021-07-30 12:57:27", \
"surveyStartDate": "2020-07-30 12:57:27", \
"surveyEndDate": "2021-07-30 12:57:27", \
"anonymous": false, \
"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
"participantGroupId": 10, \
"kickoff": "2020-7-30 12:57:29", \
"type": "journey", \
"kickOffConfig": { \
"timezone": "Asia/Calcutta", \
"interval": 1, \
"intervalType": "days", \
"kickOffTime": "12:57:00", \
"metaDataHeader": "Joining date" \
}, \
"subject": "Just drop a thought!", \
"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
"reminders": [null, null], \
"host": "https://test.dropthought.com", \
"cc": "DT", \
"language": "en", \
"reminderConfig": [{ \
"timezone": "Asia/Calcutta", \
"interval": 1, \
"intervalType": "days", \
"kickOffTime": "12:58:02" \
}], \
"reminderOneMessage": "Gentle reminder to take your survey! We value your feedback!" \
}' 'https://test.dropthought.com/dtapp/api/publish/v2'
# Example Response
{
"Message": "Survey sent successfully",
"success": true
}
# Example Request (Links Type)
curl --location --request POST 'https://test-api.dropthought.com/dtapp/api/publish/v2' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5' \
--header 'Content-Type: application/json' \
--data-raw '{
"fromEmail": "akshara@dropthought",
"fromName": "Dropthought",
"channels": [
"uniqueLinks"
],
"surveyId": "75007bdd-****-4d0e-bc87-0448aa7db4ba",
"timezone": "Asia/Calcutta",
"businessId": 16,
"userId": "bd06685e-****-467d-abbc-53c773681249",
"fromDate": "2021-09-14 11:57:03",
"toDate": "2024-12-30 23:59:59",
"surveyStartDate": "2021-09-14 11:57:03",
"surveyEndDate": "2022-09-14 11:56:58",
"anonymous": false,
"tagId": [
"48580413-****-49b4-80c9-4a9f0c310e59"
],
"participantGroupId": 199,
"type": "links",
"host": "https://stage.dropthought.com",
"cc": "DT",
"language": "en"
}'
# Example Response
{
"Message": "Survey sent successfully",
"success": true
}
# Save Publish Program
POST /publish/draft
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| fromEmail | string | false | indicates sender email |
| fromName | string | false | indicates sender name |
| channels | array[string] | false | indicates medium of distribution (sms/email/link) |
| surveyId | string | false | unique id of the program |
| timezone | string | true | timezone of the request |
| businessId | int | false | unique id of the business |
| userId | string | false | unique id of the user |
| fromDate | string | false | program activates at the given time & date |
| toDate | string | false | program expires at the given time & date |
| surveyStartDate | string | false | program creation time & date |
| surveyEndDate | string | false | program expires at the given time & date |
| anonymous | boolean | false | indicates whether user can provide feedback anonymously |
| tagId | array[string] | false | indicates the unique id of tags |
| participantGroupId | int | false | indicates the unique id of participant group |
| kickoff | string | false | indicates the date when the survey needs to be published |
| type | string | false | indicates distribution type (publish/journey/none) |
| kickOffConfig | json | false | indicates the publishing details in journey scenario |
| subject | string | true | subject of the email |
| reminderOneSubject | string | true | subject of the 1st reminder |
| reminderTwoSubject | string | true | subject of the 2nd reminder |
| host | string | true | indicates the host from which program is published |
| cc | string | true | indicates company code (DT) |
| language | string | true | current language of program to be published |
| reminderConfig | array[json] | true | indicates reminder details |
| reminderOneMessage | string | true | email body of 1st reminder |
| reminderTwoMessage | string | true | email body of 2nd reminder |
| message | string | true | indicates the message in email body |
| smsMessage | string | false | message to be included in sms |
# kickOffConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| metaDataHeader | string | columns in the list that has metadata type date |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# reminderConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# Example Request (Publish Type)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' -d '{ \
"fromEmail": "akshara%40dropthought.com", \
"fromName": "Dropthought", \
"channels": ["email", "link", "sms"], \
"surveyId": "8c393e67-****-****-969d-34941ece280e", \
"timezone": "Asia/Calcutta", \
"businessId": 16, \
"userId": "0e3becae-****-****-bc3e-14ebc9504096", \
"fromDate": "2020-8-4 11:18:34", \
"toDate": "2021-08-04 11:18:20", \
"surveyStartDate": "2020-08-04 11:18:20", \
"surveyEndDate": "2021-08-04 11:18:20", \
"anonymous": false, \
"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
"participantGroupId": 10, \
"kickoff": "2020-8-4 11:18:34", \
"type": "publish", \
"kickOffConfig": null, \
"subject": "Just drop a thought!", \
"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
"reminders": [null, null], \
"host": "https://test.dropthought.com", \
"cc": "DT", \
"language": "en", \
"reminderConfig": [{ \
"timezone": "Asia/Calcutta", \
"interval": 1, \
"intervalType": "days", \
"kickOffTime": "11:18:44" \
}], \
"message": "Hi *( Name )*! We value your opinion! ", \
"reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!", \
"smsMessage": "Hi *( Name )*! We value your opinion! " \
}' 'https://test.dropthought.com/dtapp/api/publish/draft'
# Example Response
{
"success": true
}
# Example Request (Journey Type)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
"fromEmail": "aksharasridhar97%40gmail.com", \
"fromName": "Dropthought", \
"channels": ["email", "link", "sms"], \
"surveyId": "8c393e67-****-****-969d-34941ece280e", \
"timezone": "Asia/Calcutta", \
"businessId": 16, \
"userId": "0e3becae-44f2-****-****-14ebc9504096", \
"fromDate": "2020-8-4 11:18:34", \
"toDate": "2021-08-04 11:18:20", \
"surveyStartDate": "2020-08-04 11:18:20", \
"surveyEndDate": "2021-08-04 11:18:20", \
"anonymous": false, \
"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
"participantGroupId": 10, \
"kickoff": "2020-8-4 11:18:34", \
"type": "journey", \
"kickOffConfig": { \
"timezone": "Asia/Calcutta", \
"interval": 1, \
"intervalType": "days", \
"kickOffTime": "11:18:00", \
"metaDataHeader": "Joining date" \
}, \
"subject": "Just drop a thought!", \
"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
"reminders": [null, null], \
"host": "https://test.dropthought.com", \
"cc": "DT", \
"language": "en", \
"reminderConfig": [{ \
"timezone": "Asia/Calcutta", \
"interval": 1, \
"intervalType": "days", \
"kickOffTime": "11:18:44" \
}], \
"message": "Hi *( Name )*! We value your opinion! ", \
"reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!", \
"smsMessage": "Hi *( Name )*! We value your opinion! " \
}' 'https://test.dropthought.com/dtapp/api/publish/draft'
# Example Response
{
"success": true
}
# Get Saved Program
GET /publish/draft/survey/:surveyuuid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| surveyuuid | string | unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language of the program (en) |
| timezone | string | true | timezone of the request (America/Los_Angles) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | save publish program | array of publish program objects |
# save publish program object
| Path | Type | Description |
|---|---|---|
| surveyId | string | unique id of program entity |
| tagId | array[string] | unique ids of tags associated with the program |
| surveyStartDate | string | program activates at the given date & time |
| surveyEndDate | string | program expires at the given date & time |
| channels | array[string] | number of questions in the template |
| language | string | current language of published program |
| type | string | indicates distribution type (publish/journey/none) |
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| timezone | string | timezone of the program to be triggered |
| surveyName | string | name of the program |
| host | string | indicates the host from which program is published |
| recipientId | array[int] | participantGroupId of the lists published |
| subject | string | subject of the email to be sent |
| reminderOneSubject | string | subject of the 1st reminder |
| reminderTwoSubject | string | subject of the 2nd reminder |
| reminderOneMessage | string | email body of 1st reminder |
| reminderTwoMessage | string | email body of 2nd reminder |
| smsMessage | string | message to be included in sms |
| fromEmail | string | indicates sender email |
| imageUrl | string | url of image attached to the email body |
| fromName | string | indicated sender name |
| kickOffConfig | array[json] | indicates the publish details in journey scenario |
| kickoff | string | indicates the date when the program needs to be published |
| kickOffTime | string | indicates the time when the program needs to be published |
| businessUUID | string | Unique identifier of business |
| reminderConfig | array[json] | indicates reminder details |
| message | string | indicates the message in email body |
| fromDate | string | program activates at the given date & time |
| toDate | string | program expires at the given date & time |
# kickOffConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| metaDataHeader | string | columns in the list that has metadata type date |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# reminderConfig
| Path | Type | Description |
|---|---|---|
| intervalType | string | indicates the interval type for the trigger (minutes/hours/days/weeks/months) |
| timezone | string | timezone of the program to be triggered |
| interval | string | indicates the numerical value for interval |
| kickOffTime | string | indicates the time when the program needs to be triggered |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/publish/draft/survey/8c393e67-****-****-969d-34941ece280e?timezone=Asia%2FCalcutta&language=en'
# Example Response
{
"result": {
"reminderTwoMessage": "",
"surveyId": "8c393e67-****-****-969d-34941ece280e",
"smsMessage": "Hi *( Name )*! We value your opinion! ",
"tagId": [
"98af4beb-****-****-aa95-22bb53d09496"
],
"subject": "Just drop a thought!",
"timezone": "Asia/Calcutta",
"language": "en",
"type": "publish",
"fromEmail": "akshara@dropthought.com",
"kickOffConfig": {
"intervalType": "days",
"timezone": "Asia/Calcutta",
"metaDataHeader": "Joining date",
"interval": 1,
"kickOffTime": "11:18:00"
},
"surveyName": "",
"imageUrl": "",
"fromName": "Dropthought",
"host": "https://test.dropthought.com",
"reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!",
"kickOffTime": "11:18:34",
"businessUUID": "161d68ec-****-****-a81f-9794a85ab723",
"participantGroupId": 10,
"kickoff": "2020-08-04 11:18:34",
"reminderConfig": [
{
"intervalType": "days",
"timezone": "Asia/Calcutta",
"metaDataHeader": null,
"interval": 1,
"kickOffTime": "11:18:44"
}
],
"toDate": "2021-08-04 11:18:20",
"banner": "",
"message": "Hi *( Name )*! We value your opinion! ",
"surveyStartDate": "2020-08-04 11:18:20",
"fromDate": "2020-08-04 11:18:20",
"reminderOneSubject": "Reminder 1 - Just drop a thought!",
"channels": [
"email",
"link",
"sms"
],
"anonymous": "false",
"reminderTwoSubject": "Final Reminder - Just drop a thought!",
"surveyEndDate": "2021-08-04 11:18:20"
},
"success": true
}
# Review Publish Program
GET /publish/review/programid/:programid
# Path Parameters
| Path | Type | Description |
|---|---|---|
| programid | string | unique identifier of program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| language | string | true | language of the program (en) |
| timezone | string | true | timezone of the request (America/Los_Angles) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | review program object | review program objects |
# review program object
| Path | Type | Description |
|---|---|---|
| nps | boolean | indicates whether nps question is present in program |
| surveyName | string | indicates name of the program |
| anonymous | boolean | indicates whether user can provide feedback anonymously |
| metrics | array[metrics] | metrics used in the program |
| startDate | string | program gets activated at the given date & time |
| endDate | string | program expires at the given date & time |
# metrics object
| Path | Type | Description |
|---|---|---|
| metricName | string | indicates name of the metric |
| metricId | int | unique identifier of the metric |
| questionsCount | int | number of questions the metric is associated with |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/publish/review/programid/8c393e67-****-****-969d-34941ece280e?timezone=America%2FLos_Angeles&language=en'
# Example Response
{
"result": {
"nps": true,
"surveyName": "Program 1",
"endDate": "2021-08-03 22:48:20",
"anonymous": false,
"metrics": [
{
"metricName": "HR",
"metricId": 1,
"questionsCount": 1
}
],
"startDate": "2020-08-03 22:48:20"
},
"success": true
}
# Text Analytics
# Get Text Analytics Summary Data for Program (deprecated)
GET /eliza/data/summary/api/v1/:company_uuid/:program_uuid
# Path Parameters
| Path | Type | Optional | Description (sample value) |
|---|---|---|---|
| program_uuid | string | false | unique id of the program (43408826_****_4f3f_85de_c3ae5c0ddcda) |
| company_uuid | string | false | unique id of the business (0c904c4b-****-45bd-b252-bc81eee2c98c) |
# Query Parameters
| Path | Type | Optional | Value | Description |
|---|---|---|---|---|
| sort | string | false | high, low, positive, negative, cat-sent-score | the categories will be sorted based on the value provided. high = sort by highest # of feedback, low = sort by lowest # of feedback, positive = sort by most positive, negative = sort by most negative, cat-sent-score = sort by category sentiment score, otherwise default will sort by alphabetical |
| surveyQuestionId | string | false | survey question uuid | the results will match this survey question uuid |
| toDate | string | false | YYYY-MM-DD | the results will be before this date (inclusive) |
| fromDate | string | false | YYYY-MM-DD | the results will be after this date (inclusive) |
| timezone | string | false | javascript timezone eg America/Los_Angeles | the toDate and fromDate values will be converted to UTC based on the timezone provided |
| filterQuery | string | false | key/value pair expressions which must be URL encoded eg key1=value1 && key2=value2 | the results will match what is in the application data |
# Response fields
| Path | Type | Description |
|---|---|---|
| averageCategoryNegativePercentage | number | the average of all the negative percentages for all the categories |
| averageCategoryPositivePercentage | number | the average of all the positive percentages for all the categories |
| averageCategorySentimentScore | number | the average category sentiment score, which is calculated by averageCategoryPositivePercentage - averageCategoryNegativePercentage |
| bestCategory | string | the best category based on positive sentiment percentage, followed by positive sentiment count if the positive sentiment percentage is the same. If there is no category with a positive sentiment percentage, then the value is "-" |
| bestCategoryDataList | array of category object | a list of the 3 highest categories whose category sentiment score are above the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-". |
| categories | array of category object | a list of all the categories |
| totalCount | number | the total count of analyzed text |
| totalNegativeCount | number | the total count of analyzed text with a negative sentiment |
| totalNegativePercentage | number | the total % of analyzed text with a negative sentiment |
| totalNeutralCount | number | the total count of analyzed text with a neutral sentiment |
| totalNeutralPercentage | number | the total % of analyzed text with a neutral sentiment |
| totalPositiveCount | number | the total count of analyzed text with a positive sentiment |
| totalPositivePercentage | number | the total % of analyzed text with a positive sentiment |
| worstCategory | string | the worst category based on negative sentiment percentage, followed by negative sentiment count if the negative sentiment percentage is the same. If there is no category with a negative sentiment percentage, then the value is "-" |
| worstCategoryDataList | array of category object | a list of the 3 lowest categories whose category sentiment score are below the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-". |
# Category Object
| Path | Type | Description |
|---|---|---|
| categoryCount | number | the total count for the category |
| categoryName | string | the name of the category |
| categoryNegativeCount | number | the negative sentiment count for the category |
| categoryNegativePercentage | number | the negative sentiment % for the category |
| categoryNeutralCount | number | the neutral sentiment count for the category |
| categoryNeutralPercentage | number | the neutral sentiment % for the category |
| categoryPositiveCount | number | the positive sentiment count for the category |
| categoryPositivePercentage | number | the positive sentiment % for the category |
| categorySentimentScore | number | The category sentiment score, which is calculated by categoryPositivePercentage - categoryNegativePercentage. Note: This parameter only appears for the bestCategoryDataList and worstCategoryDataList parameters. |
# Example Request
curl --location --request GET 'https://app.dropthought.com/eliza/data/summary/api/v1/1681f5ac-****-46c8-b0c8-7b27d3579f78/659a49f6_****_4f9d_acc2_de45e868ffe6?fromDate=2020-6-22&toDate=2020-6-29&surveyQuestionId=c1674d35-6ad7-4289-806c-7f856f918476&timezone=Asia/Calcutta%0A&filterQuery'
# Example Response
{
"averageCategoryNegativePercentage": 76.1,
"averageCategoryPositivePercentage": 8.83,
"averageCategorySentimentScore": -67.26,
"bestCategory": "Product Price",
"bestCategoryDataList": [
{
"categoryCount": 10401,
"categoryName": "Product Price",
"categoryNegativeCount": 3469,
"categoryNegativePercentage": 33.35,
"categoryNeutralCount": 6066,
"categoryNeutralPercentage": 58.32,
"categoryPositiveCount": 866,
"categoryPositivePercentage": 8.33,
"categorySentimentScore": -25.02
},
{
"categoryCount": 3416,
"categoryName": "Nook",
"categoryNegativeCount": 2180,
"categoryNegativePercentage": 63.82,
"categoryNeutralCount": 436,
"categoryNeutralPercentage": 12.76,
"categoryPositiveCount": 800,
"categoryPositivePercentage": 23.42,
"categorySentimentScore": -40.4
},
{
"categoryCount": 2619,
"categoryName": "Product",
"categoryNegativeCount": 1905,
"categoryNegativePercentage": 72.74,
"categoryNeutralCount": 248,
"categoryNeutralPercentage": 9.47,
"categoryPositiveCount": 466,
"categoryPositivePercentage": 17.79,
"categorySentimentScore": -54.95
}
],
"categories": [
{
"categoryCount": 1823,
"categoryName": "Advertisement Positions",
"categoryNegativeCount": 1426,
"categoryNegativePercentage": 78.22,
"categoryNeutralCount": 265,
"categoryNeutralPercentage": 14.54,
"categoryPositiveCount": 132,
"categoryPositivePercentage": 7.24
},
{
"categoryCount": 4020,
"categoryName": "Website Design",
"categoryNegativeCount": 2961,
"categoryNegativePercentage": 73.66,
"categoryNeutralCount": 586,
"categoryNeutralPercentage": 14.58,
"categoryPositiveCount": 473,
"categoryPositivePercentage": 11.77
},
{
"categoryCount": 2967,
"categoryName": "Website Functionality",
"categoryNegativeCount": 2578,
"categoryNegativePercentage": 86.89,
"categoryNeutralCount": 296,
"categoryNeutralPercentage": 9.98,
"categoryPositiveCount": 93,
"categoryPositivePercentage": 3.13
},
{
"categoryCount": 6521,
"categoryName": "Website Navigation",
"categoryNegativeCount": 5146,
"categoryNegativePercentage": 78.91,
"categoryNeutralCount": 689,
"categoryNeutralPercentage": 10.57,
"categoryPositiveCount": 686,
"categoryPositivePercentage": 10.52
},
{
"categoryCount": 2340,
"categoryName": "Uncategorized",
"categoryNegativeCount": 1724,
"categoryNegativePercentage": 73.68,
"categoryNeutralCount": 217,
"categoryNeutralPercentage": 9.27,
"categoryPositiveCount": 399,
"categoryPositivePercentage": 17.05
}
],
"totalCount": 77457,
"totalNegativeCount": 55344,
"totalNegativePercentage": 71.45,
"totalNeutralCount": 14382,
"totalNeutralPercentage": 18.57,
"totalPositiveCount": 7731,
"totalPositivePercentage": 9.98,
"worstCategory": "Nook Availability",
"worstCategoryDataList": [
{
"categoryCount": 1780,
"categoryName": "Nook Availability",
"categoryNegativeCount": 1589,
"categoryNegativePercentage": 89.27,
"categoryNeutralCount": 141,
"categoryNeutralPercentage": 7.92,
"categoryPositiveCount": 50,
"categoryPositivePercentage": 2.81,
"categorySentimentScore": -86.46
},
{
"categoryCount": 4063,
"categoryName": "Product Functionality",
"categoryNegativeCount": 3578,
"categoryNegativePercentage": 88.06,
"categoryNeutralCount": 352,
"categoryNeutralPercentage": 8.66,
"categoryPositiveCount": 133,
"categoryPositivePercentage": 3.27,
"categorySentimentScore": -84.79
},
{
"categoryCount": 1538,
"categoryName": "Page Loading",
"categoryNegativeCount": 1349,
"categoryNegativePercentage": 87.71,
"categoryNeutralCount": 130,
"categoryNeutralPercentage": 8.45,
"categoryPositiveCount": 59,
"categoryPositivePercentage": 3.84,
"categorySentimentScore": -83.87
}
]
# Get Text Analytics Program Word Cloud
GET /api/eliza/wordcloud/surveyid/:surveyuuid
# Path Parameters
| Path | Type | Optional | Description (sample value) |
|---|---|---|---|
| surveyuuid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| wcMinCount | string | true | only return words that have at least this many occurences |
| wcMaxCount | string | true | only return words that have at most this many occurences |
| surveyQuestionId | string | true | the results will match this survey question uuid |
| toDate | string | true | the results will be before this date (inclusive) |
| fromDate | string | true | the results will be after this date (inclusive) |
| category | string | true | the results will match this category |
| textSentiment | string | true | the results will match this textSentiment |
| timezone | string | true | the toDate and fromDate values will be converted to UTC based on the timezone provided |
| surveyFilterId | string | true | the results will match what is in the application data |
| type | string | true | indicates type of plan |
# Response fields
| Parameter | Type | Description |
|---|---|---|
| companyId | string | company uuid |
| surveyId | string | program uuid |
| wordCloudDataList | array of word cloud data object | a list of word cloud data in descending order of number of occurrences |
| wordCloudMaxCount | number | maximum number of occurrences for a word in the the word cloud |
| wordCloudMinCount | number | minimum number of occurrences for a word in the the word cloud |
| wordCloudPartsOfSpeech | array of parts of speech | a list of parts of speech that are used to match words in the word cloud |
| wordCloudSize | number | number of words in the word cloud |
# Word Cloud Data Object
| Parameter | Type | Description |
|---|---|---|
| count | number | the number of occurrences for the word in the the word cloud |
| word | string | the word (in lemma form) in the word cloud |
# Example Request
curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/wordcloud/surveyid/17a7fcf4-****-****-8178-b9a03007e866?wcMinCount=1&wcMaxCount=1500&fromDate=2020-12-22&toDate=2020-12-29&surveyQuestionId=&timezone=Asia/Calcutta&surveyFilterId=' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.'
# Example Response
{
"companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
"surveyId": "17a7fcf4_****_****_8178_b9a03007e866",
"wordCloudDataList": [
{
"count": 10,
"word": "guy"
},
{
"count": 6,
"word": "power"
},
{
"count": 5,
"word": "pg&e"
},
{
"count": 4,
"word": "day"
},
{
"count": 4,
"word": "community"
},
{
"count": 4,
"word": "company"
},
{
"count": 3,
"word": "resources"
},
{
"count": 3,
"word": "jobs"
},
{
"count": 3,
"word": "website"
},
{
"count": 3,
"word": "phone"
},
{
"count": 3,
"word": "information"
},
{
"count": 3,
"word": "time"
},
{
"count": 2,
"word": "text"
},
{
"count": 2,
"word": "kind"
},
{
"count": 2,
"word": "people"
},
{
"count": 2,
"word": "internet"
},
{
"count": 2,
"word": "reason"
},
{
"count": 2,
"word": "services"
},
{
"count": 2,
"word": "site"
},
{
"count": 2,
"word": "outreach"
},
{
"count": 2,
"word": "alert"
},
{
"count": 1,
"word": "roi"
},
{
"count": 1,
"word": "public safety power"
},
{
"count": 1,
"word": "negligence"
},
{
"count": 1,
"word": "rest"
},
{
"count": 1,
"word": "recent month"
},
{
"count": 1,
"word": "facilities"
},
{
"count": 1,
"word": "someone"
},
{
"count": 1,
"word": "around"
},
{
"count": 1,
"word": "means"
},
{
"count": 1,
"word": "emergency services"
},
{
"count": 1,
"word": "reliable source"
},
{
"count": 1,
"word": "credit"
},
{
"count": 1,
"word": "little bit"
},
{
"count": 1,
"word": "order"
}
],
"wordCloudMaxCount": 1500,
"wordCloudMinCount": 1,
"wordCloudPartsOfSpeech": [
"n",
"v",
"adj",
"adv",
"pr"
],
"wordCloudSize": 201
}
# Get Text Analytics Program Summary
GET /api/eliza/summary/surveyid/:surveyuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyuuid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyQuestionId | string | true | the results will match this survey question uuid |
| toDate | string | true | the results will be before this date (inclusive) |
| fromDate | string | true | the results will be after this date (inclusive) |
| category | string | true | the results will match this category |
| textSentiment | string | true | the results will match this textSentiment |
| timezone | string | true | the toDate and fromDate values will be converted to UTC based on the timezone provided |
| surveyFilterId | string | true | the results will match what is in the application data |
| type | string | true | indicates type of plan |
# Response fields
| Path | Type | Description |
|---|---|---|
| averageCategoryNegativePercentage | number | the average of all the negative percentages for all the categories |
| averageCategoryPositivePercentage | number | the average of all the positive percentages for all the categories |
| averageCategorySentimentScore | number | the average category sentiment score, which is calculated by averageCategoryPositivePercentage - averageCategoryNegativePercentage |
| bestCategory | string | the best category based on positive sentiment percentage, followed by positive sentiment count if the positive sentiment percentage is the same. If there is no category with a positive sentiment percentage, then the value is "-" |
| bestCategoryDataList | array of category object | a list of the 3 highest categories whose category sentiment score are above the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-". |
| categories | array of category object | a list of all the categories |
| totalCount | number | the total count of analyzed text |
| totalNegativeCount | number | the total count of analyzed text with a negative sentiment |
| totalNegativePercentage | number | the total % of analyzed text with a negative sentiment |
| totalNeutralCount | number | the total count of analyzed text with a neutral sentiment |
| totalNeutralPercentage | number | the total % of analyzed text with a neutral sentiment |
| totalPositiveCount | number | the total count of analyzed text with a positive sentiment |
| totalPositivePercentage | number | the total % of analyzed text with a positive sentiment |
| worstCategory | string | the worst category based on negative sentiment percentage, followed by negative sentiment count if the negative sentiment percentage is the same. If there is no category with a negative sentiment percentage, then the value is "-" |
| worstCategoryDataList | array of category object | a list of the 3 lowest categories whose category sentiment score are below the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-". |
# Category Object
| Path | Type | Description |
|---|---|---|
| categoryCount | number | the total count for the category |
| categoryName | string | the name of the category |
| categoryNegativeCount | number | the negative sentiment count for the category |
| categoryNegativePercentage | number | the negative sentiment % for the category |
| categoryNeutralCount | number | the neutral sentiment count for the category |
| categoryNeutralPercentage | number | the neutral sentiment % for the category |
| categoryPositiveCount | number | the positive sentiment count for the category |
| categoryPositivePercentage | number | the positive sentiment % for the category |
| categorySentimentScore | number | The category sentiment score, which is calculated by categoryPositivePercentage - categoryNegativePercentage. Note: This parameter only appears for the bestCategoryDataList and worstCategoryDataList parameters. |
# Example Request
curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/summary/surveyid/17a7fcf4-****-****-8178-b9a03007e866?timezone=Asia/Calcutta&surveyFilterId=&fromDate=2020-11-29%2000:00:00&toDate=2020-12-29%2023:59:59' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'
# Example Response
{{
"averageCategoryNegativePercentage": 48.84,
"averageCategoryPositivePercentage": 42.6,
"averageCategorySentimentScore": -6.24,
"bestCategory": "Evacuation",
"bestCategoryDataList": [
{
"categoryCount": 1,
"categoryName": "Evacuation",
"categoryNegativeCount": 0,
"categoryNegativePercentage": 0,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 1,
"categoryPositivePercentage": 100,
"categorySentimentScore": 100
},
{
"categoryCount": 4,
"categoryName": "Service Timeliness",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 25,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 3,
"categoryPositivePercentage": 75,
"categorySentimentScore": 50
},
{
"categoryCount": 6,
"categoryName": "Professionalism",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 16.67,
"categoryNeutralCount": 1,
"categoryNeutralPercentage": 16.67,
"categoryPositiveCount": 4,
"categoryPositivePercentage": 66.67,
"categorySentimentScore": 50
}
],
"categories": [
{
"categoryCount": 19,
"categoryName": "Communication",
"categoryNegativeCount": 9,
"categoryNegativePercentage": 47.37,
"categoryNeutralCount": 7,
"categoryNeutralPercentage": 36.84,
"categoryPositiveCount": 3,
"categoryPositivePercentage": 15.79
},
{
"categoryCount": 20,
"categoryName": "Customer satisfaction",
"categoryNegativeCount": 7,
"categoryNegativePercentage": 35,
"categoryNeutralCount": 3,
"categoryNeutralPercentage": 15,
"categoryPositiveCount": 10,
"categoryPositivePercentage": 50
},
{
"categoryCount": 4,
"categoryName": "Disaster affect",
"categoryNegativeCount": 4,
"categoryNegativePercentage": 100,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 0,
"categoryPositivePercentage": 0
},
{
"categoryCount": 1,
"categoryName": "Evacuation",
"categoryNegativeCount": 0,
"categoryNegativePercentage": 0,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 1,
"categoryPositivePercentage": 100
},
{
"categoryCount": 1,
"categoryName": "Infrastructure",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 100,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 0,
"categoryPositivePercentage": 0
},
{
"categoryCount": 6,
"categoryName": "Professionalism",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 16.67,
"categoryNeutralCount": 1,
"categoryNeutralPercentage": 16.67,
"categoryPositiveCount": 4,
"categoryPositivePercentage": 66.67
},
{
"categoryCount": 3,
"categoryName": "Safety protocols",
"categoryNegativeCount": 2,
"categoryNegativePercentage": 66.67,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 1,
"categoryPositivePercentage": 33.33
},
{
"categoryCount": 4,
"categoryName": "Service Timeliness",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 25,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 3,
"categoryPositivePercentage": 75
},
{
"categoryCount": 9,
"categoryName": "Uncategorized",
"categoryNegativeCount": 2,
"categoryNegativePercentage": 22.22,
"categoryNeutralCount": 5,
"categoryNeutralPercentage": 55.56,
"categoryPositiveCount": 2,
"categoryPositivePercentage": 22.22
}
],
"totalCount": 67,
"totalNegativeCount": 27,
"totalNegativePercentage": 40.3,
"totalNeutralCount": 16,
"totalNeutralPercentage": 23.88,
"totalPositiveCount": 24,
"totalPositivePercentage": 35.82,
"worstCategory": "Disaster affect",
"worstCategoryDataList": [
{
"categoryCount": 4,
"categoryName": "Disaster affect",
"categoryNegativeCount": 4,
"categoryNegativePercentage": 100,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 0,
"categoryPositivePercentage": 0,
"categorySentimentScore": -100
},
{
"categoryCount": 1,
"categoryName": "Infrastructure",
"categoryNegativeCount": 1,
"categoryNegativePercentage": 100,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 0,
"categoryPositivePercentage": 0,
"categorySentimentScore": -100
},
{
"categoryCount": 3,
"categoryName": "Safety protocols",
"categoryNegativeCount": 2,
"categoryNegativePercentage": 66.67,
"categoryNeutralCount": 0,
"categoryNeutralPercentage": 0,
"categoryPositiveCount": 1,
"categoryPositivePercentage": 33.33,
"categorySentimentScore": -33.34
}
]
}
# Get Text Analytics Program Data
GET /api/eliza/data/surveyid/:surveyuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyuuid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyQuestionId | string | true | the results will match this survey question uuid |
| toDate | string | true | the results will be before this date (inclusive) |
| fromDate | string | true | the results will be after this date (inclusive) |
| category | string | true | the results will match this category |
| textSentiment | string | true | the results will match this textSentiment |
| timezone | string | true | the toDate and fromDate values will be converted to UTC based on the timezone provided |
| surveyFilterId | string | true | the results will match what is in the application data |
| type | string | true | indicates type of plan |
| offset | string | true | the results will be offset by this value |
| limit | string | true | the number of results will not execeed this value |
# Response fields
| Parameter | Type | Description |
|---|---|---|
| categoryName | string | name of the category |
| companyId | string | company uuid |
| feedbackList | array of feedback object | a list of all the feedback for the given company uuid, program uuid, and category name |
| surveyId | string | program uuid |
# Feedback Object
| Parameter | Type | Description |
|---|---|---|
| customerFeedbackText | string | customer feedback response |
| dateTimestamp | string | date timestamp of the feedback |
| questionText | string | feedback question |
| surveyQuestionId | string | survey question uuid |
| textSentiment | string | sentiment of the feedback: positive, negative, or neutral |
# Example Request
curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/data/surveyid/17a7fcf4-****-****-8178-b9a03007e866?fromDate=2020-11-29&toDate=2020-12-29&textSentiment=Positive&limit=3&offset=0&timezone=Asia/Calcutta&surveyFilterId=&category=Communication' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'
# Example Response
{
"categoryName": "Communication",
"companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
"feedbackList": [
{
"customerFeedbackText": "Definitely a good communicative foundation to build on, to try and better tackle company outreach.",
"dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
"questionText": "Please tell us how we can improve",
"surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
"textSentiment": "Positive"
},
{
"customerFeedbackText": "I get inconsistent text and phone notification regarding Public Safety Power Shutoffs, but I have found the associated website to be pretty informative and helpful.",
"dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
"questionText": "Please tell us how we can improve",
"surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
"textSentiment": "Positive"
},
{
"customerFeedbackText": "Us community members having more transparency on that really goes a long way toward our perception of your company.",
"dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
"questionText": "Please tell us how we can improve",
"surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
"textSentiment": "Positive"
}
],
"surveyId": "17a7fcf4_****_****_8178_b9a03007e866"
}
# Get Text Analytics Program Feedback
GET /api/eliza/data/feedback/surveyid/:surveyuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyuuid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyQuestionId | string | true | the results will match this survey question uuid |
| toDate | string | true | the results will be before this date (inclusive) |
| fromDate | string | true | the results will be after this date (inclusive) |
| category | string | true | the results will match this category |
| textSentiment | string | true | the results will match this textSentiment |
| timezone | string | true | the toDate and fromDate values will be converted to UTC based on the timezone provided |
| surveyFilterId | string | true | the results will match what is in the application data |
| type | string | true | indicates type of plan |
# Response fields
| Parameter | Type | Description |
|---|---|---|
| companyId | string | company uuid |
| surveyId | string | program uuid |
| feedbackDataList | array of feedback data object | a list of feedback data (shown in the same order as the ids query parameter, if provided) |
# Feedback Data Object
| Parameter | Type | Description |
|---|---|---|
| feedback | string | the feedback text |
| submissionToken | string | the submission token |
| classifications | string | A list of classifications for the feedback text that matches the order of the analyzed text. Each classification consists of a key/value pair, where the key is the category and the value is the associated sentiment. |
| overallSentiment | string | the overall sentiment of the feedback text based on the sentiment counts |
# Example Request
curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/data/feedback/surveyid/17a7fcf4-****-****-8178-b9a03007e866?fromDate=2020-11-29&toDate=2020-12-29&timezone=Asia/Calcutta&category=Communication&textSentiment=' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'
# Example Response
{
"companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
"feedbackDataList": [
{
"classifications": [
{
"Communication": "Negative"
},
{
"Safety protocols": "Negative"
}
],
"feedback": "I don't think there is enough communication from your company to keep us informed. I feel like your outreach could use significant improvement so local businesses can adjust to power shutoff notices and changes in customer traffic that result from that.",
"feedbackId": 1,
"overallSentiment": "Overall Negative",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "dl3raod8au6kani90hkg0ovv8s"
},
{
"classifications": [
{
"Customer satisfaction ": "Negative"
},
{
"Infrastructure ": "Negative"
}
],
"feedback": "The falterings in service quality of PG&E come across as negligence and even indifference to the unique needs for the communities it serves. I keep seeing what comes across as bad mismanagement of customer money on the wrong kind of infrastructure, doing more patching up than modernization.",
"feedbackId": 11,
"overallSentiment": "Overall Negative",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "49odkfdln6pjg4g4oh9hnki7mg"
},
{
"classifications": [
{
"Safety protocols": "Positive"
},
{
"Customer satisfaction ": "Negative"
}
],
"feedback": "There is a wealth of safety information PG&E has provided to prepare for outages and explain why and when they occur, so there does appear to be a degree of thought and care in equipping their customers with information and guidance to prepare contingencies. The outreach and efforts to try and raise awareness of these associate resources does not really feel like it�s there, though, as each company department is seemingly really just providing support on a particular need like billing or service changes or listing helpful safety information and alerts, but that there is a lot of digging needed to take full advantage of the resources available.",
"feedbackId": 22,
"overallSentiment": "Overall Neutral",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "eit149j8hpahsosjubf1mi6of8"
},
{
"classifications": [
{
"Customer satisfaction ": "Positive"
},
{
"Disaster affect": "Negative"
}
],
"feedback": "I feel PG&E has made a valiant effort to try and keep us posted has best they can, and so it�s definitely appreciated they�re keeping their website updated with the latest news and resources. No one could have foreseen such a strain on the infrastructure that we�ve all experienced.",
"feedbackId": 28,
"overallSentiment": "Overall Neutral",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "n6bhi371ao0u95qfqhrsn5o8jk"
},
{
"classifications": [
{
"Communication": "Negative"
},
{
"Professionalism": "Positive"
}
],
"feedback": "The problem is, here, that I don�t exactly know who in the company to turn to regarding complaints I need addressed or how I�m to best address them. There are a lot of infrastructural concerns that I know must be taken into account, because I could complain that the servicing of my residence by PG&E technicians leaves a lot to be desired but the communications by company representatives by phone or text are surprisingly attentive and courteous.",
"feedbackId": 34,
"overallSentiment": "Overall Neutral",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "llo15cprirne5jvsrd484hr6t"
},
{
"classifications": [
{
"Communication": "Negative"
},
{
"Communication": "Neutral"
}
],
"feedback": "In order for us to make the best preparations for our patients and best safeguard their welfare, we cannot reliably do so when there are lapses in your communicativeness towards facilities like ours. That kind of situation can be downright dangerous for the people in our care, and PG&E must be consistent with those communcations.",
"feedbackId": 40,
"overallSentiment": "Overall Negative",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "f3ist33vqihbs6k1gmbm44v532"
},
{
"classifications": [
{
"Communication": "Positive"
},
{
"Communication": "Neutral"
}
],
"feedback": "I get inconsistent text and phone notification regarding Public Safety Power Shutoffs, but I have found the associated website to be pretty informative and helpful. I love that I now have the means to be able to distinguish between the very helpful component of the solution (the site) and what should be a far more useful but currently much more unreliable component (the text and phone notifications) via my written feedback here, so that has helped with feeling heard.",
"feedbackId": 49,
"overallSentiment": "Overall Positive",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "7ocohpvv0o38mgohv1qfps3q2q"
},
{
"classifications": [
{
"Customer satisfaction ": "Positive"
},
{
"Customer satisfaction ": "Positive"
}
],
"feedback": "The service accommodations that PG&E have made available to me (though I did have some trouble finding them at first) through Third-Party Notification and the Medical Baseline program to better look after my disabled relatives have been great to utilize. Every little bit helps right now to try and make things easier, so that's definitely appreciated.",
"feedbackId": 63,
"overallSentiment": "Overall Positive",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "tbolhvel16bqf3q2ar9uo7q303"
},
{
"classifications": [
{
"Safety protocols": "Negative"
},
{
"Service Timeliness": "Negative"
}
],
"feedback": "Why does it always seem that the safety alerts and notifications we get come after the need has already past, if we get any kind of a heads-up at all? We depend on these alerts so badly so we can plan our day around potential service interruptions, so if we don�t get them in a timely fashion then everything gets thrown out of whack!",
"feedbackId": 67,
"overallSentiment": "Overall Negative",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "fklquadrumcah08i3v4rhnq2jr"
},
{
"classifications": [
{
"Uncategorized": "Neutral"
},
{
"Service Timeliness": "Positive"
},
{
"Customer satisfaction ": "Neutral"
},
{
"Evacuation": "Positive"
},
{
"Customer satisfaction ": "Positive"
}
],
"feedback": "Whelp. I will say this for you, you got the power back on up here pretty quickly after the fire. Also, this one wasn't even your fault! Just kidding ;) It was real nice to come home to power after being evacuated for over 40 days. I know you guys aren't hearing much praise these days, but we do appreciate all your hard work up here.",
"feedbackId": 73,
"overallSentiment": "Overall Positive",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "h952psdlv3hh6hsko0f4vgf3g6"
},
{
"classifications": [
{
"Communication": "Neutral"
},
{
"Disaster affect": "Negative"
},
{
"Communication": "Neutral"
}
],
"feedback": "It is imperative that there be a reliable source of information that is easily accessible. This is a rural area, if we don't have power, no internet, no way to contact emergency services, we don't have any real recourse available to us at that point. Please take this opportunity to let me know what you then expect us to do, so you don't keep having to answer the same questions and I can pass the information along.",
"feedbackId": 96,
"overallSentiment": "Overall Neutral",
"questionId": "4e1fbbad-****-****-b33b-996313642900",
"questionText": "Please tell us how we can improve",
"submissionToken": "1pjqv03bo372jksq787nb2rlu7"
}
],
"surveyId": "17a7fcf4_****_****_8178_b9a03007e866"
}
# Tag link
# Create a tag link name
POST /link
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| tagLinkName | string | false | unique name of the tag list |
| createdBy | string | false | user unique id |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[taglink object] | generated taglink details |
# taglink object
| Path | Type | Description |
|---|---|---|
| id | integer | unique id of the tag link |
| tagLinkName | String | tag link name |
| createBy | String | unique id of user |
| linkGroups | array | list of groups in tag link |
| createdTime | datetime | tag created date time |
| modifiedTime | datetime | tag modified date time |
| tagLinkUniqueId | integer | unique id of the tag link |
| linkGroupUniqueId | String | unique id of the link groupId |
# Example Request
curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link' -H 'Content-Type: application/json' -H 'Authorization: token here' --data-raw '{
"tagLinkName": "Tag Link Name1",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db"
}
'
# Example Response
{
"result": [
{
"id": 5,
"linkGroups": "[]",
"linkGroupIds": [],
"tagLinkName": "Tag Link Name1",
"tagLinkUniqueId": "a44d5233-****-****-****-4a450c640a8f",
"createdTime": "2021-08-06 11:53:50.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db",
"linkGroupUniqueId": ""
}
],
"success": true
}
# Get tag links list by busienssUniqueId
GET /link
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pageId | integer | true | Page number default -1 |
| businessUniqeId | string | false | business unique Id |
| sort | string | true | sort by created_time (default) / modified_time |
| searchTerm | string | true | tag link name to be searched (value should be URL encoded string) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[taglink object] | generated taglink details |
| totalRecords | int | count of generated tag link |
| totalPages | int | count of total pages (10 tag links per page) |
# Example Request
curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link?businessUniqueId=1f987cfc-****-****-****-29f977f97097&pageId=1&sort=modified_time&searchTerm=tag' -H 'Authorization: Bearer token here'
# Example Response
{
"result": [
{
"id": 5,
"tagLinkName": "Tag Link Name1",
"tagLinkUniqueId": "a44d5233-****-****-****-4a450c640a8f",
"linkGroups": [],
"linkGroupIds": [],
"createdTime": "2021-08-06 11:53:50.0",
"modifiedTime": "2021-08-06 11:53:50.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db"
},
{
"id": 3,
"tagLinkName": "Tag Link Name2",
"tagLinkUniqueId": "de2bd09f-****-****-****-170bff967e98",
"linkGroups": [],
"linkGroupIds": [],
"createdTime": "2021-05-06 11:39:22.0",
"modifiedTime": "2021-05-06 11:39:22.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db"
},
{
"id": 1,
"tagLinkName": "Tag Link Name",
"tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
"linkGroups": [
4,
5,
6,
7,
8,
9
],
"linkGroupIds": [
"61d01e94-****-****-****-2aede97940e0",
"026c557b-****-****-****-0d305a9404b5",
"6f1e5ffa-****-****-****-094a7a073883",
"93e6a506-****-****-****-20f466f2fd4b",
"f32765db-****-****-****-23c86fac142e",
"843564fa-****-****-****-746b7b355b89"
],
"createdTime": "2021-05-05 14:44:45.0",
"modifiedTime": "2021-05-05 14:44:45.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db"
}
],
"totalRecords": 3,
"success": true,
"totalPages": 1
}
# Get tag link data details by tagUniqueId
GET /link/:taglinkuuid/data
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pageId | integer | true | Page number default -1 |
| sort | string | true | sort by created_time (default) / modified_time |
| searchTerm | string | true | tag link name to be searched (value should be URL encoded string) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[linkdata object] | generated taglink details |
| currentPageRecords | int | count of generated tag link |
| totalPages | int | count of total pages (10 tag links per page) |
| headerList | array[String] | header name of the list |
| metaDataList | array[String] | meta data type of each header |
| linkGroupId | int | primary Id of link group |
| linkGroupUUID | String | uniqueId of link group |
# taglinkdata object
| Path | Type | Description |
|---|---|---|
| id | int | primaryId of link |
| data | array[String] | data of the list |
| header | array[String] | header name of the list |
| metaData | array[String] | meta data type of each header |
| linkUUID | String | uniqueId of link |
| created_by | int | created user primaryid |
| created_time | String | link data created time |
| modified_time | String | link data modified time |
| created_by | int | modified user pirmaryId |
# Example Request
curl -L -X GET 'https://stage-api.dropthought.com/dtapp/api/link/b316cbea-****-****-****-d510278ad09b/data?pageId=1&sort=created_time&searchTerm=fir' -H 'Authorization: Bearer token here'
# Example Response
{
"result": [{
"data": ["First name", "Middle name", "Last name", "21", "Male", "Sales Manager"],
"created_by": 26,
"created_time": "2021-08-06 12:35:57.0",
"modified_by": null,
"modified_time": null,
"id": 1,
"metaData": ["NAME", "STRING", "STRING", "STRING", "STRING", "STRING"],
"header": ["Name", "Mid Name", "last name", "Age", "Gender", "Occupation"],
"linkUUId": "8ed84ee7-c495-4016-a692-d120b1145964"
}],
"headerList": ["Name", "Mid Name", "last name", "Age", "Gender", "Occupation"],
"metaDataList": ["NAME", "STRING", "STRING", "STRING", "STRING", "STRING"],
"totalRecords": 1,
"currentPageRecords": 1,
"success": true,
"linkGroupId": 8,
"linkGroupUUID": "51728dc8-****-****-****-86522705617f",
"totalPages": 1
}
# Get tag links list by tagLinkUniqueId
GET /link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taglinkuuid | string | false | unique id of the tag list |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[taglink object] | generated taglink details |
# Example Request
curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here'
# Example Response
{
"result": {
"modifiedTime": null,
"linkGroups": [
4,
5,
6,
7,
8,
9
],
"linkGroupIds": [
"61d01e94-****-****-****-2aede97940e0",
"026c557b-****-****-****-0d305a9404b5",
"6f1e5ffa-****-****-****-094a7a073883",
"93e6a506-****-****-****-20f466f2fd4b",
"f32765db-****-****-****-23c86fac142e",
"843564fa-****-****-****-746b7b355b89"
],
"createdBy": "56bfbb84-eac8-4288-b501-39982d8cf7db",
"createdTime": "2021-05-05 14:44:45.0",
"id": 1,
"tagLinkName": "Tag Link Name",
"tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a"
},
"success": true
}
# Update tag links list by tagLinkUniqueId
PUT /link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taglinkuuid | string | false | unique id of the tag list |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| tagLinkName | string | false | unique name of the tag list |
| modifiedBy | string | false | user unique id |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[] | empty array will be displayed |
# Example Request
curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"tagLinkName": "Tag Link Name1",
"modifiedBy": "56bfbb84-****-****-****-39982d8cf7db"
}'
# Example Response
{
"result": [],
"success": true
}
# Delete tag links list by tagLinkUniqueId
DELETE /link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taglinkuuid | string | false | unique id of the tag list |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[] | empty array will be displayed |
# Example Request
curl -L -X DELETE 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json'
# Example Response
{
"result": [],
"success": true
}
# Link group and data
# Create a link group
POST link/group
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| link | object | false/true | object with link details (required when link creation else optional) |
| linkGroup | object | false/true | object with link group details (optional when link creation) |
| tagLinkId | object | false | tag id or tag uuid of the list |
# link object
| Path | Type | Optional | Description |
|---|---|---|---|
| data | array[string] | false | details of the link |
| header | array[string] | false | header values of the list |
| metadata | array[string] | true | meta data mapping for the header |
# link group object
| Path | Type | Optional | Description |
|---|---|---|---|
| active | int | false | status of the link group |
| name | string | false | name of the link group |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | link response Object | link group details |
# link Response Object
| Path | Type | Description |
|---|---|---|
| id | integer | unique id of the tag link |
| tagLinkName | String | tag link name |
| tagLinkUniqueId | String | unique id of the tag link |
| linkGroups | array | list of group primaryId in tag link |
| linkGroupIds | array | list of group uniqueId in tag link |
| createBy | String | unique id of user |
| createdTime | datetime | tag created date time |
| modifiedTime | datetime | tag modified date time |
| linkGroupUniqueId | String | unique id of the link groupId |
# Example Request 1
curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/group' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"linkGroup": {
"active": 1,
"name": "6_1619763310637"
},
"tagLinkId": "a6a1a1ba-****-****-****-7132b11c4a4a"
}'
# Example Response 1
{
"result": [
{
"id": 1,
"linkGroups": "[4, 5, 6, 7, 8, 9, 11, 12]",
"linkGroupIds": [
"61d01e94-****-****-****-2aede97940e0",
"026c557b-****-****-****-0d305a9404b5",
"6f1e5ffa-****-****-****-094a7a073883",
"93e6a506-****-****-****-20f466f2fd4b",
"f32765db-****-****-****-23c86fac142e",
"843564fa-****-****-****-746b7b355b89",
"cc2473e3-****-****-****-17976f33c737"
"a1ab6457-****-****-****-197a5b48356e"
],
"tagLinkName": "Tag Link Name1",
"tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
"createdTime": "2021-05-05 14:44:45.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db",
"linkGroupUniqueId": "cc2473e3-****-****-****-17976f33c737"
}
],
"success": true
}
# Example Request 2
curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/group' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"link": {
"data": [
["Bus2", "Chennai", "Driver B"],
["Bus3", "Andhra", "Driver C"],
["Bus4", "Mumbai", "Driver D"]
],
"header": ["Name", "Location", "Id"]
},
"linkGroup": {
"active": 1,
"name": "6_1619763310637"
},
"tagLinkId": "a6a1a1ba-****-****-****-7132b11c4a4a"
}'
# Example Response 2
{
"result": [
{
"id": 1,
"linkGroups": "[4, 5, 6, 7, 8, 9, 11]",
"linkGroupIds": [
"61d01e94-****-****-****-2aede97940e0",
"026c557b-****-****-****-0d305a9404b5",
"6f1e5ffa-****-****-****-094a7a073883",
"93e6a506-****-****-****-20f466f2fd4b",
"f32765db-****-****-****-23c86fac142e",
"843564fa-****-****-****-746b7b355b89",
"cc2473e3-****-****-****-17976f33c737"
],
"tagLinkName": "Tag Link Name1",
"tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
"createdTime": "2021-05-05 14:44:45.0",
"createdBy": "56bfbb84-****-****-****-39982d8cf7db",
"linkGroupUniqueId": "cc2473e3-****-****-****-17976f33c737"
}
],
"success": true
}
# Create a link data
POST link/data/grp/:linkgroupuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| data | array[string] | false | details of the link |
| header | array[string] | false | header values of the list |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | link data response | link data details |
# link data response
| Path | Type | Optional | Description |
|---|---|---|---|
| data | array[string] | false | details of the link |
| header | array[string] | false | list of header values |
| meta_data | array[string] | false | list of metadata values |
| link_uuid | string | false | unique id of link data |
| id | integer | false | id of link data |
# Example Request
curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"data": [
"Bus2",
"Chennai",
"Driver B"
],
"header": [
"Name",
"Location",
"Id"
]
}'
# Example Response
{
"result": [
{
"id": 1,
"data": "[\"Bus2\", \"Chennai\", \"Driver B\"]",
"header": "[\"Name\", \"Location\", \"Id\"]",
"meta_data": "[\"STRING\", \"STRING\", \"STRING\"]",
"link_uuid": "9b1c4dbf-****-****-****-5e4c727e7708"
}
],
"success": true
}
# Update a link data By linkUniqueId
PUT link/data/grp/:linkgroupuuid/linkuuid/:likuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
| linkuuid | string | false | unique id of the link |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| data | array[string] | false | details of the link |
| header | array[string] | false | header values of the list |
| linkgroupuuid | string | true | unique id of the link grp |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | Integer | 0/1 updated or not |
# Example Request
curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e/linkuuid/9b1c4dbf-****-****-****-5e4c727e7708' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"data": [
"Bus124",
"Chennai",
"Driver B1"
],
"header": [
"Name",
"Location",
"Id"
]
}'
# Example Response
{
"result": 1,
"success": true
}
# Get a link data list By linkGroupUniqueId
GET link/data/grp/:linkgroupuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | link data obj | link data details |
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| data | array[string] | false | details of the link |
| header | array[string] | false | header values of the list |
| metaData | array[string] | false | meta data values of the list |
| linkUniqueId | string | false | unique id of the link data |
| id | integer | false | id of the link data |
# Example Request
curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e' -H 'Authorization: Bearer token here''
# Example Response
{
"result": [
{
"id": 1,
"data": [
"Bus124",
"Chennai",
"Driver B1"
],
"header": [
"Name",
"Location",
"Id"
],
"metaData": [
"STRING",
"STRING",
"STRING"
],
"linkUniqueId": "9b1c4dbf-****-****-****-5e4c727e7708"
}
],
"success": true
}
# Delete a link data By linkUniqueId
DELETE link/data/grp/:linkgroupuuid/linkuuid/:likuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
| linkuuid | string | false | unique id of the link |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | Integer | 0/1 updated or not |
# Example Request
curl -L -X DELETE 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e/linkuuid/9b1c4dbf-****-****-****-5e4c727e7708' -H 'Authorization: Bearer token here'
# Example Response
{
"result": 1,
"success": true
}
# Link metadata mapping
# update metadata mapping to link data
PUT link/metadata/grp/:linkgroupuuid
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | metadata object | metadata of the link data |
# metadata object
| Path | Type | Optional | Description |
|---|---|---|---|
| header | array[string] | false | header values of the list |
| metaData | array[string] | false | meta data values of the list |
# Example Request
curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/metadata/grp/6f1e5ffa-4a68-4561-b317-094a7a073883' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
"header": "Name",
"metaData": "Name",
"validateDuplicates": true
}'
# Example Response
{
"result": [
{
"header": "[\"Name\", \"Location\", \"Id\"]",
"metaData": [
"NAME",
"STRING",
"STRING"
]
}
],
"success": true
}
# get metadata mapping of link data
GET link/metadata/grp/:linkgroupuuid
| Path | Type | Optional | Description |
|---|---|---|---|
| linkgroupuuid | string | false | unique id of the link grp |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | metadata object | metadata of the link data |
# Example Request
curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/metadata/grp/6f1e5ffa-4a68-4561-b317-094a7a073883' -H 'Authorization: Bearer token here'
# Example Response
{
"result": [
{
"header": "[\"Name\", \"Location\", \"Id\"]",
"metaData": [
"NAME",
"STRING",
"STRING"
]
}
],
"success": true
}
# Multiple Sublinks
# Create Multiple Kiosk Sublinks by Tag Link Id
POST /program/:programid/kiosk/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new kiosk QR codes are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link/e75855d0-****-****-95a1-d1b762a95227?cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
}
},
{
"name": "Route 313",
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,
71,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
}
},
{
"name": "Route 314",
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
}
},
{
"name": "Route 315",
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
}
}
],
"totalRecords": 4,
"generated": true,
"success": true,
"totalPages": 1
}
# Get Multiple Kiosk Sublinks by Tag Link Id
GET /program/:programid/kiosk/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the sublinks. -1 if all sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new kiosk QR codes are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| token | string | static token associated with the generated sublink |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link/e75855d0-****-****-95a1-d1b762a95227?page=-1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"active": false,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
},
"token": "1nnecjovuuu3lke9q2sp7qj0dh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 313",
"active": false,
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
},
"token": "bj2duc1i5clpguprtq9tnduumt~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 314",
"active": true,
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
},
"token": "96n2kr8algeeavui0jurh0h5dg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 315",
"active": true,
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
},
"token": "7tj38l7iscuvm048m1r2qqhers~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
}
],
"totalRecords": 4,
"generated": false,
"success": true,
"totalPages": 1
}
# Get Multiple Kiosk Sublinks by Program Id
GET /program/:programid/kiosk/link
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the sublinks. -1 if all sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new kiosk QR codes are generated (true/false) |
| generatedTagLinkNames | array[names] | list of tag names from which the sublinks were generated |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| token | string | static token associated with the generated sublink |
| tagLinkName | string | tag name of the generated sublinks |
| linkGroupUUID | string | unique group id of the tag |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link?page=-1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
},
"tagLinkName": "proper sublist",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"active": false,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
"token": "1nnecjovuuu3lke9q2sp7qj0dh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 313",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
},
"tagLinkName": "proper sublist",
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"active": false,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
"token": "bj2duc1i5clpguprtq9tnduumt~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 314",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
},
"tagLinkName": "proper sublist",
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"active": true,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
"token": "96n2kr8algeeavui0jurh0h5dg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
},
{
"name": "Route 315",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
},
"tagLinkName": "proper sublist",
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"active": true,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
"token": "7tj38l7iscuvm048m1r2qqhers~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
}
],
"totalRecords": 4,
"generated": false,
"success": true,
"generatedTagLinkNames": [
"proper sublist"
],
"totalPages": 1
}
# Delete Multiple Kiosk Sublinks by Tag Link Id
DELETE /program/:programid/kiosk/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/kiosk/link/82187fef-****-****-a6da-f21245f970ef'
# Example Response
{
"result": 1,
"success": true
}
# Delete Multiple Kiosk Sublinks by Link Group Id
DELETE /program/:programid/kiosk/link/linkgroupuuid/:linkgroupuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| linkgroupuuid | string | false | unique id of the tag group |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/kiosk/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'
# Example Response
{
"result": 4,
"success": true
}
# Deactivate/Activate Kiosk Sublink by Link Id
PUT /program/:programid/kiosk/deactivate
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivateLinks | array[sublinks] | false | list of sublinks to be activated/deactivated |
# sublinks object
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivate | int | false | 0/1. 1 - to deactivate a sublink. 0 - activate a sublink |
| linkId | string | false | unique identifier of sublink |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
"deactivate": 1, \
"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
}, \
{ \
"deactivate": 1, \
"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
} \
] \
' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/kiosk/deactivate'
# Example Response
{
"success": true
}
# Create Multiple Sharable links by Tag Link Id
POST /program/:programid/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new sharable links are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| url | string | short url or long url (short url if short url is enabled |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/e671f3d5-ca8d-4f54-88f8-778d4c899587?cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Flight 11",
"linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
"url": "https://stage-eux.dropthought.com/en/dt/survey/9gkoe3l5oa2omcc9jof0b0ahq5~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "11",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 11"
}
},
{
"name": "Flight 1",
"linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
"url": "https://stage-eux.dropthought.com/en/dt/survey/argvf9qv1be0t25g4093aaehjp~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "1",
"Airline": "Indigo",
"Route": "Chennai to Guwahati",
"Name": "Flight 1"
}
},
{
"name": "Flight 2",
"linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
"url": "https://stage-eux.dropthought.com/en/dt/survey/i55fcus460fog2ksej4mhnmsq5~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "2",
"Airline": "Air India",
"Route": "Chennai to Delhi",
"Name": "Flight 2"
}
},
{
"name": "Flight 3",
"linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
"url": "https://stage-eux.dropthought.com/en/dt/survey/bbpdeav6lvsencm88den8r0oas~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "3",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 3"
}
},
{
"name": "Flight 4",
"linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
"url": "https://stage-eux.dropthought.com/en/dt/survey/a8hchbrn0qa8u7bm2p093kumr4~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "4",
"Airline": "Spice Jet",
"Route": "Chennai to Kolkata",
"Name": "Flight 4"
}
},
{
"name": "Flight 5",
"linkId": "c32132b5-e474-4443-a3f7-37af2b534bc8",
"url": "https://stage-eux.dropthought.com/en/dt/survey/ntisu8ka86oqnum054u4f9ma3t~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "5",
"Airline": "Indigo",
"Route": "Hyderabad to Bangalore",
"Name": "Flight 5"
}
},
{
"name": "Flight 6",
"linkId": "2f7fa717-179e-46fb-ad42-00a02748fa45",
"url": "https://stage-eux.dropthought.com/en/dt/survey/usjr3sfdg8jqd81iud6bf37e72~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "6",
"Airline": "Air India",
"Route": "Hyderabad to Delhi",
"Name": "Flight 6"
}
},
{
"name": "Flight 7",
"linkId": "731800fb-4ff4-4e80-9fb7-323880c64759",
"url": "https://stage-eux.dropthought.com/en/dt/survey/nbctnn98bom46ekashts4s646a~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
"metadata": {
"Flight No": "7",
"Airline": "Go Air",
"Route": "Hyderabad to Ahmedabad",
"Name": "Flight 7"
}
}
],
"totalRecords": 8,
"generated": true,
"success": true,
"totalPages": 2
}
# Get Multiple Sharable links by Tag Link Id
GET /program/:programid/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the generated sublinks. -1 if all generated sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new sharable links are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| url | string | short url or long url (short url if short url is enabled |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/e671f3d5-ca8d-4f54-88f8-778d4c899587?page=1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Flight 11",
"linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
"active": false,
"url": "https://stage-yass.dropthought.com/r/9gKutxQCG3",
"metadata": {
"Flight No": "11",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 11"
}
},
{
"name": "Flight 1",
"linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
"active": false,
"url": "https://stage-yass.dropthought.com/r/b7TbUfCOy9",
"metadata": {
"Flight No": "1",
"Airline": "Indigo",
"Route": "Chennai to Guwahati",
"Name": "Flight 1"
}
},
{
"name": "Flight 2",
"linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
"active": true,
"url": "https://stage-yass.dropthought.com/r/BLhasDnVDb",
"metadata": {
"Flight No": "2",
"Airline": "Air India",
"Route": "Chennai to Delhi",
"Name": "Flight 2"
}
},
{
"name": "Flight 3",
"linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
"active": true,
"url": "https://stage-yass.dropthought.com/r/YMoXBDgeH6",
"metadata": {
"Flight No": "3",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 3"
}
},
{
"name": "Flight 4",
"linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
"active": true,
"url": "https://stage-yass.dropthought.com/r/nzlCua340N",
"metadata": {
"Flight No": "4",
"Airline": "Spice Jet",
"Route": "Chennai to Kolkata",
"Name": "Flight 4"
}
}
],
"totalRecords": 8,
"generated": false,
"success": true,
"totalPages": 2
}
# Get Multiple Sharable links by Program Id
GET /program/:programid/link
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the sublinks. -1 if all sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new sharable links are generated (true/false) |
| generatedTagLinkNames | array[names] | list of tag names from which the sublinks were generated |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| url | string | short url or long url (short url if short url is enabled |
| linkId | string | unique id of the generated sublink |
| tagLinkName | string | tag name of the generated sublinks |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| linkGroupUUID | string | unique group id of the tag |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link?page=1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Flight 11",
"url": "https://stage-yass.dropthought.com/r/9gKutxQCG3",
"linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
"active": false,
"tagLinkName": "Tag Link Mani",
"metadata": {
"Flight No": "11",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 11"
},
"linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
},
{
"name": "Flight 1",
"url": "https://stage-yass.dropthought.com/r/b7TbUfCOy9",
"active": false,
"linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
"tagLinkName": "Tag Link Mani",
"metadata": {
"Flight No": "1",
"Airline": "Indigo",
"Route": "Chennai to Guwahati",
"Name": "Flight 1"
},
"linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
},
{
"name": "Flight 2",
"url": "https://stage-yass.dropthought.com/r/BLhasDnVDb",
"linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
"active": true,
"tagLinkName": "Tag Link Mani",
"metadata": {
"Flight No": "2",
"Airline": "Air India",
"Route": "Chennai to Delhi",
"Name": "Flight 2"
},
"linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
},
{
"name": "Flight 3",
"url": "https://stage-yass.dropthought.com/r/YMoXBDgeH6",
"linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
"active": false,
"tagLinkName": "Tag Link Mani",
"metadata": {
"Flight No": "3",
"Airline": "Go Air",
"Route": "Chennai to Mumbai",
"Name": "Flight 3"
},
"linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
},
{
"name": "Flight 4",
"url": "https://stage-yass.dropthought.com/r/nzlCua340N",
"linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
"active": true,
"tagLinkName": "Tag Link Mani",
"metadata": {
"Flight No": "4",
"Airline": "Spice Jet",
"Route": "Chennai to Kolkata",
"Name": "Flight 4"
},
"linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
}
],
"totalRecords": 8,
"generated": false,
"success": true,
"generatedTagLinkNames": [
"Tag Link Mani"
],
"totalPages": 2
}
# Delete Multiple Sharable links by Tag Link Id
DELETE /program/:programid/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/link/82187fef-****-****-a6da-f21245f970ef'
# Example Response
{
"result": 1,
"success": true
}
# Delete Multiple Sharabe links by Link Group Id
DELETE /program/:programid/link/linkgroupuuid/:linkgroupuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| linkgroupuuid | string | false | unique id of the tag group |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'
# Example Response
{
"result": 4,
"success": true
}
# Delete Multiple Sharabe link by Link Id
DELETE /program/:programid/link/linkuuid/:linkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| linkuuid | string | false | unique id of the sub link |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) 0 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/linkuuid/1a52b688-c7e6-4042-a5e8-4bb56512b5ec'
# Example Response
{
"result": 1,
"success": true
}
# Deactivate/Activate Static Sublink by Link Id
PUT /program/:programid/link/deactivate
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivateLinks | array[sublinks] | false | list of sublinks to be activated/deactivated |
# sublinks object
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivate | int | false | 0/1. 1 - to deactivate a sublink. 0 - activate a sublink |
| linkId | string | false | unique identifier of sublink |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
"deactivate": 0, \
"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
}, \
{ \
"deactivate": 1, \
"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
} \
] \
' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/link/deactivate'
# Example Response
{
"success": true
}
# Create Multiple QR Codes by Tag Link Id
POST /program/:programid/qr/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink qr code details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 qr codes per page) |
| generated | boolean | indicates true if new QR codes are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link/e75855d0-****-****-95a1-d1b762a95227?cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "jpg",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
}
},
{
"name": "Route 313",
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,
71,...
],
"qrCodeType": "jpg",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
}
},
{
"name": "Route 314",
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "jpg",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
}
},
{
"name": "Route 315",
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "jpg",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
}
}
],
"totalRecords": 4,
"generated": true,
"success": true,
"totalPages": 1
}
# Get Multiple QR Codes by Tag Link Id
GET /program/:programid/qr/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| fileType | string | true | jpg, png or pdf (default = jpg) |
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the sublinks. -1 if all sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated qr codes |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new QR codes are generated (true/false) |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link/e75855d0-****-****-95a1-d1b762a95227?page=-1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"active": false,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
}
},
{
"name": "Route 313",
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"active": false,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
}
},
{
"name": "Route 314",
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"active": true,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
}
},
{
"name": "Route 315",
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"active": true,
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
}
}
],
"totalRecords": 4,
"generated": false,
"success": true,
"totalPages": 1
}
# Get Multiple QR Codes by Program Id
GET /program/:programid/qr/link
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| fileType | string | true | jpg, png or pdf (default = jpg) |
| cc | string | true | company code (DT) |
| language | string | true | language of request (en) |
| page | int | true | page number for retrieving the sublinks. -1 if all sublinks needs to be listed |
| search | string | true | search term to look for in a sublink name |
| exactMatch | int | true | exact string match or retrieve all records with matching string(1/0) default 0 |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[sublink object] | generated sublink details |
| totalRecords | int | count of generated sublinks |
| totalPages | int | count of total pages (5 links per page) |
| generated | boolean | indicates true if new QR codes are generated (true/false) |
| generatedTagLinkNames | array[names] | list of tag names from which the sublinks were generated |
# Sublink object
| Path | Type | Description |
|---|---|---|
| name | string | name of the sublink generated |
| linkId | string | unique id of the generated sublink |
| qrCode | string | base64 object of qrcode image |
| qrByteArray | array[int] | byte array of qrcode image |
| qrCodeType | string | file type (png/jpg/pdf) |
| metadata | map[metadata object] | metadata details associated with the generated sublink |
| tagLinkName | string | tag name of the generated sublinks |
| linkGroupUUID | string | unique group id of the tag |
| active | boolean | indicates whether the sublink is active or deactivate |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link?page=-1&cc=DT&language=en'
# Example Response
{
"result": [
{
"name": "Route 312",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 312",
"Driver Name": "Jon Snow",
"Bus ID": "12345",
"Location": "Winterfel"
},
"tagLinkName": "proper sublist",
"linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
"active": false,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
},
{
"name": "Route 313",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 313",
"Driver Name": "Aria Stark",
"Bus ID": "56789",
"Location": "Winterfel"
},
"tagLinkName": "proper sublist",
"linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
"active": false,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
},
{
"name": "Route 314",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 314",
"Driver Name": "Tyrian Lannister",
"Bus ID": "101112",
"Location": "Westeros"
},
"tagLinkName": "proper sublist",
"linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
"active": true,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
},
{
"name": "Route 315",
"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
"qrByteArray": [
-119,
80,
78,...
],
"qrCodeType": "png",
"metadata": {
"Sub-link/QR ID": "Route 315",
"Driver Name": "Sansa Stark",
"Bus ID": "131415",
"Location": "Westeros"
},
"tagLinkName": "proper sublist",
"linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
"active": true,
"linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
}
],
"totalRecords": 4,
"generated": false,
"success": true,
"generatedTagLinkNames": [
"proper sublist"
],
"totalPages": 1
}
# Delete Multiple QR Codes by Tag Link Id
DELETE /program/:programid/qr/link/:taglinkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| taglinkuuid | string | false | unique id of the tag list |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/qr/link/82187fef-****-****-a6da-f21245f970ef'
# Example Response
{
"result": 1,
"success": true
}
# Delete Multiple QR Codes by Link Group Id
DELETE /program/:programid/qr/link/linkgroupuuid/:linkgroupuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| linkgroupuuid | string | false | unique id of the tag group |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) > 1 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/qr/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'
# Example Response
{
"result": 4,
"success": true
}
# Delete Multiple QR Codes Link Id
DELETE /program/:programid/qr/linkuuid/:linkuuid
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
| linkuuid | string | false | unique id of the sub link |
# Query Parameters
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | int | 1 (or) 0 |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/qr/linkuuid/1a52b688-c7e6-4042-a5e8-4bb56512b5ec'
# Example Response
{
"result": 1,
"success": true
}
# Deactivate/Activate QR Sublink by Link Id
PUT /program/:programid/qr/deactivate
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| programid | string | false | unique id of the program |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivateLinks | array[sublinks] | false | list of sublinks to be activated/deactivated |
# sublinks object
| Path | Type | Optional | Description |
|---|---|---|---|
| deactivate | int | false | 0/1. 1 - to deactivate a sublink. 0 - activate a sublink |
| linkId | string | false | unique identifier of sublink |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
"deactivate": 0, \
"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
}, \
{ \
"deactivate": 0, \
"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
} \
] \
' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/qr/deactivate'
# Example Response
{
"success": true
}
# Pin Management
# Create a Pin
POST /pin
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| chartType | string | false | type of chart pinned [responseTrend/nps/driverMetric/topSegment/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent] |
| queryParameters | json | true | query parameters present in the API which fetches chart details |
| urlParameters | json | true | url parameters present in the API which fetches chart details |
| requestBody | json | true | request body present in the API which fetches chart details |
| data | json | true | response data of the pinned chart |
| filterConditions | json | true | filter condition applied on the chart pinned |
| surveyId | string | false | unique id of the survey |
# Sample queryParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| fromDate | string | start date of the feedbacks |
| toDate | string | end date of the feedbacks |
| responseInterval | string | interval between dates for the trend (daily/weekly/monthly) |
| timeZone | string | timeZone of the user |
| interval | string | date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) |
| surveyType | string | survey publish type (journey/publish) |
# Sample urlParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
# Sample data object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| responseTrend | array[trend object] | array containing trend data for the given duration |
# Sample queryParameters object for respondent
| Path | Type | Description |
|---|---|---|
| timezone | string | timezone of the user |
| language | string | language of request |
# Sample urlParameters object for respondent
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
| respondentId | string | unique id of the respondent |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request (1)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIi' -d '{ \
"chartType": "responseTrend", \
"queryParameters": { \
"surveyFilterId": "", \
"fromDate": "2021-9-16 00:00:00", \
"toDate": "2021-9-23 23:59:59", \
"timezone": "Asia/Calcutta", \
"primaryMetricInterval": "daily", \
"surveyType": "publish", \
"language": "en" \
}, \
"surveyId": "74c961a8-****-4baf-b1c7-655f716a057d", \
"data": { \
"responseTrend": [ \
[ \
"Timestamp", \
"Total", \
"Sms", \
"Email" \
], \
[ \
"13-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"14-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"15-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"16-Sep-2021", \
2, \
0, \
1 \
], \
[ \
"17-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"18-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"19-Sep-2021", \
0, \
0, \
0 \
], \
[ \
"20-Sep-2021", \
0, \
0, \
0 \
] \
] \
}, \
"urlParameters": { \
"programId": "74c961a8-****-4baf-b1c7-655f716a057d", \
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview" \
}, \
"filterConditions": { \
"filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3" \
} \
}' 'https://stage-api.dropthought.com/dtapp/api/pin'
# Example Request (2)
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSld' -d '{ \
"chartType": "respondent", \
"queryParameters": { \
"timezone": "Asia/Calcutta", \
"language": "en" \
}, \
"surveyId": "74c961a8-****-4baf-b1c7-655f716a057d", \
"urlParameters": { \
"programId": "74c961a8-****-4baf-b1c7-655f716a057d", \
"respondentId": "q0ehoo2gv7t4**1r7j2qriljdd", \
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}" \
}, \
"data": { \
"metaData": { \
"Name": "Akshara", \
"Email": "akshara%40dropthought.com", \
"PRTNAME": "Akshara" \
}, \
"npsText": "Detractor", \
"id": "q0ehoo2gv7t4f81r7j2qriljdd", \
"tokenType": "dynamic", \
"responseDate": "16-Sep-2021 07:18 AM", \
"events": [ \
{ \
"questionId": "fba3d8e8-****-4a32-8a76-41512ea62f6a", \
"answers": "Neutral", \
"category": [], \
"sentiment": null, \
"questionText": "Rating", \
"npsText": "", \
"npsValue": "N/A", \
"questionType": "rating", \
"subType": "smiley", \
"metricName": "", \
"metricId": "0", \
"metricScore": "2", \
"metricScale": "5" \
}, \
{ \
"questionId": "63549f1d-****-4eec-bc6c-c7985d3304f7", \
"answers": "6", \
"category": [], \
"sentiment": null, \
"questionText": "On a scale of 0 - 10, how likely are you to recommend DT to a friend or colleague?", \
"npsText": "Detractor", \
"npsValue": "6", \
"questionType": "nps", \
"subType": "", \
"metricName": "", \
"metricId": "0", \
"metricScore": "0", \
"metricScale": "0" \
} \
] \
} \
}' 'https://stage-api.dropthought.com/dtapp/api/pin'
# Example Response
{
"success": true
}
# Reorder a Pin
PUT /pin
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyId | string | false | unique id of the survey |
| pinId | string | false | unique id of the pin which has to be reordered |
| order | int | false | updated order number of the pin |
| chartType | string | false | type of pin reordered [charts/respondent] |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' -d '{ \
"surveyId": "a497036d-****-4899-8249-0857e0744cfe", \
"pinId" : "5d0df373-****-4453-9bf5-55685f8d3625", \
"order" : 2, \
"chartType" : "respondent" \
}' 'https://stage-api.dropthought.com/dtapp/api/pin'
# Example Response
{
"success": true
}
# Reorder Multiple Pins
PUT /pin/reorder
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyId | string | false | unique id of the survey |
| pins | array[pin object] | false | list of pins with their order value |
# pin object
| Path | Type | Optional | Description |
|---|---|---|---|
| pinId | string | false | unique id of the pin which has to be reordered |
| order | int | false | updated order number of the pin |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJ' -d '{ \
"surveyId": "a497036d-bebc-4899-8249-0857e0744cfe", \
"pins": [{ \
"pinId": "b67a647d-185d-4e49-a823-d91d4fdb5752", \
"order": 5 \
}, { \
"pinId": "8c2f6ee2-2ce9-4cf9-b8fa-74330900345a", \
"order": 1 \
}, { \
"pinId": "c49e616d-721c-45a8-9568-f76a14d9c229", \
"order": 2 \
}, \
{ \
"pinId": "ee18f7b9-7783-4168-a115-b724fef21e87", \
"order": 3 \
}, \
{ \
"pinId": "abe703d2-2bed-4bc0-b99a-fdbec85565dc", \
"order": 4 \
} \
] \
}' 'https://stage-api.dropthought.com/dtapp/api/pin/reorder'
# Example Response
{
"success": true
}
# Delete a Pin
DELETE /pin/:pinId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pinId | string | false | unique id of the pin |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/5d0df373-****-4453-9bf5-55685f8d3625'
# Example Response
{
"success": true
}
# Get Pins Overview
GET /pin/overview
# Path Parameters
No Parameters
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| type | string | true | type of pins [chart/respondent/can be left empty] (when empty fetches both chart and respondent pins) |
| fromDate | string | true | indicates start date of pinned items to be fetched (when left empty all pins will be fetched) |
| toDate | string | true | indicates end date of pinned items to be fetched (when left empty all pins will be fetched) |
| timezone | string | true | indicates timezone of request [Default - America/Los_Angeles] |
| language | string | true | indicates language of request [Default - en] |
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| fromDate | string | applied start date |
| toDate | string | applied end date |
| result | array[pin overview of each survey] | array of pin objects grouped by survey id |
| pins | int | count of pins retrieved |
# Pin overview object
| Path | Type | Description |
|---|---|---|
| surveyName | string | name of the survey |
| surveyStartDate | string | start date of the survey |
| surveyEndDate | string | end date of the survey |
| pins | array [pin object] | list of pins of the survey |
# Pin object
| Path | Type | Description |
|---|---|---|
| pinId | string | unique id of pin |
| chartType | string | type of chart pinned |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/overview?timezone=America%2FLos_Angeles&language=en'
# Example Response
{
"fromDate": null,
"result": [
{
"surveyId": "f24c89bb-****-4499-ab83-e04978d38db8",
"surveyName": "Survey 1",
"pins": [
{
"chartType": "responseTrend",
"pinId": "a9a6aea9-c51a-49a6-a9ad-b917daa5abb4"
},
{
"chartType": "npsTrend",
"pinId": "9add1bc3-4935-4424-b885-72b3353d58ec"
},
{
"chartType": "responseTrend",
"pinId": "74f32377-5185-4d38-a38a-b0fe3ade2e2b"
},
{
"chartType": "npsTrend",
"pinId": "b18639bf-5e26-4326-b55c-c4749306931d"
},
{
"chartType": "responseTrend",
"pinId": "a5d22500-7dd4-4936-b536-f759c321c176"
},
{
"chartType": "metricTrend",
"pinId": "3acbb318-926a-4652-82b2-0bd733e29e79"
}
],
"surveyStartDate": "2021-09-21 07:13:41",
"surveyEndDate": "2022-09-21 07:13:41"
},
{
"surveyId": "df965277-****-412b-9133-f9c5c34e0664",
"surveyName": "Survey 2",
"pins": [
{
"chartType": "metricTrend",
"pinId": "d3b9275f-7eeb-4be0-8a0b-485d6265fd5d"
}
],
"surveyStartDate": "2021-09-23 11:39:44",
"surveyEndDate": "2022-09-23 11:39:44"
},
{
"surveyId": "6d1d3ff0-****-4f95-b0c2-f3c96011ce3f",
"surveyName": "Survey 3",
"pins": [
{
"chartType": "npsTrend",
"pinId": "e72da78d-9e43-492e-be81-b293034e9c78"
},
{
"chartType": "respondent",
"pinId": "8e97e705-0c65-4e7f-b3b0-e801a27d935e"
},
{
"chartType": "metricTrend",
"pinId": "25aa6c0e-5a3a-41a9-889d-d004d25c9826"
},
{
"chartType": "respondent",
"pinId": "e557d8f5-c956-4ce5-9b19-781e0d14d9ed"
},
{
"chartType": "metricTrend",
"pinId": "d13e3ec7-a8d6-48f1-84c0-cd71585dd1ad"
}
],
"surveyStartDate": "2021-09-17 10:30:00",
"surveyEndDate": "2022-09-17 10:30:00"
},
{
"surveyId": "a497036d-****-4899-8249-0857e0744cfe",
"surveyName": "Survey 4",
"pins": [
{
"chartType": "respondent",
"pinId": "8c2f6ee2-2ce9-4cf9-b8fa-74330900345a"
},
{
"chartType": "metricTrend",
"pinId": "3e89e5a0-15d3-4c0b-b45f-5fde6998d336"
},
{
"chartType": "respondent",
"pinId": "c49e616d-721c-45a8-9568-f76a14d9c229"
},
{
"chartType": "respondent",
"pinId": "ee18f7b9-7783-4168-a115-b724fef21e87"
},
{
"chartType": "responseTrend",
"pinId": "620d527e-264d-4efc-8b33-44e677eb2941"
},
{
"chartType": "respondent",
"pinId": "abe703d2-2bed-4bc0-b99a-fdbec85565dc"
},
{
"chartType": "respondent",
"pinId": "b67a647d-185d-4e49-a823-d91d4fdb5752"
},
{
"chartType": "responseTrend",
"pinId": "af57f5cd-8e1d-4474-9b48-3fc0cfc1f20d"
}
],
"surveyStartDate": "2021-09-28 08:21:31",
"surveyEndDate": "2022-01-30 15:59:59"
}
],
"success": true,
"toDate": null,
"pins": 20
}
# Get Pins By Survey Id
GET /pin/survey/:surveyId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| surveyId | string | false | unique id of the survey |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| type | string | true | type of pins [chart/respondent, Default - chart] |
| fromDate | string | true | indicates start date of pinned items to be fetched (when left empty all pins will be fetched) |
| toDate | string | true | indicates end date of pinned items to be fetched (when left empty all pins will be fetched) |
| timezone | string | true | indicates timezone of request [Default - America/Los_Angeles] |
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| fromDate | string | applied start date |
| toDate | string | applied end date |
| result | array[pin object] | array of pin objects |
| pins | int | count of pins retrieved |
# Pin object
| Path | Type | Description |
|---|---|---|
| pinId | string | unique id of pin |
| chartType | string | type of chart pinned [responseTrend/nps/driverMetric/topSegement/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent] |
| queryParameters | json | query parameters present in the API which fetches chart details |
| urlParameters | json | url parameters present in the API which fetches chart details |
| requestBody | json | request body present in the API which fetches chart details |
| data | json | response data of the pinned chart |
| filterConditions | json | filter condition applied on the chart pinned |
| pinnedTime | string | time of pinning the chart/respondent pin |
# Sample queryParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| fromDate | string | start date of the feedbacks |
| toDate | string | end date of the feedbacks |
| responseInterval | string | interval between dates for the trend (daily/weekly/monthly) |
| timeZone | string | timeZone of the user |
| interval | string | date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) |
| surveyType | string | survey publish type (journey/publish) |
# Sample urlParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
# Sample queryParameters object for respondent
| Path | Type | Description |
|---|---|---|
| timezone | string | timezone of the user |
| language | string | language of request |
# Sample urlParameters object for respondent
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
| respondentId | string | unique id of the respondent |
# Sample data object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| responseTrend | array[trend object] | array containing trend data for the given duration |
# Example Request (1)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/survey/74c961a8-****-4baf-b1c7-655f716a057d?type=respondent&timezone=Asia%2FCalcutta'
# Example Response (1)
{
"fromDate": null,
"result": [
{
"filterConditions": {},
"pinnedTime": "2021-10-13 13:40:59",
"queryParameters": {
"timezone": "Asia/Calcutta",
"language": "en"
},
"data": {
"metaData": {
"Name": "Akshara",
"Email": "akshara@dropthought.com",
"PRTNAME": "Akshara"
},
"npsText": "Detractor",
"id": "q0ehoo2gv7t4f81**j2qriljdd",
"tokenType": "dynamic",
"events": [
{
"answers": "Neutral",
"npsText": "",
"subType": "smiley",
"category": [],
"metricId": "0",
"npsValue": "N/A",
"sentiment": null,
"metricName": "",
"questionId": "fba3d8e8-****-4a32-8a76-41512ea62f6a",
"metricScale": "5",
"metricScore": "2",
"questionText": "Rating",
"questionType": "rating"
},
{
"answers": "6",
"npsText": "Detractor",
"subType": "",
"category": [],
"metricId": "0",
"npsValue": "6",
"sentiment": null,
"metricName": "",
"questionId": "63549f1d-****-4eec-bc6c-c7985d3304f7",
"metricScale": "0",
"metricScore": "0",
"questionText": "On a scale of 0 - 10, how likely are you to recommend DT to a friend or colleague?",
"questionType": "nps"
}
],
"responseDate": "16-Sep-2021 07:18 AM"
},
"requestBody": {},
"chartType": "respondent",
"pinId": "ed2ab22e-cbb9-4572-9fd0-9ef487629b2c",
"urlParameters": {
"respondentId": "q0ehoo2gv7t4**1r7j2qriljdd",
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}",
"programId": "74c961a8-****-4baf-b1c7-655f716a057d"
}
},
{
"filterConditions": {},
"pinnedTime": "2021-10-13 13:45:10",
"queryParameters": {
"timezone": "Asia/Calcutta",
"language": "en"
},
"data": {
"metaData": {},
"npsText": "Passive",
"id": "au2h1rfsu5q3orkar**tg8l869",
"tokenType": null,
"events": [
{
"answers": "Good",
"npsText": "",
"subType": "smiley",
"category": [],
"metricId": "0",
"npsValue": "N/A",
"sentiment": null,
"metricName": "",
"questionId": "fba3d8e8-4999-4a32-8a76-41512ea62f6a",
"metricScale": "5",
"metricScore": "3",
"questionText": "Rating",
"questionType": "rating"
},
{
"answers": "8",
"npsText": "Passive",
"subType": "",
"category": [],
"metricId": "0",
"npsValue": "8",
"sentiment": null,
"metricName": "",
"questionId": "63549f1d-a36f-4eec-bc6c-c7985d3304f7",
"metricScale": "0",
"metricScore": "0",
"questionText": "On a scale of 0 - 10, how likely are you to recommend Company to a friend or colleague?",
"questionType": "nps"
}
],
"responseDate": "16-Sep-2021 07:12 AM"
},
"requestBody": {},
"chartType": "respondent",
"pinId": "5b4c9f58-b2dd-400c-b7d2-47f83a10d1d7",
"urlParameters": {
"respondentId": "au2h1rfsu5q3orkar**tg8l869",
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}",
"programId": "74c961a8-****-4baf-b1c7-655f716a057d"
}
}
],
"success": true,
"toDate": null,
"pins": 2
}
# Example Request (2)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6' 'https://stage-api.dropthought.com/dtapp/api/pin/survey/74c961a8-****-4baf-b1c7-655f716a057d?type=chart&timezone=America%2FLos_Angeles'
# Example Response (2)
{
"fromDate": null,
"result": [
{
"filterConditions": {
"filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3"
},
"pinnedTime": "2021-10-13 12:26:47",
"queryParameters": {
"fromDate": "2021-9-16 00:00:00",
"surveyType": "publish",
"surveyFilterId": "",
"timezone": "Asia/Calcutta",
"primaryMetricInterval": "daily",
"toDate": "2021-9-23 23:59:59",
"language": "en"
},
"data": {
"responseTrend": [
[
"Timestamp",
"Total",
"Sms",
"Email"
],
[
"13-Sep-2021",
0,
0,
0
],
[
"14-Sep-2021",
0,
0,
0
],
[
"15-Sep-2021",
0,
0,
0
],
[
"16-Sep-2021",
2,
0,
1
],
[
"17-Sep-2021",
0,
0,
0
],
[
"18-Sep-2021",
0,
0,
0
],
[
"19-Sep-2021",
0,
0,
0
],
[
"20-Sep-2021",
0,
0,
0
]
]
},
"requestBody": {},
"chartType": "responseTrend",
"pinId": "67e15a83-3d15-4d7f-b182-ae2b409443ed",
"urlParameters": {
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview",
"programId": "74c961a8-****-4baf-b1c7-655f716a057d"
}
}
],
"success": true,
"toDate": null,
"pins": 1
}
# Get Pin By Pin Id
GET /pin/:pinId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| pinId | string | false | unique id of the pin |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | map[pin object] | map of pin objects |
# Pin object
| Path | Type | Description |
|---|---|---|
| pinId | string | unique id of pin |
| chartType | string | type of chart pinned [responseTrend/nps/driverMetric/topSegement/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent] |
| queryParameters | json | query parameters present in the API which fetches chart details |
| urlParameters | json | url parameters present in the API which fetches chart details |
| requestBody | json | request body present in the API which fetches chart details |
| data | json | response data of the pinned chart |
| filterConditions | json | filter condition applied on the chart pinned |
| pinnedTime | string | time of pinning the chart/respondent pin |
# Sample queryParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| fromDate | string | start date of the feedbacks |
| toDate | string | end date of the feedbacks |
| responseInterval | string | interval between dates for the trend (daily/weekly/monthly) |
| timeZone | string | timeZone of the user |
| interval | string | date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) |
| surveyType | string | survey publish type (journey/publish) |
# Sample urlParameters object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
# Sample queryParameters object for respondent
| Path | Type | Description |
|---|---|---|
| timezone | string | timezone of the user |
| language | string | language of request |
# Sample urlParameters object for respondent
| Path | Type | Description |
|---|---|---|
| url | string | URL of the api which fetches the chart details |
| programId | string | unique id of program |
| respondentId | string | unique id of the respondent |
# Sample data object for responseTrend chart
| Path | Type | Description |
|---|---|---|
| responseTrend | array[trend object] | array containing trend data for the given duration |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought/dtapp/api/pin/67e15a83-3d15-4d7f-b182-ae2b409443ed'
# Example Response
{
"result": {
"filterConditions": {
"filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3"
},
"pinnedTime": "2021-10-13 12:26:47",
"queryParameters": {
"fromDate": "2021-9-16 00:00:00",
"surveyType": "publish",
"surveyFilterId": "",
"timezone": "Asia/Calcutta",
"primaryMetricInterval": "daily",
"toDate": "2021-9-23 23:59:59",
"language": "en"
},
"data": {
"responseTrend": [
[
"Timestamp",
"Total",
"Sms",
"Email"
],
[
"13-Sep-2021",
0,
0,
0
],
[
"14-Sep-2021",
0,
0,
0
],
[
"15-Sep-2021",
0,
0,
0
],
[
"16-Sep-2021",
2,
0,
1
],
[
"17-Sep-2021",
0,
0,
0
],
[
"18-Sep-2021",
0,
0,
0
],
[
"19-Sep-2021",
0,
0,
0
],
[
"20-Sep-2021",
0,
0,
0
]
]
},
"requestBody": {},
"chartType": "responseTrend",
"pinId": "67e15a83-3d15-4d7f-b182-ae2b409443ed",
"urlParameters": {
"url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview",
"programId": "74c961a8-****-4baf-b1c7-655f716a057d"
}
},
"success": true
}
# Task Manager
# Get Tasks
# Path Parameters
No Parameters
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| userId | string | true | unique id of the user |
| status | string | true | indicates status of the task (unassigned/assigned/working/complete ) |
| pageId | int | true | indicates page number, fetches 10 records per page (Default - 1) |
| timezone | string | true | indicates timezone of the request (Default - America/Los_Angeles) |
| language | string | true | indicates language of the request (Default - en) |
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[task object] | array of task objects |
# task object
| Path | Type | Description |
|---|---|---|
| taskId | string | unique id of the task |
| assignor | json | details of the user who has assigned the task |
| assignee | json | details of the user to whom the task has been assigned |
| status | string | status of the task |
| message | string | indicates trigger message |
| questions | array | questions present in the survey |
| triggerName | string | indicates trigger name |
| respondentName | string | indicates respondent name |
| surveyName | string | indicates survey name |
| responseDate | string | timestamp of the response received |
| lastUpdateDate | string | timestamp of last updation of the task |
# assignee/assignor object
| Path | Type | Description |
|---|---|---|
| id | string | indicates user id |
| name | string | indicates name of the user |
| string | indicates email of the user |
# questions object
| Path | Type | Description |
|---|---|---|
| answer | string | indicates response for the question |
| scale | string | indicates metric scale |
| title | string | indicates question title |
# Example Request (To fetch tasks irrespective of the status and assignee)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=&status=&pageId=1&timezone=America%2FLos_Angeles&language=en'
# Example Request (To fetch tasks irrespective of the status for a particular user)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=6e645ed5-****-45d0-9be9-677e49773bd7&status=&pageId=1&timezone=America%2FLos_Angeles&language=en'
# Example Request (To fetch tasks irrespective of the user for a particular status)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=&status=assigned&pageId=1&timezone=America%2FLos_Angeles&language=en'
# Example Request (To fetch tasks based on user and the status)
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=6e645ed5-****-45d0-9be9-677e49773bd7&status=assigned&pageId=1&timezone=America%2FLos_Angeles&language=en'
# Example Response
{
"result": [{
"assignor": {
"name": "Akshara Sridhar",
"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
"email": "akshara@dropthought.com"
},
"assignee": {
"name": "Akshara Read",
"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
"email": "aksharareaduser@yopmail.com"
},
"status": "assigned",
"message": "Customer Survey Trigger Message",
"questions": [{
"scale": "5",
"title": "How did you feel after listening to the announcement?",
"answer": "4"
},
{
"scale": "",
"title": "Did you feel appropriate channel was used to make the announcement?",
"answer": "Yes"
},
{
"scale": "",
"title": "What did you think about the timings of the announcement?",
"answer": "Little early"
}
],
"taskId": "o5g2pi361lk7h5cvkivmtgp96b",
"triggerName": "Customer Survey Trigger",
"respondentName": "",
"surveyName": "Announcement Feedback",
"responseDate": "2022-07-26 14:47:41",
"lastUpdateDate": "2022-07-26 16:04:33"
},
{
"assignor": {
"name": "Akshara Sridhar",
"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
"email": "akshara@dropthought.com"
},
"assignee": {
"name": "Akshara Read",
"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
"email": "aksharareaduser@yopmail.com"
},
"status": "assigned",
"message": "Customer Survey Trigger Message",
"questions": [{
"scale": "5",
"title": "How did you feel after listening to the announcement?",
"answer": "3"
},
{
"scale": "",
"title": "Did you feel appropriate channel was used to make the announcement?",
"answer": "Not sure"
},
{
"scale": "",
"title": "What did you think about the timings of the announcement?",
"answer": "Too late"
}
],
"taskId": "rvrl36q1c53251phg25l19e5aq",
"triggerName": "Customer Survey Trigger",
"respondentName": "",
"surveyName": "Announcement Feedback",
"responseDate": "2022-07-26 00:45:29",
"lastUpdateDate": "2022-07-26 16:04:33"
},
{
"assignor": {
"name": "Akshara Sridhar",
"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
"email": "akshara@dropthought.com"
},
"assignee": {
"name": "Akshara Read",
"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
"email": "aksharareaduser@yopmail.com"
},
"status": "assigned",
"message": "Customer Survey Trigger Message",
"questions": [{
"scale": "5",
"title": "How did you feel after listening to the announcement?",
"answer": "4"
},
{
"scale": "",
"title": "Did you feel appropriate channel was used to make the announcement?",
"answer": "Yes"
},
{
"scale": "",
"title": "What did you think about the timings of the announcement?",
"answer": "Little late"
}
],
"taskId": "h3qsuuse6tc1kgjh4ii4lj3uk4",
"triggerName": "Customer Survey Trigger",
"respondentName": "",
"surveyName": "Announcement Feedback",
"responseDate": "2022-07-26 00:55:53",
"lastUpdateDate": "2022-07-26 16:04:33"
}
],
"success": true
}
# Update Tasks
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| userId | string | false | unique id of the user to which the task has to be assigned |
| taskIds | array | false | array of task ids which has to be assigned to the user |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJraWQiOi' -d '{ \
"userId": "6e645ed5-****-45d0-9be9-677e49773bd7", \
"taskIds": [ \
"rvrl36q1c53251phg25l19e5aq", \
"h3qsuuse6tc1kgjh4ii4lj3uk4", \
"o5g2pi361lk7h5cvkivmtgp96b" \
] \
}' 'https://stage-api.dropthought.com/dtapp/api/tasks'
# Example Response
{
"success": true
}
# Update Task By Id
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taskId | string | false | unique id of the task whose status has to be updated |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| status | string | false | indicates the status of the task that has to be set (assigned/unassigned/working/complete) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJraWQiOalw' -d '{"status" : "working"}' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b'
# Example Response
{
"success": true
}
# Get Task By Id
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taskId | string | false | unique id of the task |
# Query Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| timezone | string | true | indicates timezone of the request (Default - America/Los_Angeles) |
| language | string | true | indicates language of the request (Default - en) |
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJEa2Fo' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b?timezone=America%2FLos_Angeles&language=en'
# Example Response
{
"success": true
}
# Delete Task By Id
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| taskId | string | false | unique id of the task |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJraWQiOi' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b'
# Example Response
{
"success": true
}
# Get Users For Task Management
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | array[user object] | list of users in the business |
# user object
| Path | Type | Description |
|---|---|---|
| id | string | indicates user id |
| name | string | indicates name of the user |
| string | indicates email of the user |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiiQlw' 'https://stage-api.dropthought.com/dtapp/api/tasks/users'
# Example Response
{
"result": [
{
"id": "ea0214a8-****-4db3-b280-217711e8da1f",
"name": "Akshara Sridhar",
"email": "akshara@dropthought.com"
},
{
"id": "6e645ed5-****-45d0-9be9-677e49773bd7",
"name": "Akshara Read",
"email": "aksharareaduser@yopmail.com"
}
],
"success": true
}
# Downloads
# Initiate File Download
POST /api/v1/download/initiate
# Path Parameters
No Path Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| downloadData | map [download object] | false | contains info about survey/list to download |
# download object
| Path | Type | Optional | Description |
|---|---|---|---|
| businessId | string | false | unique id of the business |
| userId | string | false | unique id of the user |
| surveyId | string | false | unique id of the program |
| surveyName | string | false | indicates name of the program |
| timeZone | string | false | indicates timezone of request |
| language | string | false | indicates language of request (en/ar) |
| type | string | false | indicates type of download (participant/feedback) |
| tagId | string | false | unique id of tag (Not required for feedback download) |
| participantGroupId | int | false | unique id of participant group (Not required for feedback download) |
| filterId | string | true | unique id of survey filter applied (Not required for unique link download) |
| surveyType | string | false | type of publish - journey/publish (Not required for unique link download) |
| count | int | false | count of responses present in the program (Not required for unique link download) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request (Unique link download)
curl --location --request POST 'https://stage-api.dropthought.com/api//v1/download/initiate' \
--header 'Content-Type: application/json' \
--data-raw '{
"businessId": "12d8e540-****-4a4e-a84d-ffaf0b7155b3",
"userId": "fa760fc0-****-453c-a0e7-6d71d33ffd5c",
"surveyId": "d9aa61a6-****-4a68-9333-f62b23eaa596",
"surveyName": "Store Feedback Survey",
"timeZone": "Asia/Calcutta",
"language": "en",
"type": "participant",
"tagId": "8552454c-****-47e0-8668-0d852c6c4d97",
"participantGroupId": 392
}'
# Example Request (Feedback download)
curl --location --request POST 'https://api.dropthought.com/api//v1/download/initiate' \
--header 'Content-Type: application/json' \
--data-raw '{
"businessId": "34f48e9a-****-4b21-b9a5-89d947196a2e",
"userId": "623acb29-****-4890-b9c1-511936fd60b2",
"surveyId": "566adc7e-***-4782-b399-fa051ae2e950",
"surveyName": "Employee Feedback Survey",
"filterId": "",
"from": "2021-11-11 00:00:00",
"to": "2021-11-18 23:59:59",
"count": "2",
"timeZone": "Asia/Calcutta",
"language": "en",
"surveyType": "publish"
}'
# Example Response
{
"success": "true"
}
# Get Downloaded Entries
GET /api/v1/download/status/:businessId/:userId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| businessId | string | false | unique id of the business |
| userId | string | false | unique id of the user |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| surveyId | string | unique id of survey |
| surveyName | string | survey name in the case of feedback download & survey name with links for tag in case of links download |
| count | int | count of feedback in the case of report download & count of links in the case of links download |
| participantGroupId | int | unique of participant group |
| type | string | type of download (feedback/participant) |
| size | string | indicates size of downloaded file |
| id | int | unique id of download |
| status | string | indicates status of download (PROCESSING/COMPLETE/DOWNLOADED/INVALID) |
| link | string | indicates aws link for downloaded file |
| createdTime | string | indicated timestamp of initiated download |
# Example Request
curl --location --request GET 'https://stage-api.dropthought.com/api/v1/download/status/12d8e540-****-4a4e-a84d-ffaf0b7155b3/fa760fc0-****-453c-a0e7-6d71d33ffd5c' \
# Example Response
[
{
"surveyId": "75007bdd-***-4d0e-bc87-0448aa7db4ba",
"surveyName": "Employee Feedback",
"filterId": "",
"count": 2,
"participantGroupId": 0,
"type": "feedback",
"entryId": 0,
"id": 121,
"size": "397B",
"status": "COMPLETE",
"link": "https://dt-file-download.s3.us-west-1.amazonaws.com/bc71ddbb-504e-4580-b7ab-08cb6c4c5f01_September_16_20210916141525.csv",
"createdTime": "2021-09-16T19:45:25.000Z"
},
{
"surveyId": "75007bdd-****-4d0e-bc87-0448aa7db4ba",
"surveyName": "Employee Feedback Links for Employee List",
"count": 123,
"participantGroupId": 199,
"type": "participant",
"entryId": 0,
"id": 120,
"size": "30KB",
"status": "COMPLETE",
"link": "https://dt-file-download.s3.us-west-1.amazonaws.com/2193b4e9-55b6-4edf-ae30-abcb6a441edf_Survey%20Links%20for%20120_contacts_20210916135606.csv",
"createdTime": "2021-09-16T19:26:05.000Z"
},
{
"surveyId": "1bec754f-***-4187-9797-d645d08cc9c1",
"surveyName": "Store Feedback Survey",
"filterId": "",
"count": 2,
"participantGroupId": 0,
"type": "feedback",
"entryId": 0,
"id": 66,
"size": "366B",
"status": "DOWNLOADED",
"link": "https://dt-file-download.s3.us-west-1.amazonaws.com/c4e488b3-3fa5-4671-b6f7-a00c63c7421e_email_test_2_20210906100504.csv",
"createdTime": "2021-09-06T15:35:04.000Z"
},
{
"surveyId": "1bec754f-***-4187-9797-d645d08cc9c1",
"surveyName": "Store Feedback Survey for Store Data List",
"count": 100,
"participantGroupId": 199,
"type": "participant",
"entryId": 0,
"id": 120,
"size": "30KB",
"status": "COMPLETE",
"link": "https://dt-file-download.s3.us-west-1.amazonaws.com/2193b4e9-55b6-4edf-ae30-abcb6a441edf_Survey%20Links%20for%20120_contacts_20210916135606.csv",
"createdTime": "2021-09-16T19:26:05.000Z"
}
]
# Update Download Status
PUT /api/v1/download/:businessId/:id
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| businessId | string | false | unique id of the business |
| id | int | false | unique id of the download |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl --location --request PUT 'https://test-api.dropthought.com/api/v1/download//161d68ec-****-4f48-a81f-9794a85ab723/120' \
# Example Response
{
"success": "true"
}
# Delete Download Entry
DELETE /api/v1/download/:businessId/:id
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| businessId | string | false | unique id of the business |
| id | int | false | unique id of the download |
# Query Parameters
No Parameters
# Request fields
No Request Payload
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl --location --request DELETE 'https://test-api.dropthought.com/api/v1/download/161d68ec-****-4f48-a81f-9794a85ab723/120' \
# Example Response
{
"success": "true"
}
# Storage
# Store Picture In AWS
POST /storage
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# FormData Parameters
| FormData | Type | Optional | Description |
|---|---|---|---|
| file | file | false | picture to be stored in AWS |
# Example Request
curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' {"type":"formData"} 'https://test.dropthought.com/dtapp/api/storage'
# Example Response
{
"success": true,
"url": "https://dt-program-banner.s3.us-west-1.amazonaws.com/99274105-a42f-47e2-8dac-4d7ad6310ad8-SSN%20-9.jpg"
}
# Application Management
# Create Application
POST /dtapp/api/sdk/applications
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| icon | string | true | application base64 encoded icon |
| name | string | false | application name |
| version | string | true | application version |
| appearance | string | true | system/light/dark, default is system |
| fontColor | string | true | color string. e.g. “#000000”, default is empty string |
| backgroundColor | string | true | color string. e.g. “#ffffff”, default is empty string) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthf****P1UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
"appearance": "dark", \
"backgroundColor": "#000000", \
"fontColor": "#ffffff", \
"icon": "Sample icon", \
"name": "Zomato", \
"version": "1.0" \
}' 'https://{environment}/dtapp/api/sdk/applications'
# Example Response
{
"success": true,
}
# Get Application by Application ID
GET /dtapp/api/sdk/applications/:applicationId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| applicationId | string | false | unique id of the application |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | application object [map] | single application object |
# Application object
| Path | Type | Optional | Description |
|---|---|---|---|
| icon | string | true | application base64 encoded icon |
| name | string | false | application name |
| version | string | true | application version |
| appearance | string | true | system/light/dark, default is system |
| fontColor | string | true | color string. e.g. “#000000”, default is empty string |
| backgroundColor | string | true | color string. e.g. “#ffffff”, default is empty string) |
| visibility | list | true | application's visibility information |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e'
# Example Response
{
"result": {
"backgroundColor": "#000000",
"appearance": "dark",
"visibility": [],
"icon": "[B@5466dfbe",
"name": "Zomato",
"applicationId": "f7f52232-6e6c-4777-a81d-b4c3f4f97c8e",
"version": "1.0",
"fontColor": "#ffffff"
},
"success": true
}
# Update Application by Application ID
PUT /dtapp/api/sdk/applications/:applicationId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| applicationId | string | false | unique id of the application |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| icon | string | true | application base64 encoded icon |
| name | string | true | application name |
| version | string | true | application version |
| appearance | string | true | system/light/dark, default is system |
| fontColor | string | true | color string. e.g. “#000000”, default is empty string |
| backgroundColor | string | true | color string. e.g. “#ffffff”, default is empty string) |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' -d '{ \
"appearance": "dark", \
"backgroundColor": "#000000", \
"fontColor": "#ffffff", \
"icon": "Sample icon", \
"name": "Zomato", \
"version": "2.0" \
}' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e'
# Example Response
{
"success": true
}
# Delete Application by Application IDs
DELETE /dtapp/api/sdk/applications
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| ids | array | false | list of application ids to be deleted |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' -d '{"ids" : ["0c7f63bf-f3e4-40da-a49c-e187c254e2ed"]}' 'https://{environment}/dtapp/api/sdk/applications'
# Example Response
{
"success": true
}
# Get Applications
GET /dtapp/api/sdk/applications
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | application object [array] | array of applications |
# Application object
| Path | Type | Optional | Description |
|---|---|---|---|
| icon | string | true | application base64 encoded icon |
| name | string | false | application name |
| version | string | true | application version |
| appearance | string | true | system/light/dark, default is system |
| fontColor | string | true | color string. e.g. “#000000”, default is empty string |
| backgroundColor | string | true | color string. e.g. “#ffffff”, default is empty string) |
| visibility | list | true | application's visibility information |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications'
# Example Response
{
"result": [
{
"backgroundColor": "#000000",
"appearance": "dark",
"icon": [
83,
97,
109,
112,
108,
101,
32,
105,
99,
111,
110
],
"name": "Swiggy",
"id": "9c589e1e-2b6d-4ea0-8631-8e3d885e3790",
"version": "1.0",
"fontColor": "#ffffff"
},
{
"backgroundColor": "#000000",
"appearance": "dark",
"visibility": "[]",
"icon": [
83,
97,
109,
112,
108,
101,
32,
105,
99,
111,
110
],
"name": "Zomato",
"id": "f7f52232-6e6c-4777-a81d-b4c3f4f97c8e",
"version": "2.0",
"fontColor": "#ffffff"
}
],
"success": true
}
# Export Application
GET /dtapp/api/sdk/applications/:applicationId/export
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| applicationId | string | false | unique id of the application |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| Download export | PDF file | pdf file with application info |
# Example Request
curl -X GET --header 'Accept: application/pdf' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e/export'
# Example Response
Download export
# Visibility Management
# Create Visibility
POST /dtapp/api/sdk/{applicationId}/visibility
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| applicationId | string | false | unique id of the application |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| pageName | string | false | page name from user input |
| elementName | string | true | element name from user input |
| themeOption | string | true | classic/option1/option2/option3/option4/option6 |
| backgroundImage | string | true | base64 encoded image for option6 usage |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
"appearance": "system", \
"backgroundColor": "#000000", \
"elementName": "Title", \
"fontColor": "#ffffff", \
"pageName": "Title Page", \
"themeOption": "classic" \
}' 'https://{environment}/dtapp/api/sdk/f7f52232-****-4777-a81d-b4c3f4f97c8e/visibility'
# Example Response
{
"success": true,
}
# Get Visibility by Visibility ID
GET /dtapp/api/sdk/visibility/:visibilityId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| visibility | string | false | unique id of the visibility |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
| result | visibility object [map] | visibility object |
# Visibility object
| Path | Type | Description |
|---|---|---|
| pageName | string | page name from user input |
| elementName | string | element name from user input |
| themeOption | string | classic/option1/option2/option3/option4/option6 |
| backgroundImage | string | base64 encoded image for option6 usage |
| visibility | string | unique id of the visibility |
# Example Request
curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/visibility/O3nAg'
# Example Response
{
"result": {
"backgroundColor": "#000000",
"appearance": "system",
"visibilityId": "O3nAg",
"themeOption": "classic",
"backgroundImage": "",
"program": {},
"pageName": "Title Page",
"fontColor": "#ffffff",
"elementName": "Title"
},
"success": true
}
# Update Visibility by Visibility ID
PUT /dtapp/api/sdk/visibility/:visibilityId
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| visibilityId | string | false | unique id of the visibility |
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| pageName | string | true | page name from user input |
| elementName | string | true | element name from user input |
| themeOption | string | true | classic/option1/option2/option3/option4/option6 |
| backgroundImage | string | true | base64 encoded image for option6 usage |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
"appearance": "system", \
"backgroundColor": "#000000", \
"elementName": "Title", \
"fontColor": "#ffffff", \
"pageName": "Title Page", \
"program": {"survey_name" : "Sample Program"}, \
"themeOption": "option1" \
\
}' 'https://{environment}/dtapp/api/sdk/visibility/O3nAg'
# Example Response
{
"success": true
}
# Delete Visibility by Visibility IDs
DELETE /dtapp/api/sdk/visibility
# Path Parameters
No Parameters
# Query Parameters
No Parameters
# Request fields
| Path | Type | Optional | Description |
|---|---|---|---|
| ids | array | false | list of visibility ids to be deleted |
# Response fields
| Path | Type | Description |
|---|---|---|
| success | boolean | true (or) false |
# Example Request
curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' -d '{"ids": ["O3nAg"]}' 'https://{environment}/dtapp/api/sdk/visibility'
# Example Response
{
"success": true
}
# Export Application
GET /dtapp/api/sdk/visibility/:visibilityId/export
# Path Parameters
| Path | Type | Optional | Description |
|---|---|---|---|
| visibilityId | string | false | unique id of the visibility |
# Query Parameters
No Parameters
# Request fields
No Parameters
# Response fields
| Path | Type | Description |
|---|---|---|
| Download export | PDF file | pdf file with visibility info |
# Example Request
curl -X GET --header 'Accept: application/pdf' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/visibility/jH6wq/export'
# Example Response
Download export
# Errors
Dropthought API uses the following error codes
| Code | Description |
|---|---|
| 400 | Bad Request -- Your request is invalid. |
| 401 | Unauthorized -- Your API key is wrong. |
| 403 | Forbidden -- The requested is hidden for administrators only. |
| 404 | Not Found -- The specified resource could not be found. |
| 405 | Method Not Allowed -- You tried to access the resource with an invalid method. |
| 406 | Not Acceptable -- You requested a format that isn't json. |
| 410 | Gone -- The requested resource has been removed from our servers. |
| 418 | I'm a teapot. |
| 429 | Too Many Requests -- You're requesting too many resources! Slow down! |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
| 503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |
# List of available timezones
'Europe/Andorra', 'Asia/Dubai', 'Asia/Kabul', 'Europe/Tirane', 'Asia/Yerevan', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Mawson', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'America/Argentina/Buenos_Aires', 'America/Argentina/Cordoba', 'America/Argentina/Salta', 'America/Argentina/Jujuy', 'America/Argentina/Tucuman', 'America/Argentina/Catamarca', 'America/Argentina/La_Rioja', 'America/Argentina/San_Juan', 'America/Argentina/Mendoza', 'America/Argentina/San_Luis', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Ushuaia', 'Pacific/Pago_Pago', 'Europe/Vienna', 'Australia/Lord_Howe', 'Antarctica/Macquarie', 'Australia/Hobart', 'Australia/Currie', 'Australia/Melbourne', 'Australia/Sydney', 'Australia/Broken_Hill', 'Australia/Brisbane', 'Australia/Lindeman', 'Australia/Adelaide', 'Australia/Darwin', 'Australia/Perth', 'Australia/Eucla', 'Asia/Baku', 'America/Barbados', 'Asia/Dhaka', 'Europe/Brussels', 'Europe/Sofia', 'Atlantic/Bermuda', 'Asia/Brunei', 'America/La_Paz', 'America/Noronha', 'America/Belem', 'America/Fortaleza', 'America/Recife', 'America/Araguaina', 'America/Maceio', 'America/Bahia', 'America/Sao_Paulo', 'America/Campo_Grande', 'America/Cuiaba', 'America/Santarem', 'America/Porto_Velho', 'America/Boa_Vista', 'America/Manaus', 'America/Eirunepe', 'America/Rio_Branco', 'America/Nassau', 'Asia/Thimphu', 'Europe/Minsk', 'America/Belize', 'America/St_Johns', 'America/Halifax', 'America/Glace_Bay', 'America/Moncton', 'America/Goose_Bay', 'America/Blanc-Sablon', 'America/Toronto', 'America/Nipigon', 'America/Thunder_Bay', 'America/Iqaluit', 'America/Pangnirtung', 'America/Atikokan', 'America/Winnipeg', 'America/Rainy_River', 'America/Resolute', 'America/Rankin_Inlet', 'America/Regina', 'America/Swift_Current', 'America/Edmonton', 'America/Cambridge_Bay', 'America/Yellowknife', 'America/Inuvik', 'America/Creston', 'America/Dawson_Creek', 'America/Fort_Nelson', 'America/Vancouver', 'America/Whitehorse', 'America/Dawson', 'Indian/Cocos', 'Europe/Zurich', 'Africa/Abidjan', 'Pacific/Rarotonga', 'America/Santiago', 'America/Punta_Arenas', 'Pacific/Easter', 'Asia/Shanghai', 'Asia/Urumqi', 'America/Bogota', 'America/Costa_Rica', 'America/Havana', 'Atlantic/Cape_Verde', 'America/Curacao', 'Indian/Christmas', 'Asia/Nicosia', 'Asia/Famagusta', 'Europe/Prague', 'Europe/Berlin', 'Europe/Copenhagen', 'America/Santo_Domingo', 'Africa/Algiers', 'America/Guayaquil', 'Pacific/Galapagos', 'Europe/Tallinn', 'Africa/Cairo', 'Africa/El_Aaiun', 'Europe/Madrid', 'Africa/Ceuta', 'Atlantic/Canary', 'Europe/Helsinki', 'Pacific/Fiji', 'Atlantic/Stanley', 'Pacific/Chuuk', 'Pacific/Pohnpei', 'Pacific/Kosrae', 'Atlantic/Faroe', 'Europe/Paris', 'Europe/London', 'Asia/Tbilisi', 'America/Cayenne', 'Africa/Accra', 'Europe/Gibraltar', 'America/Godthab', 'America/Danmarkshavn', 'America/Scoresbysund', 'America/Thule', 'Europe/Athens', 'Atlantic/South_Georgia', 'America/Guatemala', 'Pacific/Guam', 'Africa/Bissau', 'America/Guyana', 'Asia/Hong_Kong', 'America/Tegucigalpa', 'America/Port-au-Prince', 'Europe/Budapest', 'Asia/Jakarta', 'Asia/Pontianak', 'Asia/Makassar', 'Asia/Jayapura', 'Europe/Dublin', 'Asia/Jerusalem', 'Asia/Kolkata', 'Indian/Chagos', 'Asia/Baghdad', 'Asia/Tehran', 'Atlantic/Reykjavik', 'Europe/Rome', 'America/Jamaica', 'Asia/Amman', 'Asia/Tokyo', 'Africa/Nairobi', 'Asia/Bishkek', 'Pacific/Tarawa', 'Pacific/Enderbury', 'Pacific/Kiritimati', 'Asia/Pyongyang', 'Asia/Seoul', 'Asia/Almaty', 'Asia/Qyzylorda', 'Asia/Qostanay', 'Asia/Aqtobe', 'Asia/Aqtau', 'Asia/Atyrau', 'Asia/Oral', 'Asia/Beirut', 'Asia/Colombo', 'Africa/Monrovia', 'Europe/Vilnius', 'Europe/Luxembourg', 'Europe/Riga', 'Africa/Tripoli', 'Africa/Casablanca', 'Europe/Monaco', 'Europe/Chisinau', 'Pacific/Majuro', 'Pacific/Kwajalein', 'Asia/Yangon', 'Asia/Ulaanbaatar', 'Asia/Hovd', 'Asia/Choibalsan', 'Asia/Macau', 'America/Martinique', 'Europe/Malta', 'Indian/Mauritius', 'Indian/Maldives', 'America/Mexico_City', 'America/Cancun', 'America/Merida', 'America/Monterrey', 'America/Matamoros', 'America/Mazatlan', 'America/Chihuahua', 'America/Ojinaga', 'America/Hermosillo', 'America/Tijuana', 'America/Bahia_Banderas', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Africa/Maputo', 'Africa/Windhoek', 'Pacific/Noumea', 'Pacific/Norfolk', 'Africa/Lagos', 'America/Managua', 'Europe/Amsterdam', 'Europe/Oslo', 'Asia/Kathmandu', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Auckland', 'Pacific/Chatham', 'America/Panama', 'America/Lima', 'Pacific/Tahiti', 'Pacific/Marquesas', 'Pacific/Gambier', 'Pacific/Port_Moresby', 'Pacific/Bougainville', 'Asia/Manila', 'Asia/Karachi', 'Europe/Warsaw', 'America/Miquelon', 'Pacific/Pitcairn', 'America/Puerto_Rico', 'Asia/Gaza', 'Asia/Hebron', 'Europe/Lisbon', 'Atlantic/Madeira', 'Atlantic/Azores', 'Pacific/Palau', 'America/Asuncion', 'Asia/Qatar', 'Indian/Reunion', 'Europe/Bucharest', 'Europe/Belgrade', 'Europe/Kaliningrad', 'Europe/Moscow', 'Europe/Simferopol', 'Europe/Kirov', 'Europe/Astrakhan', 'Europe/Volgograd', 'Europe/Saratov', 'Europe/Ulyanovsk', 'Europe/Samara', 'Asia/Yekaterinburg', 'Asia/Omsk', 'Asia/Novosibirsk', 'Asia/Barnaul', 'Asia/Tomsk', 'Asia/Novokuznetsk', 'Asia/Krasnoyarsk', 'Asia/Irkutsk', 'Asia/Chita', 'Asia/Yakutsk', 'Asia/Khandyga', 'Asia/Vladivostok', 'Asia/Ust-Nera', 'Asia/Magadan', 'Asia/Sakhalin', 'Asia/Srednekolymsk', 'Asia/Kamchatka', 'Asia/Anadyr', 'Asia/Riyadh', 'Pacific/Guadalcanal', 'Indian/Mahe', 'Africa/Khartoum', 'Europe/Stockholm', 'Asia/Singapore', 'America/Paramaribo', 'Africa/Juba', 'Africa/Sao_Tome', 'America/El_Salvador', 'Asia/Damascus', 'America/Grand_Turk', 'Africa/Ndjamena', 'Indian/Kerguelen', 'Asia/Bangkok', 'Asia/Dushanbe', 'Pacific/Fakaofo', 'Asia/Dili', 'Asia/Ashgabat', 'Africa/Tunis', 'Pacific/Tongatapu', 'Europe/Istanbul', 'America/Port_of_Spain', 'Pacific/Funafuti', 'Asia/Taipei', 'Europe/Kiev', 'Europe/Uzhgorod', 'Europe/Zaporozhye', 'Pacific/Wake', 'America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu', 'America/Montevideo', 'Asia/Samarkand', 'Asia/Tashkent', 'America/Caracas', 'Asia/Ho_Chi_Minh', 'Pacific/Efate', 'Pacific/Wallis', 'Pacific/Apia', 'Africa/Johannesburg'
DTCLI →