Skip to main content

Oi, pessoal.

Preciso de uma luz para desenvolver um forma de enviar um e-mail pelo builder para um dos admins do contrato.

Um case de exemplo:

Possuímos algumas requisições http que fazem chamadas a uma api, criamos um registro de eventos para acompanhar a frequência dos status (200, 422, 500, etc...). Quando me refiro a um mecanismo de alerta, a ideia seria que se for registrado em um dia um determinado número de status 500, por exemplo 10 ocorrências, que quando a 10ª ocorrência for registrada, no mesmo bloco do builder um e-mail seja enviado para um dos admins informando que precisamos dar atenção a aquela api. 

Não sei se ficou claro, mas a ideia é receber um “alerta” da Blip quando um determinado número de registro de eventos for atingido. 

Alguém teria uma ideia de um caminho a seguir? 
Desde já agradeço a atenção.

Olá @Felipe_Lopes tudo bem ? 

Para envio do email tem esse guia : https://docs.blip.ai/?http#send-e-mail 

Caso tenha anexo tem : 

Ai você pode fazer isso com logica das condições saída para receber e tratar os códigos das requisições http. 


Olá @Felipe_Lopes tudo bem ? 

Para envio do email tem esse guia : https://docs.blip.ai/?http#send-e-mail 

Caso tenha anexo tem : 

Ai você pode fazer isso com logica das condições saída para receber e tratar os códigos das requisições http. 

Valeu pela resposta, Rafael!

Uma dúvida que ainda ficou é que eu não quero quer essa notificação aconteça toda vez que ocorrer esse tipo de erro, seria por exemplo notificar quando esse incidente ocorrer pela 10ª vez, por exemplo, e enviar esse e-mail de notificação. Daí em diante não precisa mais notificar pq já estaremos cientes de que tem uma falha acontecendo. Acho que na solução acima, todas as vezes que ocorrer um incidente determinado o email seria disparado, então se tivermos 50 incidentes, seriam 50 emails. 

Tem uma forma de fazer uma contador de usuários para identificar que aquele é o 10º usuário diferente e aí sim disparar esse email ou notificação?


Olá @Felipe_Lopes você pode usar a logica dos registro de eventos passando duas variaveis uma delas o id do usuario e o outro o a data do erro 

 

 

Ai sempre que der erro na requisição você leva a pessoa para o bloco de execessões que vai ter esse registro de evento e faça uma logica com a requisição abaixo : 

https://docs.blip.ai/#get-event-details

POST https://{{contract_id}}.http.msging.net/commands HTTP/1.1
Content-Type: application/json
Authorization: Key {YOUR_TOKEN}

{
"id": "{{$guid}}",
"to": "[email protected]",
"method": "get",
"uri": "/event-track/payments/Erro-Request-http?startDate=2023-06-26&endDate=2023-06-26&$take=10"
}

Ai ele vai ter retorna varias coisas mas o que importa é uma variavel chamada total e quando ela for igual ao valor que você deseja você faz o envio do email.

Não mencionei ,mas no bot você vai ter que ter um script para tratar o retorno da requisição http feito acima e salvar em uma variavel. Usaremos essa variavel para fazer o gatilo do envio do email : 

 

 


Muito obrigado pela ajuda, Rafael! Consegui chegar bem próximo do resultado desejado e daqui vou refinando. 

Só restou uma dúvida: Tem um delay para a atualização do número “Total”? Percebi que o array de “Items” aumenta mas o total continua com o mesmo número, até que algum tempo depois atualiza também e ambos ficam iguais.

Vou botar um exemplo abaixo (preservando o owneridentity) onde o total exibe o número 3, mas no array de “items” constam 5 registros de eventos. Fiz novamente a mesma requisição no postman e já estava atualizado com o número correto.

Tem algum delay? Se tiver, tem uma forma de driblar isso? Se eu definir por exemplo que o total precisa ser 10, caso tenha esse delay e entrem vários registros de eventos, quando atualizar por exibir 15 no total (ou seja, passou do 10 e não enviou o alerta desejado).

 

{
"type": "application/vnd.lime.collection+json",
"resource": {
"total": 3,
"itemType": "application/vnd.iris.eventTrack+json",
"items": +
{
"ownerIdentity": "XXX",
"storageDate": "2023-06-28T20:27:41.170Z",
"category": "Erro",
"action": "Erros",
"extras": {
"#stateName": " SAUD] Nome",
"#stateId": "0f8d9b3b-6581-4f18-aae9-d88d33ce97dc",
"#messageId": "4b3ace88-3fa3-4555-9718-2197f32a3a66",
"#previousStateId": "onboarding",
"#previousStateName": "Início"
}
},
{
"ownerIdentity": "XXX",
"storageDate": "2023-06-28T20:48:13.660Z",
"category": "Erro",
"action": "Erros",
"extras": {
"#stateName": " SAUD] Nome",
"#stateId": "0f8d9b3b-6581-4f18-aae9-d88d33ce97dc",
"#messageId": "9bbbc898-4e25-46ea-a201-e73b735f8d56",
"#previousStateId": "onboarding",
"#previousStateName": "Início"
}
},
{
"ownerIdentity": "XXX",
"storageDate": "2023-06-28T20:54:10.240Z",
"category": "Erro",
"action": "Erros",
"extras": {
"#stateName": " SAUD] Nome",
"#stateId": "0f8d9b3b-6581-4f18-aae9-d88d33ce97dc",
"#messageId": "3a56fc4e-6123-475f-8c10-555b9149a5fe",
"#previousStateId": "onboarding",
"#previousStateName": "Início"
}
},
{
"ownerIdentity": "XXX",
"storageDate": "2023-06-28T21:13:12.950Z",
"category": "Erro",
"action": "Erros",
"extras": {
"#stateName": " SAUD] Nome",
"#stateId": "0f8d9b3b-6581-4f18-aae9-d88d33ce97dc",
"#messageId": "bd9157fe-adea-40d7-9a07-9119aa0d840d",
"#previousStateId": "onboarding",
"#previousStateName": "Início"
}
},
{
"ownerIdentity": "XXX",
"storageDate": "2023-06-28T21:15:09.510Z",
"category": "Erro",
"action": "Erros",
"extras": {
"#stateName": " SAUD] Nome",
"#stateId": "0f8d9b3b-6581-4f18-aae9-d88d33ce97dc",
"#messageId": "fdf32077-95b3-4356-a18c-7af19a10e347",
"#previousStateId": "onboarding",
"#previousStateName": "Início"
}
}
]
},

 


@Felipe_Lopes tudo bem ? 

 

Você pode tentar salvar isso e ir incrementando nos extras do contato e verificar com um script qual o valor está lá e se der 10 ele envie o email.


Comente