Enviar um quick reply dinâmico para o usuário


Bom dia,


Estou utilizando o Builder e tenho a seguinte situação que gostaria da ajuda de vocês para entender como posso resolver.

Recebo de uma API um array com valores que o usuário pode escolher para pagar, portanto precisaria criar um quick reply com tamanho variável contendo esses valores.

Pela parte gráfica do Builder aparentemente eu fico limitado na criação de quick reply uma vez que tenho que saber já a quantidade de opções e criar de acordo com essa quantidade.

Na busca por uma solução aqui no fórum, encontrei algo parecido nesse tópico (Quick Reply Dinânimo - #7 por Guilherme_Miyamura) mas que não foi resolvido e nesse outro tópico ([Resolvido] Cliente Undefined) em que eu estava tentando usar o comando client.sendMessage() via a ferramenta Script, o Rafael havia respondido que isso não é possível e que seria preciso enviar um requisição HTTP para a API do Blip. Tendo isso em mente, tentei fazer a requisição da seguinte maneira:

Criei uma ação de Requisição HTTP com os seguintes dados só para testar se o usuário recebe o quick reply de teste:

Método:POST

URL: https://msging.net/messages

Cabeçalhos: Content-Type: application/json, Authorization: Key “minha key de autenticação”

Corpo:

{

“id”: Lime.Guid(),

“to”: {{contact.identity}},

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

“content”:{

“scope”:“immediate”,

“text”:“Choose an option”,

“options”:[

{

“text”:“First option”

},

{

“order”:2,

“text”:“Second option”

},

{

“order”:3,

“text”:“Third option”,

“type”:“application/json”,

“value”:{

“key1”:“value1”,

“key2”:2

}

}

]

}

}

Tentei executar essa chamada e recebo o retorno 500 da API, não sei se é possível fazer dessa maneira usando o Builder ou só utilizando a Conexão do tipo HTTP.

Se puderem por favor me mostrar se existe uma maneira mais simples pra fazer isso via o próprio Builder.

Desde já agradeço.


4 comentários

Reputação 7

@Guilherme_Miyamura vamos ver se entendi direito a sua dúvida: Você quer receber de uma API vários valores e exibí-los em um Quick Reply de forma dinâmica, certo?


Se for isso, é possível sim. [REFERÊNCIA] Basta que você passe a URL dessa API para o BLiP que ele irá buscar pelos valores e montar o Quick Reply automaticamente (usando o tipo Conteúdo HTPP no Builder), independente do número de opções. No entanto, é importante que os dados estejam no formato correto. Pra isso dá uma olhada nas documentações do BLiP e do Protocolo Lime.

Olá, seria basicamente isso mesmo.

Recebo de uma API os seguintes dados por exemplo

[{“dataPromessa”:“2019-06-18T00:00:00”,“valorTotal”:79.64},{“dataPromessa”:“2019-06-18T00:00:00”,“valorTotal”:769.15}]


Preciso criar um quick reply para cada um dos itens mostrando o valorTotal deles para que o usuário possa escolher qual ele deseja pagar.


No exemplo que passei acima de uma chamada http no builder, eu estou na dúvida sobre “id”: Lime.Guid() e “to”: {{contact.identity}}.

É assim mesmo que eu devo fazer a chamada?

Opa, acho que consegui aqui, eu estava viajando tentando mandar as propriedades id e to sendo que aparentemente só é necessário mandar o conteúdo do quick reply.

Vou fazer mais testes aqui mas aparentemente funcionou.

Obrigado pela ajuda.

Reputação 7

@Guilherme_Miyamura essas informações o Builder já trata automaticamente. Elas são necessárias quando você trabalha com os SDKs e com HTTP.


Mas que ótimo que deu certo! Qualquer coisa é só chamar 😃

Comente