If you are new to web service interfaces, first review HTTP Request Structure for an overview of what makes up an HTTP request.
Tips:
use Custom Fields for configurations - avoid hardcoding.
...
When building HTTP requests in the Translator, there are several tips and tricks to know:
Expand | ||
---|---|---|
| ||
Create separate functions for different tasks like authentication, making API requests, or specific operations/methods (e.g., In the Translator, these files can be organized into folders and one or more lua files, depending on the scale of operations required. Naming Conventions for Functions and Variables is an important part in creating well organized, intuitive web service operations. For example, in the screenshot below, all files are stored in the
|
Expand | ||
---|---|---|
| ||
Avoid hardcoding configurations and parameters. Centralize configuration data in Custom Fields to make the interface adaptable and more secure. Information such as the base URL, authentication data (clientID, client secrets, username, password, tokens, etc.) |
...
pass parameters as a table
...
pcall(), Retry Library, log errors
...
Prepping the body:
json.serialize
tostring() or S()
urlcode.encodeTable - lua table to query string
...
, and retry logic are good candidates for custom fields! Any values set as type 'password' will be encrypted to protect sensitive custom fields. This way, you can update configurations without modifying the core logic of your API calls. Here we are passing |
Expand | ||
---|---|---|
| ||
Using tables to store parameters allows you to dynamically build the data you need to send with the request. It also keeps your functions simple, support multiple optional parameters and especially useful for long term maintenance as you can add and remove parameters without needing to modify the function call in the multiple places its called. In this example:
Here we have passed the specific endpoint, body and live parameter in a single table for |
Expand | ||
---|---|---|
| ||
In this example, we are working with JSON data. Notice in Depending on the API you’re working with and the type of request, there are a few functions that you may want to use to prepare the body or query string parameters:
|
Expand | ||
---|---|---|
| ||
Make your integration more robust by handling errors and retrying calls when necessary. This is particularly useful for handling intermittent network or server issues. Now, looking at See Handling HTTP Responses for the fundamentals and recommendations on how to handle responses in IguanaX. |
Expand | ||
---|---|---|
| ||
Create Help Files (*.help) to document how your functions work and how to use them will make it easier for the rest of the team to understand and reuse your functions. |
If you are a more advanced user or are building a complex integration, refer to our Shell Adapter for how a great framework to build and structure your web client adapters to any API system.
...