External API Requests allow you to define request templates and then trigger outgoing calls to any API from within business processes. With them, you can connect your project to any third-party service, even if no module exists for it yet in the marketplace.
1. To define a new request template, go to the "Business Logic" tab on the sidebar (1), switch to the "External API Requests" tab (2), and click "New API Request" (3).
2. Give the new request a name and, optionally, a description.
3. Select the request HTTP method and its URL.
4. Define URL parameters, query parameters (only for GET requests), headers, and the body of the request by inputting the parameter name (1), its type (2), and clicking "Add Param" (3).
You can also autofill the request headers and body by inputting sample JSON, the system will create all the necessary parameters automatically.
In case that your request contains objects (e.g. car -> color, size, etc.), you will have to create virtual models to process these objects later in your business processes. Do so by selecting "Model" in the parameter type selector, and introducing the child elements that you would need. You can nest the objects as many times as you need (i.e. object within object) and create virtual model arrays. In case that you have used the autofill, this process was completed automatically.
5. Change the request's settings, such as SSL verification, timeout, and error handling in the "Settings" tab.
6. Test out the request by clicking "Test Request" and inputting all the required parameters. Check the response from the server and autofill the response headers and body automatically, or do so manually.
7. Save the request template by clicking "Save Request".
You will have to provide it with all the components that you would like to add to the request (URL and query parameters, headers, and the body) as data models, which can be made using these blocks. In the output, you will be able to extract the formatted body of the response, its headers, and response status. You can expand these models using these blocks.
Every time you trigger an API request, the system will output to the logs its type and address, the request body, the response HTTP status code, and the response body. You can output other info, such as specific fields of the response body, or the latency to logs using the Write to Log block.