Encerramento de tickets pelo Usuário Layla Pereira 30 de maio de 2022 19:00 Atualizado Índice: Condição de saída Ação para fechar o ticket Atualmente, possuem duas formas nativas para encerramento de tickets: pelo atendente através do Blip Desk ou através da inatividade do usuário ou do atendente. Caso deseje oferecer a opção para que seu cliente escolha finalizar um ticket, deverão ser realizadas as seguintes configurações no seu bot de atendimento humano: Condição de saída Deverá ser adicionada uma condição de saída no bloco de atendimento humano, pode por exemplo sair do bloco quando o usuário digitar “Sair”. Entretanto, ao sair do bloco o ticket continua aberto e será necessário fechá-lo manualmente. Ação para fechar o ticket Para fechar o ticket, no bloco para o qual o usuário será direcionado, adicione uma ação de entrada de Processar comando com o command de fechar um ticket com a seguinte requisição: https://docs.blip.ai/#close-a-ticket-as-user (Caso a opção “Utilizar contexto do roteador” esteja habilitada será necessário substituir as ações “Processar comando” por Requisições HTTP, passo a passo no final do artigo.) Para buscar o id do ticket basta enviar o seguinte command: Para: postmaster@desk.msging.net Método: get URI: /tickets?$filter=status%20eq%20'open'%20or%20status%20eq%20'waiting'%20and%20(CustomerIdentity%20eq%20'{{contact.identity}}')&$skip=0&$take=100 Segue exemplo: Para filtrar o ticket desejado, crie uma ação de Executar Script: Adicione a variável de entrada ticket que possuirá o número do ticket que foi localizado na ação processar comando executada antes da ação Executar script. Em seguida, informe o seguinte script: function run(ticket) { try { let ticket = JSON.parse(ticket); return ticket.resource.items[0].id; } catch (error) { return 'script error'; } } Adicione uma variável para salvar o retorno, como por exemplo: ticketId. Segue exemplo: Após a ação executar script, adicione mais uma ação do tipo Processar comando para realizar o encerramento do ticket: Para: postmaster@desk.msging.net Método: set URI: /tickets/change-status Tipo: application/vnd.iris.ticket+json Resource: {"id":"{{ticketId}}","status":"ClosedClient"} Salvar resposta: responseClose As ações de entrada do bloco para o qual o usuário será direcionado ao digitar “sair”, por exemplo, ficarão na seguinte ordem: Caso utilize uma estrutura router e a opção Utilizar contexto do roteador esteja habilitada, será necessário utilizar ações Requisição HTTP ao invés das ações “ Processar comando”. A primeira requisição deverá conter os seguintes parâmetros: Método: Post URL: https://http.msging.net/commands Cabeçalhos: Content-Type: application/json Authorization: API KEY do seu bot Corpo: {"id": "{{random.guid}}","to": "postmaster@desk.msging.net","method": "get","uri": "/tickets?$filter=status%20eq%20'open'%20or%20status%20eq%20'waiting'%20and%20(CustomerIdentity%20eq%20'{{contact.identity}}')&$skip=0&$take=100"} Salve as respostas em variáveis. Ficará da seguinte forma: A segunda requisição irá substituir a ação processar comando para finalização do ticket. Método: Post URL: https://http.msging.net/commands Cabeçalhos: Content-Type: application/json Authorization: API KEY do seu bot Corpo: Salve as respostas em variáveis. Salve as respostas em variáveis. A ordem ficará da seguinte forma: Para finalizar, no bloco onde serão executadas as ações para finalização do ticket, defina uma condição de saída para o usuário que finalizou o ticket: Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😊 Artigos relacionados Como finalizar tickets Preferências no Blip Desk e Desk App FAQs Como configurar o direcionamento de resposta de uma mensagem ativa, para um atendente no Blip Desk FAQ - Atendimento