Boa tarde,
quando eu envio uma notificação whatsapp, quero, que se o cliente responder, ele seja direcionado automaticamente para a fila do atendimento humano, lendo a documentação eu vi que tenho que usar o seguinte comando com a seguinte url:
blip.sendCommand({
id: Lime.Guid(),
to: ‘postmaster@msging.net’,
method: ‘set’,
// uri: /contexts/{{id gerado no envio da notificação}}/stateid%400
,
uri: /contexts/3fd6a37a-8c81-4701-8e37-0d9ff86d63b5/stateid%400
,
type: ‘text/plain’,
resource: ‘3fd6a37a-8c81-4701-8e37-0d9ff86d63b5’
});
Só que não esta redirecionando, está correto o comando:
Você também precisa do Identificador do Fluxo que entra logo aqui
// uri:
/contexts/{{id gerado no envio da notificação}}/stateid%40{id do fluxo}
,
ok, vou testar.
uma segunda duvida, quando eu envio a notificação não esta me retornando nada, tem como eu colocar na url para me retornar um codigo que seja, como aparece no postman?
estou usando a seguinte url:
let url = {
id: Lime.Guid(),
to: q.numero,
type: 'application/json',
content: {
type: 'hsm',
hsm: {
namespace: Config.namespace,
element_name: q.nome,
language: {
policy: 'deterministic',
code: 'pt_BR'
},
localizable_params: q.variaveis
}
}
}
bom dia, utilizei essa uri mas, ele continua encaminhando para o inicio do fluxo, teria que add algum outro comando?
Não, somente isso mesmo. Ele permanece no mesmo ponto do fluxo após a requisição?
Após receber a notificação, quando o usuário responde, ele esta entrando no inicio do fluxo, como se tivesse entrando em contato por qualquer outro motivo, não sei se consegui explicar direito
Por acaso a Expiração de Sessão nas configurações do bot está ativa?
coloquei console.log para ver o que estava acontecendo, quando mando a notificação ele me retorna esse id, após receber um retorno do usuario ele executa o segundo console (aqui envia algo);
{ id: ‘22645ebc-3ccf-47cb-9007-c89e3138305c’ }
{ enviar: ‘aqui envia algo’ }
{
method: ‘set’,
status: ‘success’,
id: ‘d400275b-d619-4ae9-a33f-873e2a20a9cc’,
from: ‘postmaster@msging.net/#az-iris1’,
to: ‘testeinb@msging.net/default-28’,
metadata: {
‘#command.uri’: ‘lime://testeinb@msging.net/contexts/22645ebc-3ccf-47cb-9007-c89e3138305c/stateid%403fd6a37a-8c81-4701-8e37-0d9ff86d63b5’,
‘uber-trace-id’: ‘30e17430c1a1e689%3Af55916b685363165%3A30e17430c1a1e689%3A1’
}
}
bom dia, sabe me dizer o q estou fazendo de errado. pq não estou conseguindo redirecionar o cliente.
Oi @Robson_dos_Santos_He bom dia.
Só uma observação: um bot construído por SDK não tem blocos como os construídos no Builder, por isso o comando de mudar ele de bloco para outro não vai funcionar.
Como o SDK é uma estrutura criada por você, você pode criar regras mais livremente para atender a essa sua necessidade. Você pode criar filtros e outras maneiras de verificar se é a resposta para uma mensagem específica.
na verdade o bot não foi criado via sdk, esta sendo criado alguns recursos via sdk, como o de enviar notificação e de verificar indices de atendimentos.
Entendi, Robson.
Acontece que quando você opta por utilizar os métodos do SDK, o Builder para de funcionar e vice-versa. Não é possível utilizar mais de um tipo de conexão ao mesmo tempo (HTTP, Builder e SDK).
Sobre o problema em si: nossa equipe notou que pode estar havendo alguns problemas para redirecionar e já está trabalhando para encontrar uma solução. Em breve trago um retorno.
achas que eu conseguiria contornar isso, fazendo via request http?
@Bruno estava fazendo uns testes pelo postman, e ele não transfere ao setor responsável também. No postman estou usando o comando change user state
Pois é, Robson. Como eu disse, estamos com um problema nessa funcionalidade no momento, mas já estamos trabalhando pra que ela volte a funcionar o mais rápido possível.
ah sim, obrigado, terias uma previsão?
boa tarde, tens alguma novidade sobre o redirecionamento dos clientes?
boa tarde, irei verificar, poderia somente confirmar as urls para mim?
estou enviando a notificação com a seguinte url
{
id: Lime.Guid(),
to: q.numero,
type: 'application/json',
content: {
type: 'hsm',
hsm: {
namespace: Config.namespace,
element_name: q.nome,
language: {
policy: 'deterministic',
code: 'pt_BR'
},
localizable_params: q.variaveis
}
}
}
e o direcionamento estou usando a seguinte:
{
id: Lime.Guid(),
to: 'postmaster@msging.net',
method: 'set',
uri: `/contexts/${url.id}/stateid%400${url.id}`,
type: 'text/plain',
resource: Config.notificacao_cobranca //id do bloco que eu quero direcionar o cliente
}
Só me tire algumas dúvidas que não ficaram muito claras na sua requisição da forma como você expôs.
Tem ${url.id}
duas vezes. Você está usando o mesmo valor para as duas?
Config.notificacao_cobranca
já é o valor final ou ele é substituído pelo id de fato?