> ## Documentation Index
> Fetch the complete documentation index at: https://docs.robbu.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Variáveis de Sistema

> Referência completa de variáveis do Invenio Center: personalize mensagens, fluxos de IDR, templates de HSM, campanhas e integrações via API com variáveis globais e de base de dados.

As **variáveis de sistema** permitem personalizar mensagens, conduzir decisões do bot e registrar informações durante o atendimento.

## Tipos de Variável

<Warning>
  **Dois tipos com escopos diferentes:**

  | Tipo              | Sintaxe           | Onde pode ser usado                  |
  | ----------------- | ----------------- | ------------------------------------ |
  | **Global**        | `@NomePessoa`     | IDR, templates, campanhas, HSM, API  |
  | **Base de Dados** | `{{contactname}}` | **Apenas** no fluxo de IDR (chatbot) |

  **Exceção:** `@identificadororiginal` (Global) é usada **apenas em fluxos de IDR**.
</Warning>

**Exemplos de uso:**

* `{{contactfirstname}}` → retorna o primeiro nome do contato no fluxo IDR
* `@PrimeiroNome` → retorna o primeiro nome em templates, campanhas e HSM

***

## Variáveis de Contato

Dados cadastrais e de identificação do contato.

| Variável                                  | Tipo                   | Descrição                                                               |
| ----------------------------------------- | ---------------------- | ----------------------------------------------------------------------- |
| `{{contactname}}` / `@NomePessoa`         | Base de dados / Global | Nome completo do contato                                                |
| `{{contactfirstname}}` / `@PrimeiroNome`  | Base de dados / Global | Primeiro nome do contato                                                |
| `{{contactlastname}}`                     | Base de dados          | Última palavra do nome do contato                                       |
| `{{contactemail}}`                        | Base de dados          | E-mail principal do contato                                             |
| `{{contactid}}` / `@CPFCNPJ`              | Base de dados / Global | CPF ou CNPJ cadastrado no Invenio                                       |
| `{{contactcustomcode}}` / `@ChaveCliente` | Base de dados / Global | Código do cliente no Invenio                                            |
| `{{contactphonenumber}}`                  | Base de dados          | Número de telefone completo (DDI + DDD + número)                        |
| `{{contactphonenumberareacode}}`          | Base de dados          | Apenas o DDD do contato                                                 |
| `{{contactphonenumbermain}}`              | Base de dados          | Número sem DDI e DDD                                                    |
| `{{contactrobbuid}}`                      | Base de dados          | `hashPessoa` (ID do contato) para uso em fluxos disparados externamente |

***

## Variáveis de Atendimento

Dados sobre o atendimento, operador, segmento e protocolo.

| Variável                        | Tipo                   | Descrição                                             |
| ------------------------------- | ---------------------- | ----------------------------------------------------- |
| `{{segmentname}}`               | Base de dados          | Segmento (carteira) atual do contato                  |
| `{{protocol}}`                  | Base de dados          | Número do protocolo de atendimento                    |
| `{{username}}` / `@NomeUsuario` | Base de dados / Global | Nome do operador que enviou a última mensagem         |
| `{{loyalusername}}`             | Base de dados          | Nome do operador atualmente fidelizado ao contato     |
| `{{lastloyalusername}}`         | Base de dados          | Nome do **último operador** que atendeu o contato     |
| `{{internalwhatsappnumber}}`    | Base de dados          | Número do WhatsApp utilizado pelo bot                 |
| `{{lastsentmessage}}`           | Base de dados          | Última mensagem enviada ao contato                    |
| `{{fileurl}}`                   | Base de dados          | URL do arquivo recebido/baixado durante o atendimento |

***

## Variáveis de Data e Hora

| Variável                | Tipo          | Descrição                                           |
| ----------------------- | ------------- | --------------------------------------------------- |
| `{{currentdate}}`       | Base de dados | Data atual no formato `dd/MM/yyyy`                  |
| `{{currentdatetime}}`   | Base de dados | Data e hora no formato `dd/MM/yyyy HH:mm:ss:ff`     |
| `{{currenttime}}`       | Base de dados | Hora atual no formato `HH:mm:ss:ff`                 |
| `{{currenthour}}`       | Base de dados | Hora atual no formato `HH:mm`                       |
| `{{currentdateformat}}` | Base de dados | Data formatada de acordo com o `CodPais` do cliente |

***

## Variáveis Coringa

Campos livres para personalização temporária por contato. Amplamente usados em campanhas, fluxos automatizados e templates.

| Variável                          | Tipo                   | Limite             |
| --------------------------------- | ---------------------- | ------------------ |
| `{{contactjoker1}}` / `@Coringa1` | Base de dados / Global | Até 300 caracteres |
| `{{contactjoker2}}` / `@Coringa2` | Base de dados / Global | Até 300 caracteres |
| `{{contactjoker3}}` / `@Coringa3` | Base de dados / Global | Até 300 caracteres |
| `{{contactjoker4}}` / `@Coringa4` | Base de dados / Global | Até 300 caracteres |
| `{{contactjoker5}}` / `@Coringa5` | Base de dados / Global | Até 300 caracteres |

<Tip>
  **Exemplo de uso em mensagem:** `"Olá, @PrimeiroNome! Sua parcela com @Coringa1 vence em @Coringa2."`
  No envio, cada variável é substituída pelo valor do contato na campanha.
</Tip>

***

## Variáveis Técnicas e de Integração

Usadas para processos integrados com API e lógicas condicionais no fluxo.

| Variável                | Tipo          | Descrição                                                         |
| ----------------------- | ------------- | ----------------------------------------------------------------- |
| `{{message}}`           | Base de dados | Última mensagem recebida do contato                               |
| `{{lastapiresponse}}`   | Base de dados | Resposta da última chamada de API executada                       |
| `{{lastapistatuscode}}` | Base de dados | Código de status HTTP da última chamada de API (ex: `200`, `404`) |
| `{{AdData}}`            | Base de dados | Dados da publicidade que o contato acionou via Facebook/Instagram |

***

## Variáveis de Localização e Navegação

| Variável                 | Tipo          | Descrição                                                                    |
| ------------------------ | ------------- | ---------------------------------------------------------------------------- |
| `{{longitude/latitude}}` | Base de dados | Coordenadas geográficas recebidas na interação do contato                    |
| `@identificadororiginal` | Global\*      | Redireciona o contato para a última etapa de "Aguardar mensagem de resposta" |

<Note>
  **`@identificadororiginal`:** Embora seja uma variável global (sintaxe `@`), ela só funciona **dentro de fluxos de IDR** — não é aplicável em templates, campanhas ou HSM.
</Note>

***

## Links Relacionados

<CardGroup cols={2}>
  <Card title="Templates de WhatsApp" icon="whatsapp" href="https://docs.robbu.global/docs/center/como-criar-templates-whatsapp">
    Usar variáveis globais em templates
  </Card>

  <Card title="Importação de Público" icon="users" href="https://docs.robbu.global/docs/center/publico-importacao">
    Preencher Coringas no mailing CSV
  </Card>

  <Card title="Campanhas de WhatsApp" icon="bullhorn" href="https://docs.robbu.global/docs/center/campanhas-de-whatsapp">
    Aplicar variáveis em campanhas
  </Card>

  <Card title="Campanhas de E-mail" icon="envelope" href="https://docs.robbu.global/docs/center/campanhas-de-email">
    Tags de e-mail e personalização
  </Card>

  <Card title="Campanhas de SMS" icon="message-sms" href="https://docs.robbu.global/docs/center/criando-campanha-sms">
    Variáveis em mensagens de SMS
  </Card>

  <Card title="Enviar Mensagem (Live)" icon="paper-plane" href="https://docs.robbu.global/docs/live/enviar-mensagem">
    Usar variáveis via API
  </Card>
</CardGroup>

***

## ⁉️ Perguntas Frequentes (FAQ)

<AccordionGroup>
  <Accordion title="📌 Qual a diferença entre variáveis Globais e de Base de Dados?">
    | Característica                   | Global (`@`)  | Base de Dados (`{{}}`) |
    | -------------------------------- | ------------- | ---------------------- |
    | Sintaxe                          | `@NomePessoa` | `{{contactname}}`      |
    | IDR (chatbot)                    | ✅ Sim         | ✅ Sim                  |
    | Templates WhatsApp               | ✅ Sim         | ❌ Não                  |
    | Campanhas (WhatsApp, Email, SMS) | ✅ Sim         | ❌ Não                  |
    | Envio manual HSM                 | ✅ Sim         | ❌ Não                  |
    | API Send                         | ✅ Sim         | ❌ Não                  |

    **Regra prática:** Se vai usar fora do chatbot → use `@Variavel`. Se é fluxo interno de IDR → ambas funcionam.
  </Accordion>

  <Accordion title="🔤 Como inserir variáveis nas mensagens?">
    **Variáveis de Base de Dados (IDR):**

    ```
    Olá, {{contactfirstname}}! Seu protocolo é {{protocol}}.
    ```

    **Variáveis Globais (templates, campanhas, HSM):**

    ```
    Olá, @PrimeiroNome! Sua chave é @ChaveCliente.
    ```

    **Equivalentes:** `{{contactname}}` = `@NomePessoa` — use conforme o contexto.
  </Accordion>

  <Accordion title="🎯 Para que servem as variáveis Coringa?">
    Armazenam informações **personalizadas por contato**, preenchidas no arquivo de importação (CSV).

    **Caso de uso clássico:**

    * `CORINGA 1` = nome da empresa do cliente
    * `CORINGA 2` = data de vencimento
    * Mensagem: `"Olá, @PrimeiroNome! @Coringa1 tem uma pendência com vencimento em @Coringa2."`

    Disponível como `{{contactjoker1}}` em IDR e `@Coringa1` em templates/campanhas.
  </Accordion>

  <Accordion title="📡 Como usar variáveis de API na IDR?">
    Após executar uma ação de chamada de API no fluxo:

    * `{{lastapiresponse}}` → captura o corpo da resposta JSON
    * `{{lastapistatuscode}}` → captura o código HTTP (use para lógica condicional: se `200` → sucesso, se `404` → não encontrado)

    **Exemplo de uso:** Chamar API de consulta de CPF → capturar o status → criar condição `{{lastapistatuscode}} == 200` para prosseguir.
  </Accordion>

  <Accordion title="📍 Como funciona a variável @identificadororiginal?">
    Usada para **retornar o contato** à última etapa de "Aguardar mensagem de resposta" do fluxo IDR.

    **Útil quando:** O contato enviou uma mensagem fora do contexto esperado e você quer redirecioná-lo ao ponto onde estava antes.

    ⚠️ Funciona **exclusivamente dentro de fluxos de IDR** — não aplicável em templates ou campanhas.
  </Accordion>

  <Accordion title="📣 Posso usar variáveis em templates de WhatsApp?">
    **Sim**, mas apenas variáveis **Globais** (`@`):

    * ✅ `@NomePessoa`, `@PrimeiroNome`, `@CPFCNPJ`, `@ChaveCliente`
    * ✅ `@Coringa1` a `@Coringa5`
    * ❌ `{{contactname}}`, `{{protocol}}` e demais `{{}}` não funcionam em templates

    Consulte: [Templates de WhatsApp](https://docs.robbu.global/docs/center/como-criar-templates-whatsapp)
  </Accordion>

  <Accordion title="📘 O que é a variável {{AdData}}?">
    Captura os **dados da publicidade** (ad) que o contato acionou via **Facebook ou Instagram** antes de iniciar a conversa.

    **Uso:** Permite identificar qual anúncio gerou o contato, para personalizar o fluxo de acordo com a campanha de origem (ex: exibir oferta específica do anúncio clicado).

    É uma variável **Base de Dados** — disponível apenas em fluxos de IDR.
  </Accordion>

  <Accordion title="🆔 O que é a variável {{contactrobbuid}}?">
    Contém o **`hashPessoa`** — o identificador interno único do contato no Invenio.

    **Quando usar:** Em fluxos **disparados externamente** via API, onde é necessário referenciar o contato pelo seu ID interno na plataforma.

    É uma variável **Base de Dados** — disponível apenas em fluxos de IDR.
  </Accordion>
</AccordionGroup>
