Caso de uso: parámetros del disparador API Gateway

Contexto

Una empresa de e-commerce necesita garantizar que el stock esté siempre actualizado, especialmente en períodos de alta demanda, como promociones o fechas especiales. Cada vez que se vende un producto, es vital que la reducción de stock se procese de forma rápida y precisa, evitando que los clientes descubran que un artículo está agotado tras la compra.

Imaginemos que, al efectuar la salida de un producto del stock, es necesario informar dos datos: el ID del producto y la cantidad restada del inventario. Además, puede ser necesario indicar un descuento aplicado en la venta.

En esta documentación exploraremos cómo utilizar parámetros de ruta y parámetros de query del API Gateway para transmitir esta información.


Paso a paso

Tras contextualizar el caso, es hora de configurar el flujo.

El primer paso es añadir un Disparador API Gateway y configurarlo.

Observa que la ruta tiene la siguiente estructura:

Los dos puntos seguidos de id indican que se trata de un parámetro de ruta (path). Skyone Studio reconoce automáticamente el id en la pestaña "Parámetros", siendo posible añadir un valor para probar la operación.

A continuación, añadiremos los parámetros de cantidad y descuento.

El envío de valores con coma vía ruta no está permitido. Si hay un valor que incluye coma (por ejemplo, decimales escritos con coma), debe enviarse como parámetro de query. Por ese motivo, los parámetros quantity y discount se usarán para pasar la cantidad y el monto del descuento, respectivamente, pero en la pestaña "Query".

Para finalizar la configuración del Disparador API Gateway, haz clic en "Guardar".

A continuación, añadiremos el módulo de PostgreSQL, cuya operación será "Registra pagos".

Por último, utilizaremos el módulo herramental "Retorno" para ejemplificar el resultado, con la configuración correspondiente:

Después de configurar todo, llamaremos a la API desde un cliente HTTP. Para ello, abre el disparador del API Gateway y copia la URL que se proporciona.

Al observar la URL notamos que no incluye aún los valores de los parámetros. Por eso, debemos agregarlos manualmente en la llamada. Observa la tabla a continuación:

URL proporcionada
URL modificada

https://fake-url/sales/v1/product/:id

https://fake-url/sales/v1/product/23?quantity=2&discount=4

Al analizar la estructura, es posible observar que el parámetro :id fue reemplazado por "23" y que los parámetros de query "quantity" y "discount" fueron añadidos.

Es posible ejecutar manualmente y los valores serán completados en el disparador.

Después de la ejecución del flujo, es posible verificar los registros en el API Gateway para confirmar si los parámetros fueron recibidos correctamente.

Lee también: Parámetros de URL en el API Gateway.

Last updated