Challenge Overview
Challenge Objectives
-
In the challenge we are aiming to have an application to run in Zapier that connects to the Topcoder's APIs.
Project Background
Topcoder would like to be able you use its APIs within Zapier flows. For that we need to build a custom application that can connect to those APIs.
Technology Framework
- Zapier
- Node.js 8.x
- Javascript
Requirements
- Create a new Zapier application using the instructions defined here https://zapier.com/developer/start/introduction
- Documentation on how to create a private app https://zapier.com/developer/documentation/v2/#can-i-build-a-private-integration
- Use the Zapier CLI to develop and validate the application.
- The application must have the following configuration parameters:
- Environment: Development, QA or Production
- Version: v3, v4 or v5
- API: challenges (Base URL + /challenges), submissions (Base URL + /submissions)
- For this challenge we will use any open endpoints available for the APIs above. No authentication to the APIs are in scope.
- The application should allow GET to allow fetching data from the API and POST for saving data to the API. See example for more details https://github.com/zapier/zapier-platform-example-app-github
- You will need to provide the path you want to use that will be appended to Base URL + /<api type>. Example: <base url>/submissions/{submissionId}. This parameter can be null.
- For GET you can pass query paramaters as input to zap application (optional).
- For POST you need to pass the body parameters as input to zap application (required) - no need to validate if the body has the right parameters in Zapier. Let API handle any missing information.
- Each environment will have its own base URL:
- Development: https://api.topcoder-dev.com
- QA: http://localhost:300
- Production: https://api.topcoder.com
- URLs to use for testing and validation:
- For testing failure case please use:
- Since there is no open endpoint in the Topcoder's APIs for testing POST, you can run a mock API locally to validate (QA environment). The mock server should just print the body received from the API call. Add some validations to test missing parameters in request body. If you want to deploy locally any of the Topcoder's API you can:
Final Submission Guidelines
- Source code with deployment guide