Reenviar gatilhos para o webhook
O que você irá aprender com esse artigo?
- Consultar gatilhos de uma fatura
- Disparar novamente um gatilho específico
- Reenviar todos os gatilhos em um intervalo de tempo
Caso de uso
"Você está tendo problemas com instabilidade ou estão ocorrendo problemas em seu servidor responsável pela API que recebe os gatilhos da iugu. Você precisa entender como consultar os gatilhos enviados nesse período de falhas."
Diagrama de sequência
Consultar gatilhos de uma fatura
Sempre que necessário fazer a consulta de gatilhos, você irá precisar ter o atributo invoice_id dos quais deseja acessar os logs. Essa propriedade é resultado de uma cobrança direta, e você pode armazená-la ao lado de sua aplicação ou consultar esses dados na API em Listar Faturas.
Ao optar em consultar essa propriedade via API, você terá como retorno uma lista de suas faturar emitidas em ordem de criação, da mais recente para a mais antiga. Por padrão, este endpoint sempre mostrará no máximo 100 resultados. O campo totalItems
mostra o número total de faturas cadastradas, independente dos parâmetros de pesquisa utilizados. O resultado da pesquisa sempre estará dentro de items
.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/invoices?limit=50' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966'
Modelo de response
Obs.: Para consultar suas faturas na iugu, você deve utilizar a propriedade para a próxima requisição (request) é a id. Através da request Listar Logs você tem acesso todos os gatilhos da fatura referente a essa id.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/web_hook_logs/{{web_hook_log_id}}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw ''
Modelo de retorno
Disparar novamente um gatilho específico
Com a chamada Listar Logs, você tem como retorno a id do gatilho. Com ela, é necessário realizar um GET na API Disparar log novamente. Essa requisição irá retornar as informações do gatilho desejado e reenviá-lo para o webhook cadastrado na plataforma.
Modelo de request
curl --location --request GET 'https://api.iugu.com/v1/web_hook_logs/{{web_hook_log_id}}/retry' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw ''
Modelo de response
Reenviar os gatilhos em um intervalo de tempo
Se você precisa reenviar todos os gatilhos utilizados num período específico, basta realizar uma chamada GET na API Reenviar gatilho (por período). No corpo dessa request, devem ser informados as datas inicial e final para reenvio dos logs. O formato deve ser sempre AAAA-MM-DD.
Observação!
Para essa request, é possível realizar o reenvio dos gatilhos de um intervalo a cada 3 dias, porém a consulta só 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' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=ca1be8a3bc81800098d0c3711c4f38bddca4926f-1626092966' \
--data-raw '{
"initial_date": "2021-03-03",
"final_date": "2021-03-06",
"event": "invoice.status_changed"
}'
Modelo de response
Outras informações!
Documentações que também podem te ajudar:
Como funcionam os gatilhos e como configurá-los?
Updated almost 3 years ago