Esse artigo irá lhe ensinar como:
• Consultar os gatilhos de uma fatura.
• Disparar novamente um gatilho específico.
• Reenviar todos os gatilhos em um intervalo de tempo.
Case de uso
"Cliente informa que sofreu uma instabilidade, ou problemas internos em seu servidor responsável por uma API que recebe os gatilhos da Iugu, como ele deve consultar os gatilhos enviados nesse período?"
Diagrama de integração Modelo
CONSULTAR TODOS OS GATILHOS DE UMA FATURA
Para realizar essa consulta é necessário ter o invoice_id que deseja consultar os logs, essa propriedade é retornada ao realizar uma cobrança direta/criar fatura, você pode armazenar esse id do lado sua aplicação, ou consultar em nossa api “Listar Faturas”. Essa api Retorna uma lista das faturas em sua conta ordenadas pela data de criação, da mais à menos recente.
Por padrão, este endpoint retorna no máximo 100 registros. O campo "totalItems" contém sempre a quantidade total de faturas cadastradas, independentemente dos parâmetros de pesquisa utilizados, e o resultado da pesquisa fica sempre dentro de "items".
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/invoices?limit=50&api_token={chaveapi}' \
--header 'Accept: application/json' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966'
Modelo de response
Obs.: Se você for consultar as faturas na iugu, a propriedade que deve usar para a próxima request é a id.
Com o id deve ser realizado uma request na api “Listar Logs”, ela irá retornar todos os gatilhos enviados para uma determinada cobrança.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/web_hook_logs/FEDCE596BC95427BB8A9A6CC9E0429B4?api_token=37cf2eb22831602b3b6d01dba297e9e9' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw ''
Modelo de retorno
DISPARAR NOVAMENTE UM GATILHO ESPECÍFICO
Api “Listar Logs”, retorna o id do gatilho, com esse id é necessário realizar um GET na api “Disparar log novamente”, essa requisição irá retornar as informação do gatilho desejado e reenviar ele para o webhook cadastrado na plataforma.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/web_hook_logs/141519C9CF0446F79BACD1D89BF5679F/retry?api_token={chaveapi}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw ''
Modelo de response
REENVIAR TODOS OS GATILHOS EM UM INTERVALO DE TEMPO
Para realizar esse procedimento, basta realizar a chama de GET na api “Reenviar gatilho (por período)”, no corpo dessa request, deve ser informado a data inicial e final para reenvio dos logs, no formato deve ser AAAA-MM-DD.
OBS. Para essa request é possível realizar o reenvio para o intervalo de 3 em 3 dias, porém a consulta pode ser feita para logs anteriores a três dias.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/web_hooks/resend?api_token={chaveapi}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw '{
"initial_date": "2021-03-03",
"final_date": "2021-03-06",
"event": "invoice.status_changed"
}'
Modelo de response
Documentações que também podem te ajudar:
0 Comentários