Skip to main content

Boa Tarde a todos



Em um Bot (Menu principal), faço a triagem do cliente. Quando pergunto se ele é cliente ou não…


Se


for cliente e contact.source = wa.gw.msging.net


então


Menu já é cliente - Whats



Se


for cliente e contact.source = 0mn.io


então


Menu já é cliente - Blip



Erro: a variável - contact.source, está vazia…


(mas estava funcionando).



Se alguém puder me ajudar…



Grata



Eliane


Variável

Boa tarde, Eliane



Seria interessante investigar o motivo dessa variável estar vindo vazia, mas de qualquer forma para uma solução rápida, vc pode utilizar o contact.idenitity como alternativa, fazendo uma adaptação no script se for o caso.


O contact.identity contém uma string no formato id-do-usuario@canal, onde canal é exatamente o que vinha no seu contact.source. Você pode usar o includes do javascript pra adaptar seu script, por exemplo:



contact.identity == “wa.gw.msging.net” //false, pois existe o id-do-usuário@ antes do canal


contact.identity.includes(“wa.gw.msging.net”) //true, pois essa sub-string existe na string principal


Boa tarde Eliane, tudo bem?



A variável contact.source realmente não funciona muito bem. Ela é uma solução depreciada. O recomendado é utilizar o contact.identity para identificar o canal do usuário. Você pode utilizar este scprit:



function run(contactIdentity) {

return getUserChannel(contactIdentity);

}



function getUserChannel(contactIdentity) {

const DEFAULT_CHANNEL = 'default';

const CHANNEL_INDEX = 1;



const CHANNEL_IDENTIFIERS = {

'wa.gw.msging.net': 'whatsapp',

'0mn.io': 'blipchat',

'take.io': 'takeSMS',

'messenger.gw.msging.net': 'facebook',

'instagram.gw.msging.net': 'instagram',

'abs.gw.msging.net': 'teams',

'businessmessages.gw.msging.net': 'gbm',

'skype.gw.msging.net': 'skype',

'telegram.gw.msging.net': 'telegram',

'workplace.gw.msging.net': 'workplace',

'mailgun.gw.msging.net': 'email',

'pagseguro.gw.msging.net': 'pagseguro'

};



let contactChannelId = contactIdentity.split('@')lCHANNEL_INDEX];



return CHANNEL_IDENTIFIERSNcontactChannelId] || DEFAULT_CHANNEL;

}



Este script recebe como parâmetro a variável contact.identity e retorna o nome do canal que o usuário está conversando com o bot. Nele está todos os canais que o Blip suporta nativamente.


Bom dia, @raphael.silva e @Victor_Carvalho,



Show meninos…


Inseri o script e funcionou…



Muito obrigada.


Comente