A third party survey provider offers both an API endpoint for individual survey data and an SFTP server endpoint that can accept batch survey data. The initial implementation of the integration includes
1. Marking the order as requiring a survey before order placement
2. On the order confirmation pace, the survey form is displayed for the customer to fill
3. The data is sent to the survey provider API, and the order it marked as not requiring a survey
Later it was identified that this solution is not fit for purpose as the following issues and additional requirements were identified:
1. If the API call fails, the corresponding survey data is lost. The Business requires to avoid data loss.
2. Some customers skipped the form. The Business require sending a survey email to such customers.
3. The Order Management System (OMS) uses a non-standard XML parser it did not
manage to parse orders with the survey, until the survey attribute was manuallyremoved from the xml.
How should the Architect address the issues and requirements described above?
- Create a custom session attribute when the survey is required. Send to the API endpoint in real-time. On failure, capture the survey data in the sessionand reprocess, use me session attribute to send emails for the cases when survey was skipped.
- Create a custom object to store the survey data. Send to the API endpoint using a job. On success, remove the custom object. On failure, send the survey datawith API from the next execution of the same job. Use the custom object to send emails for the cases when the survey was skipped.
- Create a custom object when the survey is required Send to the API endpoint in real- time. On success, remove the object. Onfailure, capture the survey data in the custom object and later reprocess with a job. Use the custom object to send emails for the cases when survey was skipped.
- Send the survey data to the API endpoint in real-time until the survey data is successfully captured. Instruct the OMS development team to update their XML parser, use the Order survey attribute to send emails for the cases when the survey was skipped.
Reveal Solution Next Question