Use case: API Gateway trigger parameters
Last updated
Last updated
An e-commerce company needs to ensure that its inventory is always up to date, especially during high-demand periods, such as promotions or holidays. Each time a product is sold, it's vital that the inventory reduction is processed quickly and accurately, preventing customers from becoming frustrated upon discovering that an item is out of stock after purchase.
Imagine that when an item is removed from inventory, it is necessary to provide two pieces of information: the product ID and the quantity subtracted from the inventory. Additionally, it may be necessary to provide a discount applied to the sale.
In this documentation, we will explore how to use path parameters and query parameters in the API Gateway to pass this information.
After contextualizing our case, it's time to set up our flow.
The first step is to add an API Gateway Trigger and configure it.
Note that the route follows this format:
The colon followed by 'ID' indicates that this is a path parameter. The platform automatically recognizes the ID in the "Parameters" tab, allowing you to add a value to test the operation.
Next, we will add the quantity and discount parameters.
Sending values with commas via the path is not allowed. If there is a value that includes a comma, it must be sent as a query parameter. Therefore, the parameters quantity and discount will be used to pass the quantity and discount value, respectively, in the "Query" tab.
To complete the "API Gateway Trigger" configuration, click "Save".
Next, we will add the PostgreSQL module, whose operation will be "Register payments".
Finally, we will use the "Return" tool module to illustrate the result, using the following configuration:
After the configuration, we will call the API via an HTTP client. To do this, open the API Gateway trigger and copy the provided URL.
When we look at the URL, we notice that the parameter values are not included. Therefore, we need to add them. Refer to the table below:
https://fake-url/sales/v1/product/:id
https://fake-url/sales/v1/product/23?quantity=2&discount=4
By analyzing the structure, we can see that the :id
parameter has been replaced with "23", and the query parameters quantity and discount have been added.
After executing the flow, you can check the logs in the API Gateway to confirm if the parameters were received correctly.
Read also: