Skip to main content

Boa tarde, pessoal. Tudo bem?



Tenho uma dúvida que também poderia ser considerada um problema, então eu estiver no local errado, peço desculpas desde já. 😁



Assim, eu preciso usar um canal de atendimento personalizado para o atendimento humano. Segui as instruções do tópico “Como conectar a um canal de atendimento personalizado” que é apontado como documentação para este recurso.



Pois bem, eu consigo receber o ticket criado, associar a um atendente, enviar mensagem do atendente para o cliente e encerrar o ticket. O que não está rolando é o atendente receber mensagens do cliente… quase nem é importante né? 😅



Pelo que eu notei, se eu não associar um atendente válido do Blip ao ticket criado, eu não recebo nada no Endpoint. Se eu associo um atendente do Blip ao ticket, eu começo a receber mensagens, porém vindo apenas o que eu acredito ser o status do atendente. Esse é o JSON recebido na minha API pelo Webhook do Blip:



{


“type”: “application/vnd.lime.chatstate+json”,


“content”: {


“state”: “paused”


},


“id”: “fwd:fwd: 1ed9edd6-c711-4b39-bd9b-960c27f6f9bb”,


“from”: “495ed206-fce8-4294-86fd-01875c88783b @desk.msging.net/Webhook”


}



Quando eu fiz login do atendente, que associei ao ticket, no Desk, aí a API passou a receber as mensagens do usuário:



{


“type”: “text/plain”,


“content”: “Testando novamente.”,


“id”: “fwd:fwd:1ed9edd6-c711-4b39-bd9b-960c27f6f9bb”,


“from”: “[email protected]/Webhook”


}



É como se mesmo indicando um canal personalizado, o Webhook dependesse de um atendente criado e com status online no Blip Desk para poder enviar as mensagens do usuário para o atendente. 🤔



Eu vi por aqui em tópicos antigos que não tem como alterar o status de um agente via API para online. Procurei na documentação das APIs do Blip (https://docs.blip.ai/) e não encontrei nada parecido, acredito que ainda não tem como fazer.



Alguém aqui já enfrentou algo parecido? Se sim, teria como me dar uma ideia do que pode ser? Estou quebrando a cabeça e não consigo resolver… pode ser que seja algo fácil, mas realmente eu não estou conseguindo identificar. 😅



Desde já, agradeço a parceria. 👍

Olá @Daniel_Piccoli tudo bem ?



Já adiantando aqui é o local certo para a retirada de duvidas.



Referente ao cenario reportado sobre a troca de mensagens não aparecer se a pessoa não acessar ao desk tem duas situações uma é a regra de atendimento caso você não queira usar elas é só desmarcar a opção no canal. Fazendo isso você ainda tem que fazer a atribuição do ticket ao atendente e o mesmo tem que existir na configuração do bot de atendimeno. O passo sobre a troca de mensagens e recebimento das mesmas só irá ocorrer se o sistema identificar que o atendente esteja online e para alterar esse status é necessario que o atendente esteja online. Tente fazer esses comandos :



id: "id",

metadata: {server.shouldStore: "true"},

method: "set",

resource: {status: "Online", device: "Web"},

device: "Web",

status: "Online",

to: "[email protected]",

type: "application/vnd.iris.desk.attendant-status-device+json",

uri: "lime://email%[email protected]/attendants/change-status"



ou : Blip Docs | API Reference


para associar direto o ticket.



Referencia : https://help.blip.ai/hc/pt-br/articles/4474415200407-Como-conectar-a-um-canal-de-atendimento-personalizado



Fala Rafael, tudo bem?



Então mestre, eu tentei o comando que vc sugeriu, porém ele acusa um erro de conversão relacionado ao campo “status”, como se ele não conseguisse converter o termo “Online”. Usei o Postmann para fazer o teste do comando e este foi o retorno do erro:



{


“code”: 21,


“description”: “Error converting value "Online" to type ‘Lime.Protocol.CommandStatus’. Path ‘status’, line 8, position 20.”


}



Após vários testes entre ontem e hoje, percebi que agora mesmo colocando o atendente com status Online (devidamente logado no Desk), as mensagens enviadas pelo cliente não chegam e quando chegam, eu recebo uma e a próxima já vem o chatstate como paused. Como se o sistema pausasse o chat por algum motivo, mesmo com o ticket atribuído ao atendente e com status de “Em atendimento”. 🤔



Ontem antes de mandar a dúvida aqui, eu passei toda a documentação do recurso de Canal Personalizado, inclusive eu consigo receber na API o ticket aberto, associar ele com sucesso a um atendente, fazer o cliente receber a mensagem do atendente e encerrar o atendimento corretamente. O que não está rolando mesmo é o atendente receber a mensagem vinda do cliente. 🤦‍♂️



Agradeço demais a atenção e o retorno. Obrigado mesmo, mestre. 🤘



Vou seguir tentando fazer esse negócio dar certo, pois se existe um canal que permite o atendimento pelo Salesforce, é sinal de que funciona. Eu devo estar deixando passar algum detalhe. 😅



Vou deixar o post aberto, por enquanto, e seguir tentando. Caso alguém também tenha essa dúvida, pode ser útil. Antes de encerrar este post, eu compartilho os resultados. 👍


Boa tarde!



Consegui fazer funcionar. Já deixarei registrado que os passos da documentação (Como conectar a um canal de atendimento personalizado do Help Center) funcionam perfeitamente.



No meu caso, acredito que o problema está no bot. Apesar do bot funcionar corretamente com o atendimento humano pelo Desk, por algum motivo que eu não consegui identificar, ele envia no Webhook quase sempre o chatstate como paused em vez do texto digitado pelo usuário.



Eu fiz o teste com um bot mais completo, com estrutura de roteador, e a troca de mensagens aconteceu sem problemas, mesmo usando as regras de filas do Blip e com o atendente que associei ao ticket Offline. 👍



Mais uma vez, obrigado mestre @Rafael_Figueiredo pelo auxílio e atenção. 👍


Comente