Oi @LuizCarvalho como vai?
Você pode usar o tipo de Conteúdo Collection que nada mais é que uma “lista” de várias mensagens enviadas de uma vez.
@BrunoC Obrigado pela resposta, mas acho que faltou um detalhe, estou utilizando no Builder a ação Requisição HTTP esse JSON é carregado no body de uma variável. Gostaria de saber se iterar sobre essa variável, onde cada item do array seja uma mensagem separada.
Essa é uma adaptação ao Carrossel do Facebook Messenger, já que irei usar o Blip para Whatsapp.
Entendi, Luiz.
No caso você vai precisar criar um Script que receba essa variável e converta ela para o Collection que te falei. Aí você vai poder usar um Conteúdo Dinâmico pra retornar isso pro usuário.
Vou deixar aqui um artigo/exemplo de como você pode fazer isso:
https://help.blip.ai/docs/en/builder/tipo-conteudo-dinamico/
Obrigado novamente pela resposta @BrunoC
Gostei muito da dica de converter para Collection, mas vi que o conteúdo dinâmico do exemplo compila toda a informação em um texto apenas (considerando Whatsapp), há como cada item do Collection ser exibido em uma mensagem separadamente?
@LuizCarvalho no exemplo que eu te passei, é enviando um tipo Texto normal.
Quando você envia um Collection, é como se estivesse enviando vários textos. Então vai separado.
Excepcional meu amigo @BrunoC vou testar aqui.
Obrigado novamente.
@BrunoC infelizmente não consegui formatar o dado de forma que o Collection fosse interpretado de forma correta, tentei só como array puro, tentei com a com a chave items, e por último tentei passando a chave type como na documentação e nada.
Busquei na documentação , artigos, stackoverflow, etc… Sem sucesso para um exemplo como esse.
Último formato JSON testado:
{
"itemType": "text/plain",
"items":
"Horário 01/01/2020 ás 9:40\n Numero Atendimento10102002020 \n Assunto Pensão Alimentícia",
"Horário 01/01/2020 ás 9:40\n Numero Atendimento10102002020 \n Assunto Pensão Alimentícia",
"Horário 01/01/2020 ás 9:40\n Numero Atendimento10102002020 \n Assunto Pensão Alimentícia",
"Horário 01/01/2020 ás 9:40\n Numero Atendimento10102002020 \n Assunto Pensão Alimentícia"
]
}
Conteúdo dinâmico
Failed: SendRawMessage action in 3 milliseconds
order: 0
type: "SendRawMessage"
parsedSettings: {"metadata":{"#stateName":"Meus atendimentos","#stateId":"6077137c-d24c-435b-93d8-79d1a81ff070","#messageId":"aef2e569-304e-4dfa-bf7e-699c527685ed"},"type":"application/vnd.lime.collection+json","rawContent":"atendimentosResponse"}
continueOnError: false
timestamp: "2020-06-01T14:39:42.517Z"
elapsedMilliseconds: 3
error: "Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: a. Path '', line 0, position 0.\n at Newtonsoft.Json.JsonTextReader.ParseValue()\n at Newtonsoft.Json.Linq.JObject.Load(JsonReader reader, JsonLoadSettings settings)\n at Newtonsoft.Json.Linq.JObject.Parse(String json, JsonLoadSettings settings)\n at Lime.Protocol.Serialization.DocumentSerializer.Deserialize(String value, MediaType mediaType)\n at Take.Blip.Builder.Actions.SendRawMessage.SendRawMessageAction.ExecuteAsync(IContext context, SendRawMessageSettings settings, CancellationToken cancellationToken)\n at Take.Blip.Builder.Actions.ActionBase`1.ExecuteAsync(IContext context, JObject settings, CancellationToken cancellationToken)\n at Takenet.Iris.Application.TemplateHosting.Templates.Builder.MetricsActionDecorator.ExecuteAsync(IContext context, JObject settings, CancellationToken cancellationToken) in /usr/app/src/Applications/Takenet.Iris.Application.TemplateHosting/Templates/Builder/MetricsActionDecorator.cs:line 62\n at Take.Blip.Builder.FlowManager.ProcessActionsAsync(LazyInput lazyInput, IContext context, Actionn] actions, ICollection`1 actionTraces, CancellationToken cancellationToken)"
@LuizCarvalho quero te pedir desculpas, cometi um engano (inclusive isso está escrito na documentação e eu deixei passar).
No WhatsApp o Collection é interpretado como sendo várias linhas de uma mesma mensagem. Utilizei o JSON que você enviou e a resposta que recebi foi essa:
Vamos ter que pensar numa forma de enviar várias mensagens pro usuário, uma de cada vez, baseada na resposta da sua API. Neste caso não vai ser possível enviar sem o usuário ter que ficar dando entrada entre cada mensagem, pois o bot acusará que está em loop. O ideal aqui é criar uma API que envia as mensagens.
pooxaa
Aqui me bateu uma tristeza aqui… Pq no Messenger eles fazem esse split e no Whatsapp não? Se quisesse mandar tudo junto, era só mandar td junto.
Mas fazer o q ne?
Obrigado mesmo assim @BrunoC
=(
Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.