Caso de uso: parâmetros de gatilho API Gateway
Last updated
Last updated
Uma empresa de e-commerce precisa garantir que o estoque esteja sempre atualizado, especialmente em períodos de alta demanda, como durante promoções ou datas comemorativas. Cada vez que um produto é vendido, é vital que a baixa no estoque seja processada de forma rápida e precisa, evitando que os clientes fiquem frustrados ao descobrir que um item está esgotado após a compra.
Imagine que, ao realizar a saída de um produto no estoque, é necessário informar dois dados: o ID do produto e a quantidade subtraída do estoque. Além disso, pode ser necessário informar um desconto aplicado na venda.
Nesta documentação vamos explorar como utilizar parâmetros de rota e parâmetros de query do API Gateway para passar essas informações.
Após a contextualização do nosso caso, é hora de configurar o nosso fluxo.
O primeiro passo é adicionar um Gatilho API Gateway e configurá-lo.
Observe que a rota possui a seguinte formação:
Os dois pontos seguidos de 'ID' indicam que esse é um parâmetro de rota (path). A plataforma reconhece automaticamente o ID na aba "Parâmetros", sendo possível adicionar um valor para testar a operação.
Em seguida, vamos adicionar os parâmetros de quantidade e desconto.
O envio de valores com vírgula via rota não é permitido. Se houver um valor que inclua vírgula, ele deve ser enviado como um parâmetro de query. Por isso, os parâmetros quantity e discount serão usados para passar a quantidade e o valor de desconto, respectivamente, porém, na aba "Query".
Para finalizar a configuração do "Gatilho API Gateway", clique em "Salvar".
Em seguida, vamos adicionar o módulo do PostgreSQL, cuja operação será "Registra pagamentos".
Por fim, vamos utilizar o módulo ferramental "Retorno" para exemplificar o resultado, utilizando a seguinte configuração:
Após a configuração, vamos chamar a API via cliente HTTP. Para isso, vamos abrir o gatilho de API Gateway e copiar a URL fornecida.
Quando olhamos a URL percebemos que não está incluído o valor dos parâmetros. Para isso, precisamos adicioná-los. Observe a tabela abaixo:
https://fake-url/sales/v1/product/:id
https://fake-url/sales/v1/product/23?quantity=2&discount=4
Ao analisar a estrutura, é possível observar que o parâmetro :id
foi substituído por "23" e que os parâmetros de query "quantity" e "discount" foram adicionados.
Após a execução do fluxo, é possível verificar os logs no API Gateway para confirmar se os parâmetros foram recebidos corretamente.
Leia também: