Skip to main content

Boa noite,
Estou frente a uma situação onde gostaríamos de utilizar funcionalidades do builder + http, temos o fluxo da seguinte forma:

O usuário inicia a conversa via Whatsapp pelo bot do Builder, e em um determinado momento será enviado uma requisição HTTP para o nosso backend que devolverá instantaneamente uma mensagem para o usuário via variável no Builder. Entretando a partir desse momento o backend aguardará a conclusão de outro fluxo interno e em um período inferior a 24 horas dará uma resposta a este cliente.

Toda etapa do Builder já está funcional, porém o backend não consegue disparar essa mensagem “asincrona/paralela” ocorrendo o erro abaixo:

{
	"event": "failed",
	"reason": {
		"code": 101,
		"description": "The tunnel can only be used by its destination identity"
	},
	"id": "***********-AA08-8B65456ADB9",
	"from": "[email protected]/#iris-hosted-2",
	"to": "**********@msging.net/!iris-hosted-2-*****",
	"metadata": {
		"#envelope.timestamp": "1655291932991",
		"#message.uniqueId": "**********440-b963-78f7a02477eb",
		"#message.to": "************[email protected]"
	}
}

Estou fazendo algo errado?

Hey @Rafael_Fernandes , tudo bem?
Seja bem-vindo a Community!

Poderia nos enviar o comando que está usando para enviar a mensagem?

Já adianto que você deve utilizar o Send message, mas pelo erro que apareceu, acredito que você esteja utilizando o identity incorreto do usuário.

Aguardo, abraços.


Gabriel,
Obrigado pelo retorno.

Estamos enviando para o endereço https://******.http.msging.net/messages

Com o corpo:

{
  "id": "IdGerado",
  "to": "*******@tunnel.msging.net",
  "type": "text/plain",
  "content": "Mensagem de retorno"
}

Na propriedade “to” estamos passando o valor {{contact.identity}} enviado pelo Builder via Http.


Certo @Rafael_Fernandes .
Como você usa estrutura de Roteador, tente usar no “to” o valor da variável {{tunnel.originator}} ao invés do {{contact.identity}}.

O “to” precisa ser algo parecido com:

*************@wa.gw.msging.net

💡 Essa é a identidade do cliente no canal do WhatsApp.

Inclusive, você precisa usar a Chave de API do seu Roteador que está conectado ao WhatsApp, não é a chave do Bot Builder, ok?

Obs.: Como é no canal do WhatsApp e você está usando o Send message, precisa estar com uma sessão aberta para que o cliente receba a mensagem, ok? Sem sessão aberta é preciso usar o endpoint Sending active notification.

Espero ter ajudado.
Faça um teste e nos avise.


Funcionou após o sugerido!

Obrigado!