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