AppTone Get Questionnaires List
questionnaires is an HTTP GET enpoint to retrieve a list of all available questionnaires by filter.
A call to advisors endpoint requires basic authentication. Please refer to Analyze Now Authentication
Here is a sample Javascript code to fetch the questionnaires list
Install required libraries
npm install axios
And the actual code
Available filters for questionnaires endpoint
query - filter by the questionnaire name
languages - filter by supported languages
Response
The response is a list of questionnaires that matching the search criteria
Fields
name - The questionnaire name
language - The questionnaire language
description - The questionnaire description
apptoneQuestionnaireId - The questionnaire id
AppTone Send Questionnaire To Customer
sendToCustomer is an HTTP POST enpoint to start an asynchronus test interaction with a user.
The sendToCustomer process status reported though a webhook calls from AppTone service.
A call to sendToCustomer endpoint requires basic authentication. Please refer to Analyze Now Authentication
It is recommended to encrypt the callback payload data by passing an "encryptionKey" string value on the request. Please read more
Sample NodeJS for sendToCustomer
Install required libraries
npm install axios
And the actual code
Response Structure
Upon request reception, AppTone validate the request parameters. For a valid request AppTone will return a "reportId" identifier to be used when recieving asynchronous status updates.
For invalid parameter the response AppTone will return an error code and message which indicates the invalid param.
Sample response for a valid request
Sample response for a request with an invalid parameter
Once a valid request accepted on AppTone, it starts sending status update to the URL provided on "statusCallbackUrl" parameter.
Sample status callback data
Params on status callback
application: always "apptone".
eventDate: Time of the event in GMT timezone
payload: contain the actual event data
payload/reportId: The reportId that was provided on the response for the sentToCustomer request
payload/status: The current analysis status
encrypted: true of "encryptionKey" parameter sent on the sentToCustomer request
Avaialble Statuses
pending - The test was sent to the customer
running - The customer is running the test. This status comes with "totalMessages" and "receivedMessages" params which indicates the running progress
analyzing - AppTone analyze the test
completed - The report is ready. the "analysis" data contains the analysis data
In case an error happen during the test run, a relevant error status will be sent
AppTone Cancel Test Run
cancel endpoint abort a test before its running completed
Install the required libraries
npm install axios
Actual code
In case the reportId does not exists, or was already cenceled, AppTone will respond with an HTTP 404 status
AppTone Download Report PDF
downloadPdf is an HTTP POST asynchronous enpoint to create and downalod the report in a PSF format.
The downloadPdf send process status report though a webhook calls from AppTone service.
A call to downloadPdf endpoint requires basic authentication. Please refer to Analyze Now Authentication
It is recommended to encrypt the callback payload data by passing an "encryptionKey" string value on the request. Read more
Sample NodeJS code for downloadPdf
Install required libraries
npm install axios fs
And the actual code
Response Structure
Upon request reception, AppTone validate the request parameters. For a valid request AppTone will return a "reportId" identifier to be used when recieving asynchronous status updates.
For invalid parameter the response AppTone will return an error code and message which indicates the invalid param.
Sample response for a valid request
Sample response for a request with an invalid parameter
Once a valid request accepted on AppTone, it will send a status updates to the URL provided on "statusCallbackUrl" parameter.
Sample status callback data with report PDF
Params on status callback
application: always "apptone".
eventDate: Time of the event in GMT timezone
payload: contain the actual event data
payload/reportId: The reportId that was provided on the response for the sentToCustomer request
payload/contentTyp": always "application/pdf"
payload/data: The PDF file content in Base64 encoding
encrypted: true of "encryptionKey" parameter sent on the downloadPdf request
Errors callback
In case an error happen during the test run, a relevant error status will be sent