Vamos lá minha dúvida. Estou desenvolvendo um CRM que irá trabalhar integrado ao Blip. Para tanto eu preciso que o ticket seja criado antes que o atendimento chegue ao atendimento humano, para isso criei para fins de teste um fluxo para homologação, e inseri um bloco antes do atendimento, nas ações de saída deste bloco inserir o seguinte:
o retorno estou salvando numa variável chamada response.
Quando faço o teste no fluxo, vem nesta variável o seguinte:
response: { "method": "set", "status": "failure", "reason": { "code": 62, "description": "Could not change the parameter of type 'Lime.Protocol.JsonDocument' to type 'Takenet.Iris.Messaging.Resources.Ticket'" }, "id": "4dad2eba-4d9e-4759-8d68-dba7ce5fec1e", "from": "[email protected]/!msging-application-desk-zndsp", "to": "[email protected]/!msging-server-sn6vd-0xcq6a6s", "metadata": { "traceparent": "00-92c2c56a0b2ffb69a72eca33ce8b3333-e33ec60ab6384177-01", "#command.uri": "lime://[email protected]/tickets" } }
e apesar de tentar varias outras forma de fazer isso, não obtive sucesso.
Melhor resposta por Lucas Miqueias
Oi @MichelFRamos, consigo enxergar duas situações que podem solucionar o seu problema.
Você pode criar um serviço que fica monitorando as filas, para isso você pode usar o endpoint
/attendance-queues/{queueId}
Dessa forma sempre que a sua fila for atualizada você pode pegar o ID do contato e o email do atendente e atualizar na sua api externa.
Você pode criar um bloco ao sair do bloco de atendimento que faz essa requisição e envia os dados para a sua api externa.
@Lucas Miqueias a primeira ideia é exatamente o que preciso. Dei uma olhada na documentação, vi que é possível trazer todas as filas de um bot, mas, desculpe a ignorancia, eu não entendi como capturar quando a fila é atualizada, e quando for, como capturar os contatos que entraram nela.
Para isso você irá precisar criar algum serviço que rode no cron em sua maquina. Você pode usar o node-cron se usa a linguagem Node, por exemplo.
// Endpoint que você quer monitorar const endpoint = 'http://exemplo.com/api/endpoint';
// Função para fazer a requisição ao endpoint async function monitorEndpoint() { try { const response = await axios.get(endpoint); console.log(`[${new Date().toISOString()}] Status do endpoint ${endpoint}: ${response.status}`); // Aqui você pode adicionar lógica para verificar o conteúdo da resposta, status específicos, etc. } catch (error) { console.error(`[${new Date().toISOString()}] Erro ao acessar o endpoint ${endpoint}: ${error.message}`); // Aqui você pode adicionar lógica para lidar com erros de requisição } }
// Agendamento da tarefa para monitorar o endpoint a cada 5 minutos cron.schedule('*/5 * * * *', monitorEndpoint);
Eu sou novo com o Blip, e sinceramente não sei se a resposta é o que eu preciso, explico:
Hoje, dentro do Blip. criamos regras para direcionar os atendimento para filas diferentes, é uma fila para cada atendente, o que eu precisava era que, quando o contato for transferido para o atendimento humano gostaria de conseguir capturar para qual fila / atendente o contato foi e enviar estes dados para minha api externa.
Oi @MichelFRamos, consigo enxergar duas situações que podem solucionar o seu problema.
Você pode criar um serviço que fica monitorando as filas, para isso você pode usar o endpoint
/attendance-queues/{queueId}
Dessa forma sempre que a sua fila for atualizada você pode pegar o ID do contato e o email do atendente e atualizar na sua api externa.
Você pode criar um bloco ao sair do bloco de atendimento que faz essa requisição e envia os dados para a sua api externa.
@Lucas Miqueias a primeira ideia é exatamente o que preciso. Dei uma olhada na documentação, vi que é possível trazer todas as filas de um bot, mas, desculpe a ignorancia, eu não entendi como capturar quando a fila é atualizada, e quando for, como capturar os contatos que entraram nela.
Oi @MichelFRamos, consigo enxergar duas situações que podem solucionar o seu problema.
Você pode criar um serviço que fica monitorando as filas, para isso você pode usar o endpoint
/attendance-queues/{queueId}
Dessa forma sempre que a sua fila for atualizada você pode pegar o ID do contato e o email do atendente e atualizar na sua api externa.
Você pode criar um bloco ao sair do bloco de atendimento que faz essa requisição e envia os dados para a sua api externa.
@Lucas Miqueias a primeira ideia é exatamente o que preciso. Dei uma olhada na documentação, vi que é possível trazer todas as filas de um bot, mas, desculpe a ignorancia, eu não entendi como capturar quando a fila é atualizada, e quando for, como capturar os contatos que entraram nela.
Para isso você irá precisar criar algum serviço que rode no cron em sua maquina. Você pode usar o node-cron se usa a linguagem Node, por exemplo.
// Endpoint que você quer monitorar const endpoint = 'http://exemplo.com/api/endpoint';
// Função para fazer a requisição ao endpoint async function monitorEndpoint() { try { const response = await axios.get(endpoint); console.log(`[${new Date().toISOString()}] Status do endpoint ${endpoint}: ${response.status}`); // Aqui você pode adicionar lógica para verificar o conteúdo da resposta, status específicos, etc. } catch (error) { console.error(`[${new Date().toISOString()}] Erro ao acessar o endpoint ${endpoint}: ${error.message}`); // Aqui você pode adicionar lógica para lidar com erros de requisição } }
// Agendamento da tarefa para monitorar o endpoint a cada 5 minutos cron.schedule('*/5 * * * *', monitorEndpoint);
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
A analisar o ficheiro em busca de vírus
Lamentamos, mas ainda estamos a analisar o conteúdo deste ficheiro, a fim de nos certificarmos de que o mesmo é seguro para descarregar. Agradecemos que tentes de novo dentro de poucos minutos.