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.