Help Center Add Question Settings Automated Data Sync

Automated Data Sync

Upon receiving of survey responses, the system can dispatch JSON data to the specified URL. 

 


Automated Data Sync Setting


1. Access the "Settings" page. There are two ways to access it: 


- Click Save and Settings after editing the survey


Save and Settings option


- Click Settings Home and Settings in the "My Surveys" page


Settings Home access


2. There are two methods for data sync:


- For a Single Survey: Turn on Automated Data Sync and Enter the synchronization URL, and then the response data from this survey will be sent as JSON to this URL after configuration.


Single survey sync


- For All Surveys: Click on Global data sync and activate this feature. Then, enter the synchronization URL. After configuration, all response data will be sent as JSON to this URL.


Global data sync


3. By default, only valid responses are synchronized. This function can be disabled if required.


4. The default setting does not retry on failure. Enable this option to retry sending data if no response is received within 8 seconds, treating the attempt as a failure.


Retry on failure setting


5. You can access synchronization logs to monitor data synchronization activities.



Format of Response Data


To ensure the speed and success rate of the push, the vast majority of question types will only push the numbers corresponding to the questions and options, and will not push the text content of the questions and options. Here's a breakdown of the data format: 


- t1 represents the displayed question number, while q1 represents the internal system question number. Note: t1 may not match q1 if the question's position changes.


- t1_q1_1 for Multiple Textbox and Matrix question types refers to the first input field.


- t1_q1_1_2 for Table question types indicates the first row and the second column.


- For closed-ended question types, like Multiple Choice, Checkboxes, Rating the Choice, and more, the "1" in t1_q1":"1" represents the selected option's sequence.


- For open-ended question types, the answers display exactly as entered by respondents.


- Some question types, such as Multi-level Dropdown, Constant Sum, Slider, Matrix Slider, and more, provide the content of the selected option.


- For Conjoint Analysis, all attributes for a concept are displayed. If the concept has been chosen by a respondent, 'Yes' will be shown; otherwise, 'No' will be displayed.




Architecture Recommendation: Separation of Data Reception and Business Processing

 

Problem Description

 

The current architecture couples data reception with business processing, which leads to the following issues:


- When business processing fails, it returns a failure response, which triggers a retry mechanism.


- Retried data also fails, creating a retry loop.



Proposed Solution

 

Adopt a separated architecture for reception and processing:


1. Data Reception Layer


- Upon receiving data, immediately store it in a temporary data pool.


- Return a success response immediately after successful storage.



2. Business Processing Layer


- Asynchronously retrieve data from the temporary data pool for processing.


- Processing failures do not affect the success response from the reception layer.




Solution Advantages

 

- Avoid channel blocking: Return success immediately upon reception, preventing channel blockage due to business processing failures.


- Improve fault tolerance: Business processing failures do not affect data reception, allowing independent retry mechanisms.


- Enhance performance: Reception layer responds quickly, while business processing can be performed asynchronously and concurrently.


- Facilitate maintenance: Clear separation of responsibilities enables more precise problem identification.



Important Notes

 

- Ensure sufficient capacity for the temporary data pool.


- Establish data cleanup mechanisms to prevent data accumulation.


- Monitor the status of the data pool and processing success rate.


- Ensure idempotency of data processing operations.




Summary

 

By separating data reception from business processing, the system can effectively resolve data channel blocking issues caused by business processing failures, thereby improving overall system stability.


How helpful was this article?