# LiveChat customization

**URL:** <https://forums.rocket.chat/t/livechat-customization/14429>\
**Category:** Community Support\
**Created:** [July 5, 2022, 10:02pm UTC](https://forums.rocket.chat/t/livechat-customization/14429 "2022-07-05T22:02:05Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![davi.jaehrig](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/davi.jaehrig/32/3778_2.png) [@davi.jaehrig](https://forums.rocket.chat/u/davi.jaehrig)\
**Post date:** [July 5, 2022, 10:02pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/1 "2022-07-05T22:02:05Z")

</div>

Olá,

como customizo o LiveChat para comportar essa funcionalidade?

Condicional para quando solicita (ou não) o formulário de registro inicial.

Gostaria que em uma url publica (index) solicitasse o formulário de pré-registro, já em uma url interna não solicitasse (usuario autenticado).

Mesmo aplicando a função de _registerGuest_ do widget LiveChat API a configuração do **Admin → Omnichannel → LiveChat → Formulario de Pre-Registro** dita o resultado. Se está habilitado solicita em todos casos, desabilitado nunca solicita.

![image](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/2X/a/a653ea4c6e5c7b37a8c37b82c9d9c9503f71a32f.png)

- Version of Rocket.Chat Server: 4.8.1

---

<div class="post-metadata">

**Author:** ![dudanogueira](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/dudanogueira/32/2529_2.png) [@dudanogueira](https://forums.rocket.chat/u/dudanogueira)\
**Post date:** [July 6, 2022, 4:15pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/2 "2022-07-06T16:15:03Z")

</div>

Oi!

O Livechat possui uma série de APIs onde você pode definir o token, nome, email, departamento além de campos customizados, para permitir essa pré identificação:

> **[Livechat Widget API](https://developer.rocket.chat/reference/api/livechat-api)**

---

<div class="post-metadata">

**Author:** ![davi.jaehrig](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/davi.jaehrig/32/3778_2.png) [@davi.jaehrig](https://forums.rocket.chat/u/davi.jaehrig)\
**Post date:** [July 6, 2022, 4:52pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/3 "2022-07-06T16:52:32Z")

</div>

Olá Duda,

não identifiquei qual função permite isso, me parece que as configurações internas do RocketChat sobrescrevem qualquer comando na instalação do widget.

Testei com o **registerGuest** e as outras que constam na documentação, permanece unilateral: quando defino “solicitar pré-formulario” nas configurações em Administração → …

> como Habilitado, ele solicita em todos cenários (com ou sem comandos do Livechat API).

> como Desabilitado, ele nunca solicita.

qual seria o comando do Livechat API para fazer essa condicional em relaçao ao pré-formulario de registro?

---

<div class="post-metadata">

**Author:** ![dudanogueira](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/dudanogueira/32/2529_2.png) [@dudanogueira](https://forums.rocket.chat/u/dudanogueira)\
**Post date:** [July 6, 2022, 5:17pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/4 "2022-07-06T17:17:17Z")

</div>

Você poderia compartilhar o código usado? Daí tento replicar daqui.

Eu já fiz esse mesmo cenário que você deseja, e à época, eu consegui.

---

<div class="post-metadata">

**Author:** ![davi.jaehrig](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/davi.jaehrig/32/3778_2.png) [@davi.jaehrig](https://forums.rocket.chat/u/davi.jaehrig)\
**Post date:** [July 6, 2022, 5:30pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/5 "2022-07-06T17:30:54Z")

</div>

segue

```auto
<!-- Start of Rocket.Chat Livechat Script -->
<script type="text/javascript">

<<< script de instalação do LiveChat >>>

RocketChat(function() {
    this.registerGuest({
        name: 'xxx',
        email: 'xxx',
    });
});
	</script>

```

---

<div class="post-metadata">

**Author:** ![dudanogueira](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/dudanogueira/32/2529_2.png) [@dudanogueira](https://forums.rocket.chat/u/dudanogueira)\
**Post date:** [July 6, 2022, 6:33pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/6 "2022-07-06T18:33:13Z")

</div>

Aqui deu certo:

```
<!-- Start of Rocket.Chat Livechat Script -->
<script type="text/javascript">
    (function (w, d, s, u) {
        w.RocketChat = function (c) { w.RocketChat._.push(c) }; w.RocketChat._ = []; w.RocketChat.url = u;
        var h = d.getElementsByTagName(s)[0], j = d.createElement(s);
        j.async = true; j.src = 'http://localhost:3000/livechat/rocketchat-livechat.min.js?_=201903270000';
        h.parentNode.insertBefore(j, h);
    })(window, document, 'script', 'http://localhost:3000/livechat');

    const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
    // RocketChat(function() {
    // this.setCustomField('timezone', tz);
    // });
    RocketChat(function() {
        this.registerGuest({
    token: 'novo-token', // The token field is not required. If it is not passed, a new token will be generated
    name: 'novo-token',
    email: 'novo-token@rocket.chat',
});
    });
</script>

```

Acredito que seja porque você não definiu o token. O token é o que definitivamente vai identificar o seu usuário como visitante junto ao Rocket.Chat, e pode ser usado novamente no futuro para agrupar as conversas.

Atente-se que não é interessante colocar algo como usuario-123 como token, pois qualquer pessoa poderia se passar por usuário ID 123. precisa ser algum outro token que o seu sistema irá gerar e que não seja sequencial.

---

<div class="post-metadata">

**Author:** ![davi.jaehrig](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/davi.jaehrig/32/3778_2.png) [@davi.jaehrig](https://forums.rocket.chat/u/davi.jaehrig)\
**Post date:** [July 8, 2022, 5:16pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/7 "2022-07-08T17:16:19Z")

</div>

com a função **RegisterGuest** passando apenas _token_, _name_ + _email_ você conseguiu abrir o LiveChat sem o pré-formulário (mesmo estando habilitado dentro da aplicação)?

usei o mesmo código que o seu passando um **unique-id** para o token, interno e exclusivo para cada usuário e ainda assim ele continua exigindo os campos de nome e e-mail

exemplo de um **unique-id** de usuario demo. testei tambem com valores arbitrarios como _7364763_ e o resultado é sempre o mesmo

> 1566295411300x326794292963055160

 ![image](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/2X/b/bf1be080153dde9d657baad2db75f961f9974d71.png)

---

<div class="post-metadata">

**Author:** ![dudanogueira](https://sea1.discourse-cdn.com/flex021/user_avatar/forums.rocket.chat/dudanogueira/32/2529_2.png) [@dudanogueira](https://forums.rocket.chat/u/dudanogueira)\
**Post date:** [July 8, 2022, 7:28pm UTC](https://forums.rocket.chat/t/livechat-customization/14429/8 "2022-07-08T19:28:28Z")

</div>

Hum.

Lembre-se de sempre dar um ctrl+shit+r pra limpar o cache e recarregar o widget, ou preferencialmente testar numa janela anônima.

Qualquer coisa me pinga em nosso servidor que dou uma olhada contigo:

> **[Rocket.Chat](https://open.rocket.chat/direct/duda.nogueira)**
