🔔Gatilhos

A iugu disponibiliza a funcionalidade de gatilhos (webhooks) para facilitar a integração entre sistemas.

📘

O que você irá aprender com esse artigo?

Procurando pela lista dos gatilhos?

Aqui está: lista de gatilhos da iugu.


Conceito

Gatilhos de webhooks funcionam como alarmes automáticos que são acionados quando determinados eventos acontecem em um sistema ou aplicação. Eles esperam por um sinal específico e, quando detectam esse sinal, executam uma ação previamente programada.

Cabeçalho Content-Type

As chamadas dos nossos gatilhos são enviadas com o cabeçalho Content-Type definido como application/x-www-form-urlencoded, garantindo que os dados do formulário sejam adequadamente codificados e facilmente processados pelo servidor receptor. Esta escolha assegura compatibilidade e eficiência na transmissão de informações em formato chave=valor.

🚧

IP de Saída para liberação de gatilhos

Caso seja feito algum tipo de controle por Firewall, o IP de saída da iugu é 54.207.210.151


Por que usar Gatilhos ao invés de fazer Pooling?

Realizar pooling nas APIs da iugu pode não ser a melhor estratégia em muitos casos, principalmente devido ao impacto negativo que pode ocasionar em relação ao tempo de resposta e à complexidade do gerenciamento de chamadas. Aqui estão alguns motivos específicos:

  1. Atraso na Resposta: O pooling pode introduzir atrasos significativos nas respostas às requisições, pois as chamadas são agrupadas e processadas em lotes. Isso significa que uma requisição pode ter que esperar até que o lote esteja completo para ser enviada e processada, o que pode não ser ideal para operações que exigem respostas em tempo real ou mais rápidas.

  2. Complexidade no Gerenciamento de Chamadas: Gerenciar e manter um sistema de pooling requer uma lógica adicional para agrupar as chamadas, gerenciar os tempos de envio dos lotes, e lidar com as respostas correspondentes a cada chamada no lote. Isso aumenta a complexidade do código e a possibilidade de erros.

  3. Limitação na Escalabilidade: Embora o pooling possa reduzir a carga nos servidores ao diminuir o número de chamadas feitas, ele também pode limitar a escalabilidade da aplicação, pois o processamento em lote pode se tornar um gargalo se o volume de requisições for muito alto.

  4. Riscos de Falhas em Lote: Se um lote de chamadas falhar devido a um erro em uma única requisição, isso pode impactar todas as outras requisições no mesmo lote, o que não ocorreria se as chamadas fossem feitas individualmente.

Utilizando Gatilhos (Webhooks)

Em contraste, os gatilhos (webhooks) oferecem uma alternativa mais eficiente e direta para reagir a eventos específicos em tempo real. Quando um evento ocorre, um webhook é acionado imediatamente, enviando dados diretamente para o endpoint configurado sem a necessidade de pooling. Isso garante que as ações sejam processadas de forma mais rápida e confiável, sem atrasos inerentes ao agrupamento de chamadas e com menos complexidade no gerenciamento.

Em resumo

Os Gatilhos descartam a necessidade de realizar chamadas às APIs para consultar se os dados estão, ou não, disponíveis.


Como configurar um Gatilho?

Para configurar Gatilhos na iugu, há duas formas:

  1. Via Painel (Acesse alia.iugu.com > Configurações > Integrações > Comunicação via Gatilho)
  2. Via API

Painel

  1. Acesse alia.iugu.com > Configurações
  2. Na seção Integrações > Comunicação via Gatilho
  3. Escolha o evento > insira o URL que receberá os dados
  4. Clique em Salvar.

API

Utilize o endpoint Criar GatilhoPOST v1/web_hooks.