Passar dados de requisição do "extras" para o Builder

Olá!

Estou tentando passar os dados de uma requisição para o builder no momento em que instancio o BlipChat, porém, quando tento acessar as variáveis no builder não tenho resultado!

Estou definindo o BlipChat desta forma, passando o resultado da requisição no extras do WithAccount:

if (!hasBlipChat) {
      const blipClient = new BlipChat();
      blipClient
        .withAppKey('{minhaChave}')
        .withButton({ color: '#461361', icon: '' })
        .withCustomCommonUrl('https://chat.blip.ai/')
        .withAuth({
          authType: BlipChat.DEV_AUTH,
          userIdentity,
          userPassword,
        })
        .withAccount({
          fullName,
          email,
          city: 'São José dos Campos',
          extras: {
            resultado: response.data,
          },
        })
        .withEventHandler(BlipChat.ENTER_EVENT, () => {
          console.log(response.data);
        })
        .build();
    }

E do lado do builder tento acessar as variáveis desta forma:

Email: {{contact.email}}
fullName: {{contact.fullName}}
{{contact.city}}
{{contact.extras.resultado}}

a única informação que retorna é o email, o resto aparece tudo em branco!
E no log que dou no withEventHandler está aparecendo a resposta da requisição normalmente!
Poderiam me ajudar a descobrir o que está errado?

Essas duas informações estão indo no mesmo formato? Ou você está passando só o nome e só o email?

fullName: 'John Doe',
email: 'johndoe@gmail.com',

Esse contato que você está tentando passar os dados, é um contato novo ou um Contato já existente?

Desculpe, acabei apagando na hora de enviar aqui, mas estou passando duas váriaveis que contem strings no formato :

let name = 'nome teste'
let email = 'email@teste.com.br'

fullName: name,
email: email ,

Seria um contato novo, e esse resultado que mando nos extras é o JSON que vem na resposta de uma requisição interna. Fiz alguns testes passando Strings também no extras (ver abaixo ) mas novamente vieram em branco no builder!

  extras: {
    resultado: 'resultado teste',
  },

Bom dia Bruno, tudo certo?

Eu preciso criar o contato para poder utilizar essas informações?

Obs: Estou passando elas no começo para utilizar já na mensagem de Boas Vindas

No momento em que o Chat é instanciado (se for a primeira interação do contato), ele será criado.

Eu fiz um teste aqui, usei o código a seguir:

var chat = new BlipChat()
            .withAppKey('XXXXXXXXXXXXX')
            .withAccount(
                {
                    fullName: 'Bruno C',
                    email: 'basdasdasd@gmail.com',
                    phoneNumber: '+15055034455',
                    city: 'Decatur',
                    extras: {
                        resultado: "Uma coisa qualquer",
                    }
                }
            )
            .withEventHandler(BlipChat.LOAD_EVENT, function () {
                chat.sendMessage({
                      "type": "text/plain",
                      "content": "Start",
                      "metadata":{
                        "#blip.hiddenMessage": true
                       }
                      });
                })
            .withTarget(div);
      chat.build();

E funcionou direitinho. Acredito que algum outro comando está sobrescrevendo o seu WithAccount, ou então o contato já existe. Tente limpar os cookies do navegador e tentar só com o WithAccount.

1 Curtida

Acabei de ver aqui, realmente tem um usuário de testes já salvo para a conta que estou utilizando!
Mas ele foi salvo sem os extras, neste caso para atualizar os dados toda vez que instancio o chat utilizo o .SendCommand() , certo?

Acho que já encontrei a resposta, o certo seria utilizar a API de vocês para atualizar um contato: https://docs.blip.ai/?http#contacts

1 Curtida

Ei @Brendo_Katagi, tudo bem por aí? Por aqui queremos te desejar boas-vindas à nossa Comunidade!

E que bom que o Bruno conseguiu te ajudar :partyparrot: Deu tudo certo com a API? Sempre que tiver dúvidas ou sentir vontade de compartilhar experiências com o Blip, por favor, fique à vontade para fazer isso. :blush:

1 Curtida

Oi @Bia tudo certo e com você?

Deu certo sim! Obrigado pelo apoio

1 Curtida