[Resolvido] Ordem das mensagens


#1

Olá, Boa tarde, estou com um problema na sequência das mensagens, faço uma consulta sql e retorno ela de seguinte forma:
while (i < recordset.recordsets[0].length) {
// send records as a response
var msg = { type: “text/plain”, content: recordset.recordsets[0][i].Parcelas + ’ Parcela(s) de R$’ +recordset.recordsets[0][i].Valor , to: message.from, id: Lime.Guid()};
console.log(msg);
client.sendMessage(msg);
i++;
}

No meu console.log(msg). as mensagens saem em ordem (obs: ja dei um order by na consulta)

{ type: ‘text/plain’,
content: ‘2 Parcela(s) de R$1536.81’,
to: ‘c4e1ff6d-38e9-4dd3-b757-72ae42ffa151.chatnegocia@0mn.io/default’,
id: ‘63361970-34a1-4119-bf0e-6bcfc1e0a064’ }
{ type: ‘text/plain’,
content: ‘5 Parcela(s) de R$633.03’,
to: ‘c4e1ff6d-38e9-4dd3-b757-72ae42ffa151.chatnegocia@0mn.io/default’,
id: ‘5f42dd97-abc0-4804-9dc9-852c45385a30’ }
{ type: ‘text/plain’,
content: ‘12 Parcela(s) de R$290.93’,
to: ‘c4e1ff6d-38e9-4dd3-b757-72ae42ffa151.chatnegocia@0mn.io/default’,
id: ‘c9e53e8e-81f5-4346-b73d-bb4836936dda’ }
{ type: ‘text/plain’,
content: ‘16 Parcela(s) de R$233.03’,
to: ‘c4e1ff6d-38e9-4dd3-b757-72ae42ffa151.chatnegocia@0mn.io/default’,
id: ‘aa60b9be-c285-4339-9515-b74050590cd9’ }

Entretanto, no meu bot as mensagens chegam de forma “aleatória”, fora da ordem que está no console.log, entretanto, gostaria de enviar as mensagens por ordem de parcelas. Tentei colocar um time após o envio das mensagens porém o problema ainda persistiu, alguém já teve um problema semelhante?


#2

Olá, Victor!

Pelo que eu entendi, seu problema pode ser resolvido utilizando Collection da SDK: https://docs.blip.ai/?csharp#collection (veja o exemplo de Text Collection à direita). Se preferir, você pode mudar o código de C# para JavaScript dos exemplos no menu superior.

Como o volume de mensagens individuais no seu código é grande, provavelmente algumas estavam sendo processadas mais rápido que outras. Já com Collection, você precisa só fazer uma chamada pro client e ele respeitará a ordem que estiver dentro dele.

Por favor, avise-nos se isso não resolver o problema!


#3

Obrigado @Brenner_Pacelli,
consegui resolver !