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á
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á
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á
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"
}
}
]
},
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
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.