Obtendo o número de usuários afetados por um broadcast 11 de janeiro de 2024 15:18 Atualizado Índice: Buscando todos os agendamentos Coletando o ID do broadcast que deseja obter as informações Buscando as informações sobre um determinado agendamento O módulo de agendamento do Blip é uma poderosa ferramenta para o engajamento dos usuários em um bot. Através dela, é possível agendar disparo de mensagens (broadcasts) para uma lista de usuários previamente definida. Por padrão todo bot já possui uma lista de usuários chamada Todos os usuários, que contém qualquer usuário que tenha conversado com o bot, pelo menos uma vez independente do canal. Para realizar um agendamento acesse o Portal, escolha seu bot e no menu superior escolha mais opções e então clique em Agendador. Após realizar um broadcast é muito importante analisar a assertividade do disparo. Para isso é necessário realizar algumas requisições na API do Blip(via requests HTTP ou via comandos nos SDKs). Buscando todos os agendamentos Método da requisição: POST Observação: Utilize a url com id do contrato para consumir os endpoints informados abaixo, sua performance e funcionamento podem ser impactados caso não esteja com id do contrato, portanto, é fundamental utilizar a url com o id do contrato para utilizar as requisições http! URL: https://{{contractid}}.http.msging.net/commands Cabeçalhos: Key: Authorization Value: Key API-KEY-BOT Corpo: JSON com o comando que busca todos os agendamentos, de acordo com o protocolo LIME (veja aqui mais informações sobre as extensões do Blip) { "id": "640aaaca-499a-4b21-8375-1e005b0fa583", "method": "get", "to": "postmaster@scheduler.msging.net", "uri": "/schedules?since=2018-04-18T00:00:00.938Z&$skip=0&$take=100" } * O parâmetro since define um filtro para a data inicial da pesquisa, ou seja apenas os agendamentos realizados a partir do dia 18 de março serão retornados. * O parâmetro skip define a quantidade de agendamentos serão desconsiderados (utilizado para paginação). * O parâmetro blip define a quantidade de agendamentos serão retornados. Coletando o ID do broadcast que deseja obter as informações O retorno da requisição realizada no passo 1 retornará uma lista de agendamentos com o ID de cada mensagem agendada. Analise a propriedade items contida na resposta retornada pelo servidor e escolha qual dos agendamentos deseja obter as informações. Veja abaixo um exemplo de retorno: { "id": "640aaaca-499a-4b21-8375-1e005b0fa583", "from": "postmaster@scheduler.msging.net/#az-iris3", "method": "get", "resource": { "total": 3, "itemType": "application/vnd.iris.schedule+json", "items":[ { "when": "2018-05-18T16:37:35.900Z", "status": "executed", "message": { "content": "Some text", "from": "assistentedeastronomia@msging.net", "id": "30385066-a00c-423c-b254-0debc51093f8", "pp": "postmaster@scheduler.msging.net/assistentedeastronomia%40msging.net", "to": "assistentedeastronomia+senders@broadcast.msging.net", "type": "text/plain" } }, ... ], }, "status": "success", "to": "bot@msging.net/default", "type": "application/vnd.lime.collection+json" } * O valor 30385066-a00c-423c-b254-0debc51093f8 representa o ID da mensagem que foi agendada. * O node assistentedeastronomia+senders@broadcast.msging.net, que identifica a lista para qual o agendamento foi endereçado. Buscando as informações sobre um determinado agendamento De posse do ID da mensagem agendada e do identificador da lista para qual o agendamento foi feito, basta realizar uma requisição para buscar as informações relacionadas ao respectivo broadcast. O exemplo abaixo mostra um exemplo dessa requisição: Método da requisição: POST Observação: Utilize a url com id do contrato para consumir os endpoints informados abaixo, sua performance e funcionamento podem ser impactados caso não esteja com id do contrato, portanto, é fundamental utilizar a url com o id do contrato para utilizar as requisições http! URL: https://{{contractid}}.http.msging.net/commands Cabeçalhos: Key: Authorization Value: Key API-KEY-BOT Corpo: JSON com o comando que busca todos os agendamentos, conforme o protocolo LIME (veja aqui mais informações sobre as extensões do Blip) { "id": "829044c9-3c97-46fd-9dc0-6a8ce0dbca3c", "method": "get", "to": "postmaster@broadcast.msging.net", "uri": "/lists/assistentedeastronomia%2Bsenders%40broadcast.msging.net/messages/30385066-a00c-423c-b254-0debc51093f8" } O valor assistentedeastronomia%2Bsenders%40broadcast.msging.net, representa o identificador da lista utilizada para o agendamento (coletado no passo 2), encodado no formato URL. O valor 30385066-a00c-423c-b254-0debc51093f8 representa o ID da mensagem que foi agendada (coletado no passo 2). O resultado dessa requisição possui as informações detalhadas sobre um determinado agendamento. O JSON abaixo apresenta um exemplo do resultado da requisição acima: { "from": "postmaster@broadcast.msging.net/#az-iris3", "id": "829044c9-3c97-46fd-9dc0-6a8ce0dbca3c", "method": "get", "resource":{ "id": "30385066-a00c-423c-b254-0debc51093f8", "status": "processed", "statusDate": "2018-05-18T16:37:42.420Z", "consumed": 0, "failed": 0, "received": 0, "recipients": 2, "sent": 2 }, "status": "success", "to": "assistentedeastronomia@msging.net/default", "type": "application/vnd.iris.distribution-list-message+json" } As informações mais importantes sobre cada agendamento estão no objeto resource. Status Descrição consumed The number of analysis to be skipped. failed The number of analysis to be returned. received Quantidade de mensagens recebidas. recipients Quantidade de usuários presentes na lista. sent Quantidade de mensagens enviadas durante o broadcast. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Analisar os disparos de Mensagens ativas via WhatsApp Como realizar o reset de usuários pelo Beholder? Como utilizar as Notificações Recorrentes no Messenger? (Recurrent Notifications) Variáveis do Builder Como enviar SMS via API