# Central de Ajuda ZPRO

Documentação oficial do Z-PRO: tutoriais, configurações, canais, automação, atendimento e API — tudo para operar e administrar sua plataforma omnichannel.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FGQgqRkPXISb5QV3PTGb9%2FNovo%20Front%202.png?alt=media&amp;token=13cec575-27a5-4065-93b8-96e0e9e6888a" alt="" width="375"><figcaption></figcaption></figure>

O **Z-PRO** é uma plataforma de atendimento e automação omnichannel — WhatsApp, Instagram, Messenger e mais — instalada no seu próprio servidor, no modelo White Label. Ideal para agências, empresas de software e empreendedores que querem oferecer atendimento profissional com a própria marca.

### Tour em vídeo

{% embed url="<https://youtu.be/-oGsYNzj-uY>" %}

***

### Conhecendo o Z-PRO

Para quem está avaliando a plataforma ou quer entender como ela funciona.

{% content-ref url="/pages/dFHeqIfTcQYY8ZRD2UD5" %}
[Como funciona o Z-PRO](/como-funciona-o-z-pro)
{% endcontent-ref %}

{% content-ref url="/pages/8N7ha9ZqmoV4Sk3nZM5g" %}
[API Oficial vs API Não Oficial](/diretrizes-e-politicas/api-oficial-vs-api-nao-oficial)
{% endcontent-ref %}

{% content-ref url="/pages/NVli8sN9OAi7S4uMm1pk" %}
[Pré-requisitos de instalação e utilização](/diretrizes-e-politicas/pre-requisitos-de-instalacao-e-utilizacao)
{% endcontent-ref %}

***

### Novo por aqui?

Acabou de assinar ou está instalando pela primeira vez.

{% content-ref url="/pages/5aAMpDu0WkQDJSZpiIB4" %}
[Onboarding - novos assinantes](/primeiro-acesso/onboarding-novos-assinantes)
{% endcontent-ref %}

{% content-ref url="/pages/RrCS94gCnSXukffa7DrJ" %}
[Instalar Z-PRO](/primeiro-acesso/instalar-z-pro)
{% endcontent-ref %}

{% content-ref url="/pages/2N5bSdofsDu1SownCEqN" %}
[Primeiro Acesso ao Sistema](/primeiro-acesso/primeiro-acesso-ao-sistema)
{% endcontent-ref %}

***

### Já sou assinante

Recursos e referências para o dia a dia da operação.

{% content-ref url="/pages/9DHSTWtSbsPvYR8zkUAE" %}
[Changelog (4.0.x última versão)](/central-do-assinante/atualizacoes-e-status-do-z-pro/changelog-4.0.x-ultima-versao)
{% endcontent-ref %}

{% content-ref url="/pages/Qyp1pmoXSEMUwCNsKLFJ" %}
[Política de Suporte Técnico](/diretrizes-e-politicas/politica-de-suporte-tecnico)
{% endcontent-ref %}

{% content-ref url="/pages/7BeeoDVaBFJhBgBrH2ZH" %}
[Referência da API](/central-do-assinante/referencia-da-api)
{% endcontent-ref %}

{% content-ref url="/pages/2XCvD1qpDph43meUOncN" %}
[Manutenção e Segurança](/diretrizes-e-politicas/manutencao-e-seguranca)
{% endcontent-ref %}

***

***

### Políticas e Termos

{% content-ref url="/pages/PoiXh1CvqX3xFmNWZ1Rv" %}
[Termos e Condições Gerais de Uso e Licenciamento](/diretrizes-e-politicas/termos-e-condicoes-gerais-de-uso-e-licenciamento)
{% endcontent-ref %}

{% content-ref url="/pages/FbFcUcv3s5K34hhJ1ctR" %}
[Aviso de Privacidade](/diretrizes-e-politicas/aviso-de-privacidade)
{% endcontent-ref %}


# Como funciona o Z-PRO

Visão geral do Z-PRO: plataforma omnichannel self-hosted com WhatsApp, Instagram, chatbot, multi-tenant e white-label para empresas e revendas.

O Z-PRO é uma plataforma omnichannel de atendimento e automação de conversas. Centraliza em um único painel mensagens de múltiplos canais — WhatsApp, Instagram, Facebook Messenger, Telegram, E-mail e Webchat —, distribui atendimentos entre filas e equipes, automatiza jornadas com chatbot nativo (ChatFlow) e integra com ferramentas externas via API, N8N e provedores de IA. É voltado tanto para empresas que operam o próprio atendimento quanto para revendas que oferecem o sistema como SaaS para seus clientes.

O Z-PRO é **self-hosted**: o sistema é instalado e roda no servidor (VPS) contratado pelo próprio assinante. Isso significa que os dados ficam na infraestrutura do assinante, sem dependência de nuvem da ZDG. A instalação pode ser feita pela equipe técnica da ZDG ou pelo próprio assinante usando o auto-instalador disponibilizado após a compra.

{% hint style="success" %}
**API Oficial do WhatsApp (WABA):** o Z-PRO é Tech Provider homologado da Meta. Você conecta números pela API Oficial — o método mais estável, seguro e recomendado para operações profissionais, sem risco de banimento e com suporte direto da Meta.
{% endhint %}

Em ambos os planos a plataforma é **white-label**: você usa sua própria marca, seu domínio e suas cores. A diferença está na escala — o plano **Uso Próprio** opera com uma única conta, enquanto o plano **Revenda** permite criar contas isoladas para múltiplos clientes (multi-tenant) e comercializá-las como SaaS.

***

### O que está incluso na assinatura

A licença é **anual, sem cobrança por usuário, conexão ou volume de mensagens**. Inclui:

* **Licença de uso** — usuários, conexões e chatbots ilimitados (limitados apenas pela capacidade do seu servidor)
* **Instalação inicial** — nossa equipe faz o primeiro setup no seu servidor, ou você usa o auto-instalador com tutorial em vídeo
* **Portal de treinamento** — área de membros com vídeo-aulas para configurar, operar e escalar
* **Suporte técnico** — via sistema de tickets, segunda a sexta, 8h–18h
* **Atualizações contínuas** — novas funcionalidades e correções enquanto a licença estiver ativa

{% hint style="info" %}
**Prazo de instalação pela equipe:** 2 a 5 dias úteis após agendamento e envio das credenciais da VPS e do domínio. Se preferir mais agilidade, o auto-instalador está disponível com download liberado imediatamente após confirmação do pagamento.
{% endhint %}

[→ Termos e Condições de Uso](/diretrizes-e-politicas/termos-e-condicoes-gerais-de-uso-e-licenciamento)\
[→ Política de Suporte Técnico](/diretrizes-e-politicas/politica-de-suporte-tecnico)

***

### Planos disponíveis

| Plano                            | Para quem                                                       | O que inclui                                                                                                                           |
| -------------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Uso Próprio**                  | Quem quer centralizar o próprio atendimento                     | 1 conta (tenant), canais e usuários ilimitados, todos os recursos operacionais                                                         |
| **Revenda (SaaS / White-Label)** | Quem quer criar um negócio de software e revender para clientes | Tudo do Uso Próprio + Painel Super Admin para múltiplas contas, white-label com sua marca, integração com gateway de pagamento (Asaas) |

**A principal diferença:** o Uso Próprio centraliza o atendimento em uma única conta. O plano de Revenda (Multi-Tenant) permite criar contas isoladas para múltiplos clientes, separando a gestão e os números conectados de cada um. Ambos os planos não possuem limite de números e usuários.

[→ Ver valores e adquirir licença](https://zpro.zdg.com.br/#oferta)

#### Como funciona a Revenda (White-Label)

Com o Plano Revenda, você:

1. Instala o Z-PRO no seu servidor com a sua própria marca (logo, cores, domínio)
2. Acessa o Painel Super Admin e cria contas isoladas (**tenants**) para cada cliente
3. Define os recursos e os limites disponíveis para cada conta
4. Revende os acessos com sua marca — o nome Z-PRO não aparece para o seu cliente final
5. Integra com o gateway Asaas para cobrar seus clientes automaticamente

A estratégia de preços é 100% sua.

[→ Como aplicar o White-Label na prática](/configuracao-superadmin/tenants-e-licenca/artigo-usando-o-white-label-para-varios-clientes)

***

### Servidor (VPS) e responsabilidades

{% hint style="warning" %}
**O Z-PRO é self-hosted.** Você contrata e mantém o servidor (VPS) onde o sistema roda. A VPS não está inclusa na licença — é um custo de infraestrutura seu, pago diretamente ao provedor de hospedagem.
{% endhint %}

**Suas responsabilidades:**

* Contratar e manter o servidor online com recursos adequados
* Gerenciar firewall, segurança e controle de acesso
* Executar rotinas de backup
* Aplicar as atualizações do Z-PRO no seu ambiente

**Responsabilidades do Z-PRO:**

* Fornecer o software funcional e atualizado
* Realizar a instalação inicial no seu servidor
* Prestar suporte técnico focado no funcionamento da plataforma

[→ Pré-requisitos de instalação (especificações mínimas da VPS)](/diretrizes-e-politicas/pre-requisitos-de-instalacao-e-utilizacao)

***

### Canais suportados

* **WhatsApp** — API Oficial (WABA) ou APIs não oficiais (Baileys, Evolution, Wuzapi, Z-API, Uazapi, WebJs)
* **Instagram Direct e Facebook Messenger** — integração nativa ou via Hub NotificaMe
* **Webchat** — widget para embutir no seu site
* **E-mail** — integração com Gmail via OAuth2
* **Telegram** — via bot nativo
* **Voz / SIP** — ligações via WhatsApp (Wavoip) ou integração com PABX via protocolo SIP

[→ API Oficial vs. APIs Não Oficiais — qual escolher](/diretrizes-e-politicas/api-oficial-vs-api-nao-oficial)

***

### Automação, IA e integrações

**Chatbot nativo (ChatFlow):** construtor visual interno para criar fluxos automáticos sem ferramentas adicionais.

**IAs suportadas:** ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google), Grok (xAI), Deepseek, Qwen — e modelos self-hosted via Ollama e LM Studio. Basta inserir sua chave de API.

**Integração com sistemas externos:** o Z-PRO pode se conectar a outros sistemas de duas formas:

1. **API própria documentada** — rotas disponíveis via Postman para integrações personalizadas com CRMs, ERPs e outros sistemas:\
   [→ Ver documentação da API (Postman)](https://www.postman.com/comunidade-zdg/z-pro/collection/s16subg/postman-v3?action=share\&creator=25151510)
2. **N8N** — crie automações no N8N e integre ao Z-PRO para que o fluxo seja consumido dentro do canal desejado (WhatsApp, Instagram etc.)

{% hint style="warning" %}
A viabilidade de uma integração específica deve ser avaliada por você ou por alguém da sua equipe técnica. O Z-PRO não realiza o serviço de desenvolvimento de integrações personalizadas — a construção e a manutenção da conexão são de responsabilidade do assinante.
{% endhint %}

***

### Custos além da licença

O valor pago ao Z-PRO refere-se à licença de uso do software, à instalação inicial, ao suporte e às atualizações no período. Custos adicionais são pagos diretamente aos respectivos provedores:

**Obrigatórios:**

* Servidor (VPS) e domínio

**Variáveis (conforme o que você usar):**

* API Oficial do WhatsApp — cobrada pela Meta por janela de conversa
* Tokens de IA (OpenAI, Google, Anthropic etc.)
* Ferramentas externas como N8N, Typebot, Hub NotificaMe

O investimento total dependerá das suas escolhas de ferramentas complementares.

***

### Perguntas frequentes

**A licença é mensal ou anual?**\
Anual. O modelo cobre os custos de setup, instalação e horas técnicas dedicadas da nossa equipe.

**Posso testar antes de comprar?**\
Sim. Liberamos 7 dias de acesso em um ambiente de demonstração. Solicite pelo canal comercial: <https://zdg.dev.br/contato>

**Há limite de usuários, conexões ou disparos?**\
Não. O Z-PRO não impõe limites de software. A capacidade depende dos recursos do seu servidor (VPS).

**O suporte atende pelo WhatsApp ou faz reuniões?**\
Não. O suporte opera exclusivamente por sistema de tickets (segunda a sexta, 8h–18h). Não há atendimento via WhatsApp, call ou consultoria.

**O que o suporte cobre?**\
Bugs e falhas nativas da plataforma, dúvidas sobre funcionalidades do Z-PRO e auxílio na instalação inicial. **Não cobre** criação de fluxos de chatbot, configuração de ferramentas externas nem problemas de infraestrutura do servidor.\
→ Escopo completo da Política de Suporte

**Quanto posso cobrar dos meus clientes?**\
A estratégia de preços é 100% sua. O Z-PRO não define nem limita o quanto você cobra para revender o serviço.

**O código-fonte é aberto?**\
O front-end é acessível e customizável. O back-end é fechado — isso garante a integridade e a segurança contínua da plataforma.

***

### Próximo passo

**Quero testar:** solicite 7 dias de demonstração pelo WhatsApp comercial: <https://zdg.dev.br/contato>

**Quero comprar:** veja os planos e adquira a licença: [zpro.zdg.com.br](https://zpro.zdg.com.br/#oferta)

**Já comprei:** acesse o guia com os primeiros passos: → Onboarding para Novos Assinantes

[→ Política de Privacidade](/diretrizes-e-politicas/aviso-de-privacidade)


# Qual plano do Z-PRO é melhor para a minha operação

A escolha entre os planos **Uso Próprio** e **Revenda** não depende de qual plano tem mais recursos: os dois têm o mesmo conjunto de funcionalidades e são igualmente white-label. A diferença está em quantos **tenants** (painéis isolados) a operação precisa.

"Revenda" é o nome do plano, mas não exige revender para terceiros. Quem precisa de mais de um tenant por qualquer motivo, mesmo sem cobrar de clientes externos, também precisa dele.

{% hint style="info" %}
**Decisão rápida:**

* Toda a operação cabe num único painel, com filas e equipes separando os setores? **Uso Próprio.**
* É necessário isolar dados entre operações diferentes (revenda para clientes, uma segunda empresa do grupo, ou unidades de franquia)? **Revenda.**
  {% endhint %}

***

### Tenant e Super Admin

Um **tenant** é uma conta isolada dentro da instalação, com contatos, conversas, usuários, filas e canais próprios, sem se misturar com os de outro tenant.

Os dois planos têm painel **Super Admin**, mas com escopos diferentes:

* **Uso Próprio:** o Super Admin gerencia **1 tenant fixo**. Não tem a aba **Planos** (criação de planos comerciais e cobrança automática via Asaas), porque não existe um segundo tenant para vender.
* **Revenda:** o Super Admin é multi-tenant. Cria quantos tenants forem necessários (**Super Admin > Tenants e Licenciamento > Tenants > + Novo Tenant**), define limites e recursos por tenant (usuários, conexões, canais liberados, quota de mídia), e tem a aba **Planos** para criar ofertas comerciais e cobrar automaticamente via Asaas, quando há cobrança de terceiros.

Nenhum dos planos limita usuários, conexões ou volume de mensagens; o limite é a capacidade do servidor (VPS) contratado.

{% hint style="warning" %}
Filas e equipes não substituem isolamento de tenant: organizam o trabalho dentro da mesma base de dados, mas não impedem que outro setor veja os mesmos contatos e conversas. Quando uma operação não pode, em hipótese alguma, ver os dados de outra, a separação precisa ser por tenant, no plano Revenda.
{% endhint %}

***

### White-label nos dois planos

**White-label** é a personalização do sistema com a marca do licenciado (logo, cores, domínio) no lugar da marca Z-PRO, disponível nos dois planos.

* No **Uso Próprio**, a marca é usada só internamente, pelos próprios atendentes.
* No **Revenda**, a marca pode ser repassada também aos clientes que usam cada tenant.

A personalização é definida por instalação, uma marca por Super Admin, aplicada a todos os tenants dela. Para marcas diferentes por cliente, ver Usando o White-Label para Vários Clientes.

***

### Resumo comparativo

|                                     | Uso Próprio                                        | Revenda                                                           |
| ----------------------------------- | -------------------------------------------------- | ----------------------------------------------------------------- |
| Tenants                             | 1, fixo                                            | Múltiplos, criados pelo licenciado                                |
| Painel Super Admin                  | Sim, com escopo de 1 tenant                        | Sim, multi-tenant                                                 |
| Aba Planos (cobrança via Asaas)     | Não                                                | Sim                                                               |
| Isolamento de dados entre operações | Não se aplica                                      | Total, por tenant                                                 |
| White-label                         | Sim, uso interno                                   | Sim, repassável aos tenants                                       |
| Indicado para                       | Uma operação só, mesmo com vários setores internos | Revenda a clientes, mais de uma empresa própria, ou franquia/rede |

***

### Encerramento

Se a operação funciona com um único painel, mesmo grande e com vários setores, o Uso Próprio resolve. Se existe mais de uma operação com dados que precisam ficar isolados, entra o Revenda, seja para clientes externos ou só para uso interno do grupo.

{% hint style="info" %}
**Upgrade durante a licença ativa.** É possível migrar de Uso Próprio para Revenda a qualquer momento, sem esperar a renovação, pagando só a diferença entre os planos.
{% endhint %}


# Diretrizes e Políticas

Termos de uso, política de suporte, privacidade, segurança e pré-requisitos: leia antes de instalar ou colocar o Z-PRO em produção.

A seção "Diretrizes da Plataforma" reúne os documentos fundamentais que definem a relação técnica, operacional e legal para o uso do software Z-PRO.

**A leitura destes artigos é recomendada para todos, pois eles estabelecem as bases de responsabilidades, requisitos e políticas que garantem o bom funcionamento e a segurança da sua instalação.**

Nesta seção você encontrará os seguintes artigos:

* [Termos e Condições de Uso](/diretrizes-e-politicas/termos-e-condicoes-gerais-de-uso-e-licenciamento)
* [Requisitos de Uso](/diretrizes-e-politicas/pre-requisitos-de-instalacao-e-utilizacao)
* [Política de Suporte Técnico](/diretrizes-e-politicas/politica-de-suporte-tecnico)
* [Manutenção e Segurança](/diretrizes-e-politicas/manutencao-e-seguranca)
* [API Oficial e Não Oficial (WhatsApp)](/diretrizes-e-politicas/api-oficial-vs-api-nao-oficial)
* [Aviso de Privacidade](/diretrizes-e-politicas/aviso-de-privacidade)


# Pré-requisitos de instalação e utilização

Especificações mínimas de VPS, sistema operacional (Ubuntu), RAM, vCPU, domínio e navegador para instalar e usar o Z-PRO.

### Requisitos do Servidor (VPS)

A VPS onde o sistema será instalado deve atender às seguintes especificações mínimas:

<table><thead><tr><th width="174.5">Recurso</th><th>Requisito mínimo</th></tr></thead><tbody><tr><td><strong>Memória RAM</strong></td><td>16 GB ou mais</td></tr><tr><td><strong>Processador</strong></td><td>4 vCPUs ou mais (arquitetura AMD ou Intel x86-64)</td></tr><tr><td><strong>Armazenamento</strong></td><td>SSD ou NVMe a partir de 200 GB</td></tr><tr><td><strong>Latência</strong></td><td>50 ms ou menos</td></tr><tr><td><strong>Sistema operacional</strong></td><td>Ubuntu 24.04 LTS — instalação limpa, sem painel</td></tr></tbody></table>

{% hint style="warning" %}
O pleno funcionamento do sistema está condicionado ao atendimento dessas especificações. Ambientes subdimensionados ou fora das especificações não recebem diagnóstico de performance pelo suporte técnico.
{% endhint %}

{% hint style="info" %}
Os requisitos desta página valem para a **instalação padrão em PM2 (modo fork)**. Para instalar via Docker (containers), veja o [Guia para Instalação com Docker](/avancado-recursos-tecnicos/infraestrutura/guia-para-instalacao-com-docker)
{% endhint %}

#### Provedores de VPS recomendados

**Brasil:**

* [Hostinger](https://www.hostinger.com/zdg)
* [HostGator](https://www.hostgator.com.br/servidor-vps)

**Internacional (avalie a latência antes de contratar):**

* [Hetzner](https://www.hetzner.com/)
* [DigitalOcean](https://www.digitalocean.com/)
* [AWS](https://aws.amazon.com/)
* [OVHcloud](https://www.ovhcloud.com/pt/)

{% hint style="info" %}
Recomendamos datacenter brasileiro para garantir baixa latência e melhor experiência para os usuários.
{% endhint %}

#### Registro de domínio

O Z-PRO utiliza dois subdomínios (front-end e back-end) apontados para o IP da VPS. Para registrar um domínio `.com.br`, acesse [registro.br](https://registro.br/).

***

### Escalabilidade e projeção de consumo de recursos

O Z-PRO não possui limite de canais ou usuários na licença — a capacidade de escalar depende diretamente dos recursos do servidor.

#### Consumo médio de memória RAM

| Tipo de canal / conexão            | Consumo médio por canal |
| ---------------------------------- | ----------------------- |
| Canais WABA / Hub                  | até 100 MB              |
| Canais Baileys / Evolution / Meow  | até 250 MB              |
| Canais wwebjs                      | até 1 GB                |
| **Por usuário logado (atendente)** | 100 a 150 MB            |

{% hint style="info" %}
Esses valores são uma projeção média e podem variar conforme a intensidade de uso. Monitore o consumo do servidor à medida que a operação cresce — alta utilização de RAM/CPU indica que é hora de fazer upgrade no plano de VPS.
{% endhint %}

***

### Requisitos da máquina do usuário (atendente)

Para acessar o painel do Z-PRO, a máquina de cada atendente deve atender aos requisitos abaixo:

* **Memória RAM:** 8 GB ou mais
* **Processador:** Intel i5 ou equivalente
* **Conexão:** internet rápida e estável
* **Navegador e sistema operacional:** mantenha ambos atualizados para garantir segurança e compatibilidade

***

### Versões suportadas da API WhatsApp

* API WhatsApp Business Account v19.0 ou superior
* WhatsApp Web até a versão v2.24xx.x

***

### Manutenção e segurança do servidor

A gestão, segurança e manutenção do servidor são de responsabilidade do assinante. Veja as ações obrigatórias após a instalação:

{% content-ref url="/pages/2XCvD1qpDph43meUOncN" %}
[Manutenção e Segurança](/diretrizes-e-politicas/manutencao-e-seguranca)
{% endcontent-ref %}


# Política de Suporte Técnico

O que está incluso no suporte Z-PRO: canais de atendimento, horários, SLA, escopo técnico e o que não é coberto pelo suporte.

### Canais de Atendimento

O único canal oficial para solicitação de suporte técnico é o nosso portal de tickets: [https://suporte.zdg.com.br](https://suporte.zdg.com.br/)

### Horário de Atendimento

A equipe de suporte opera de **Segunda a Sexta-feira, das 8h às 18h (Horário de Brasília)**, exceto em feriados.

### Prazo de Resposta (SLA)

Nosso prazo máximo para resposta a um novo chamado é de até **03 dias úteis**, contados a partir da data de abertura do ticket.

### Escopo do Suporte (O que está incluso)

Nossa equipe de suporte está preparada para auxiliar com:

* Dúvidas sobre o funcionamento e os recursos do sistema Z-PRO.
* Investigação e correção de bugs ou falhas na plataforma.
* Auxílio via helpdesk em configurações relacionadas às funcionalidades nativas do Z-PRO.

#### Fora do Escopo do Suporte (O que não está incluso)

Para garantir o foco e a qualidade do nosso atendimento, os seguintes itens não são cobertos pelo suporte técnico:

**Infraestrutura e servidor**

* Configuração, gestão, manutenção ou segurança do servidor (VPS) do cliente.
* Instalação do Z-PRO via Docker ou ambientes containerizados.
* Migração de banco de dados entre servidores ou versões.
* Configuração de storage externo.
* Sistemas que não atendam aos requisitos mínimos de servidor recomendados — ambientes subdimensionados ou fora das especificações não recebem suporte de diagnóstico de performance.
* Acesso remoto à máquina do cliente.
* Customizações de frontend.

**Ferramentas de terceiros**

O Z-PRO oferece integração com diversas ferramentas externas, mas o funcionamento, a configuração e o suporte de cada uma são de responsabilidade do respectivo fornecedor. Não prestamos suporte para:

* **Automação e IA:** N8N, Typebot, ChatGPT (OpenAI), Claude (Anthropic), Gemini (Google), Grok (xAI), Deepseek, Qwen, Ollama, LM Studio, VAPI
* **Canais não oficiais:** Evolution API, WuzAPI, Z-API, UazAPI, Baileys (instabilidades de conexão por atualizações do WhatsApp)
* **Telefonia:** WaVoIP, SIP/PABX, trunks VoIP e qualquer infraestrutura de voz
* **E-commerce:** Nuvemshop, WooCommerce, Mercado Livre, OLX
* **Outros:** Hub NotificaMe, Asaas (gateway de pagamento), Google Calendar, qualquer CRM ou ERP externo integrado via API

**Meta e WhatsApp**

* Configurações externas da Meta: App Review, Business Manager, verificação de empresa, política de mensageria e aprovação de templates.
* Números bloqueados ou banidos pela Meta — banimentos são aplicados pela própria Meta com base no comportamento de uso e não têm relação com o Z-PRO.
* Rejeição ou reprovação de templates HSM pela Meta.
* Custos e cobranças da API Oficial (WABA) — faturados diretamente pela Meta na Business Manager do cliente.

**Escopo de negócio**

* Criação de fluxos de chatbot específicos para o negócio do cliente.
* Consultoria de negócios, marketing ou estratégias de atendimento.

### Procedimento e Regras de Atendimento

1. **Acesso ao Portal:** Para abrir um chamado, acesse o portal Tomticket. Utilize o seu e-mail de compra da licença para acessar a plataforma.
2. **Identificação do Cliente:** É mandatório que o e-mail utilizado no portal de suporte seja o mesmo da compra. Não altere este e-mail na plataforma, pois ele é o seu identificador como cliente ativo.
3. **Envio de Anexos:** Ao descrever sua dúvida, seja claro e forneça o máximo de detalhes. Anexos no formato de vídeo são aceitos, com duração máxima de 30 segundos por vídeo e limite de 1 vídeo por interação no ticket.
4. **Encerramento por Inatividade:** Chamados que permanecerem sem resposta por parte do cliente por mais de 72 horas serão encerrados automaticamente pelo sistema.


# Termos e Condições Gerais de Uso e Licenciamento

Contrato de uso do Z-PRO:  licenciamento self-hosted, planos, requisitos técnicos, suporte, App Tech Provider da Meta e responsabilidades do Cliente.

**Data de disponibilização: 22/05/2024**

**Última atualização: 15/09/2026**

Estes Termos e Condições de Uso ("Termos") regulam a relação comercial e o licenciamento de uso entre a empresa **BIANCA SANT ANA PEREIRA & CIA LTDA**, pessoa jurídica de direito privado, inscrita no CNPJ sob o nº 35.617.749/0001-67, doravante denominada **"ZDG"**, **"ZPRO"** ou **"LICENCIANTE"**, e a pessoa física ou jurídica que adquire a licença, doravante denominada **"CLIENTE"** ou **"LICENCIADO"**.

O objeto deste instrumento é o regramento da utilização do software de gestão e automação de atendimentos denominado **"SISTEMA ZPRO"**, fornecido na modalidade auto-hospedada (*self-hosted*).

**AO CONTRATAR E UTILIZAR O SISTEMA ZPRO, O CLIENTE DECLARA TER LIDO, COMPREENDIDO E ACEITO INTEGRALMENTE ESTES TERMOS.**

### QUAIS AS INFORMAÇÕES QUE VOCÊ ENCONTRARÁ NESTES TERMOS

[1. CONCEITOS IMPORTANTES](#id-1.-conceitos-importantes)

[2. NATUREZA E EFICÁCIA DOS TERMOS](#id-2.-natureza-e-eficacia-dos-termos)

[3. REQUISITOS TÉCNICOS E CONDIÇÕES DE OPERAÇÃO](#id-3.-requisitos-tecnicos-e-condicoes-de-operacao)

[4. DELIMITAÇÃO DE RESPONSABILIDADES E RELAÇÃO COM TERCEIROS](#id-4.-delimitacao-de-responsabilidades-e-relacao-com-terceiros)

[5. OBJETO E LICENÇA DE USO](#id-5.-objeto-e-licenca-de-uso)

[6. PLANOS, PAGAMENTO, RENOVAÇÃO E CANCELAMENTO](#id-6.-planos-pagamento-renovacao-e-cancelamento)

[7. POLÍTICA DE SUPORTE TÉCNICO E SLA](#id-7.-politica-de-suporte-tecnico-e-sla)

[8. OBRIGAÇÕES, RESPONSABILIDADES E LIMITAÇÕES](#id-8.-obrigacoes-responsabilidades-e-limitacoes)

[9. PROPRIEDADE INTELECTUAL](#id-9.-propriedade-intelectual)

[10. PRIVACIDADE E PROTEÇÃO DE DADOS (LGPD)](#id-10.-privacidade-e-protecao-de-dados-lgpd)

[11. DISPOSIÇÕES GERAIS](#id-11.-disposicoes-gerais)

[12. FORO E LEGISLAÇÃO APLICÁVEL](#id-12.-foro-e-legislacao-aplicavel)

[ANEXO I - POLÍTICA DE USO DO APP TECH PROVIDER](#anexo-i-politica-de-uso-do-app-tech-provider)

### 1. CONCEITOS IMPORTANTES

Para facilitar a leitura e interpretação deste documento, adotamos as seguintes definições:

* **Cliente (ou Licenciado):** Pessoa física ou jurídica que adquire a Licença de Uso do Software ZPRO, responsável pelo pagamento, pela contratação da infraestrutura (VPS) e pela gestão dos Usuários e Clientes Finais (Tenants).
* **Sistema ZPRO:** Software desenvolvido e de propriedade exclusiva da ZPRO, fornecido sob regime de licenciamento *self-hosted*. Trata-se de uma solução tecnológica para centralização e gestão de multicanais de atendimento e automação.
* **Licença de Uso Anual:** Modalidade de contratação que concede ao Cliente o direito de uso do Sistema ZPRO pelo período de 12 (doze) meses, instalada na infraestrutura providenciada pelo Cliente.
* **Modelo White-Label:** Característica do Sistema ZPRO que permite ao Cliente personalizar a identidade visual e revender o acesso ao software para terceiros sob sua própria marca.
* **Infraestrutura (VPS):** Servidor Virtual Privado (*Virtual Private Server*) contratado e custeado diretamente pelo Cliente junto a terceiros, onde o Sistema ZPRO será instalado.
* **Usuário:** Pessoa autorizada pelo Cliente a acessar o painel administrativo do Sistema ZPRO (Super Admin, Admin, supervisores ou atendentes).
* **Tenant (Cliente Final):** Conta ou instância criada pelo Cliente dentro do Sistema ZPRO para uso próprio ou para revenda a terceiros, conforme o Plano contratado (cláusula 6.2).
* **Serviços Centrais:** Servidores operados pela ZPRO com os quais o Sistema ZPRO, o Agente de Servidor e o Cliente se comunicam: sistema de licenciamento, camada de conexão de canais e Painel do Licenciado.
* **Painel do Licenciado:** Área de autoatendimento da licença, acessada com o e-mail da licença.
* **E-mail da licença:** Endereço de e-mail cadastrado na licença, usado para acessar o Painel do Licenciado e para receber as comunicações destes Termos.
* **App Tech Provider:** Aplicativo Meta (Facebook, Instagram e WhatsApp) de titularidade da ZPRO, oferecido para uso compartilhado pelos Clientes por meio da camada de conexão de canais.
* **App Próprio:** Aplicativo Meta criado e mantido pelo próprio Cliente, ou por seus Tenants, independente do App Tech Provider.
* **Agente de Servidor:** Programa da ZPRO que o Cliente pode instalar na VPS, por opção própria, para executar pelo Painel do Licenciado as ações descritas na cláusula 5.6.

### 2. NATUREZA E EFICÁCIA DOS TERMOS

**2.1.** Ao adquirir a Licença de Uso, o Cliente concorda integralmente com estes Termos. A aceitação destas regras é condição indispensável para a liberação do acesso, instalação e utilização do Sistema ZPRO.

**2.2.** A realização do pagamento ou o simples início da utilização do Sistema ZPRO implica, para todos os fins de direito, na aceitação plena, inequívoca e irrevogável de todas as condições estabelecidas nestes Termos e suas futuras atualizações.

**2.3.** O Cliente reconhece que estes Termos possuem força de contrato vinculante, substituindo quaisquer acordos verbais ou trocas de mensagens anteriores.

**2.4.** Pela teoria da aparência, a ZPRO considerará válida a contratação realizada mediante o fornecimento de dados cadastrais e pagamento, declarando o Cliente que a pessoa responsável pela compra possui plenos poderes para representá-lo.

**2.5.** A ZPRO poderá alterar estes Termos na forma do capítulo 11. O uso continuado do sistema após a entrada em vigor das alterações confirma a aceitação dos novos Termos.

### 3. REQUISITOS TÉCNICOS E CONDIÇÕES DE OPERAÇÃO

Para garantir a performance, segurança e estabilidade do Sistema ZPRO, o Cliente deve observar rigorosamente os seguintes requisitos técnicos.

**3.1. Requisitos da Estação de Trabalho (Usuário):** Recomendamos que o sistema operacional e o navegador do Usuário estejam atualizados. As máquinas utilizadas para acessar o painel devem satisfazer, no mínimo:

* **Memória (RAM):** 8GB ou mais.
* **Processador:** Intel i5 ou superior (ou equivalente).
* **Conexão:** Internet rápida e estável.

**3.2. Requisitos do Servidor (Infraestrutura VPS):** A VPS onde o sistema será instalado deverá satisfazer os seguintes requisitos mínimos obrigatórios:

* **Memória (RAM):** 16GB ou mais.
* **Processamento:** 4 vCPUs ou mais.
* **Latência:** 50ms ou menos (recomendado servidor no Brasil ou próximo).
* **Sistema Operacional:** Ubuntu 20.04, 22.04 ou 24.04 LTS (limpo, sem painel).
* **Armazenamento:** SSD ou NVMe a partir de 200GB.

**3.3. Documentação Técnica:** Os requisitos detalhados e atualizados constam no link oficial: <https://zpro.passaportezdg.com.br/requisitos-de-uso>.

**3.4. Versões Suportadas:** É crucial manter o sistema operacional e navegadores atualizados. As versões suportadas para conexão com a Plataforma WhatsApp são:

* API WhatsApp Business Account v24.0 (ou superior).
* WhatsApp Web v2.24xx.x (ou superior).

**3.5. Veracidade das Informações:** O Usuário deve fornecer informações verdadeiras, exatas e atuais. A ZPRO reserva o direito de recusar o cadastro ou cancelar contas cujos Usuários adotem condutas contrárias a estes Termos ou aos valores da empresa, sem necessidade de notificação prévia ou indenização.

**3.6. Protocolos de Conexão (API Oficial vs. Não Oficial):**

* **3.6.1. Padrão Recomendado:** A ZPRO foi desenvolvida para utilizar a **API Oficial do WhatsApp (WABA)** como padrão. A API Oficial garante maior estabilidade, segurança e suporte direto da Meta, sendo a única opção para a qual oferecemos garantia plena de funcionalidade.
* **3.6.2. APIs Não Oficiais (Riscos):** Para maior flexibilidade, o sistema permite integração com APIs Não Oficiais (WWebJS, Baileys, Meow, Evolution, Uazapi, Z-API, etc). O uso dessas APIs é de **total responsabilidade do Cliente**, que deve estar ciente dos riscos, incluindo:
  * Desconexões frequentes;
  * Perda de mensagens enviadas ou recebidas;
  * Instabilidade no funcionamento após atualizações do app WhatsApp;
  * Possíveis bloqueios ou banimentos de contas pela Meta.
* **3.6.3. Isenção de Garantia:** A ZPRO **não garante** a estabilidade, o desempenho ou o suporte técnico para problemas decorrentes exclusivamente do uso de APIs Não Oficiais. Ao habilitar essa conexão, o Cliente assume integralmente os riscos e isenta a ZPRO de responsabilidade por perdas ou danos.

**3.7. Serviços Centrais e Conectividade:** O Sistema ZPRO depende de comunicação regular com os Serviços Centrais para: (i) validar a licença, na inicialização, periodicamente e a cada acesso de usuário que não seja Super Admin; (ii) verificar a integridade dos seus arquivos na inicialização; (iii) obter a chave que protege as sessões de canais armazenadas na VPS; (iv) autorizar a conexão de canais; (v) receber, pela camada de conexão de canais, os eventos dos canais que a utilizam (cláusula 10.4.2); e (vi) emitir a credencial temporária usada no envio das notificações do aplicativo móvel (cláusula 10.4.3).

* **3.7.1.** A VPS deve permitir conexões de saída para os Serviços Centrais e, quando usados o instalador ou a ferramenta da cláusula 5.6, para os serviços de terceiros indicados no Aviso de Privacidade. Bloqueios de rede, DNS ou firewall que impeçam essa comunicação são de responsabilidade do Cliente.
* **3.7.2.** Na inicialização, o Sistema ZPRO só entra em funcionamento se conseguir validar a licença e verificar a integridade dos seus arquivos junto aos Serviços Centrais. Se qualquer dessas verificações não puder ser concluída, inclusive por indisponibilidade dos Serviços Centrais, o Sistema ZPRO se encerra, como medida de proteção contra adulteração, e só volta a funcionar quando elas puderem ser concluídas. Com o Sistema ZPRO em funcionamento, as verificações de integridade são feitas localmente, e as falhas de comunicação com os Serviços Centrais seguem a cláusula 3.7.3.
* **3.7.3.** Com o Sistema ZPRO em funcionamento, falhas sucessivas na validação da licença por cerca de 12 (doze) horas levam ao modo de recuperação descrito na cláusula 8.5. Enquanto a validação não puder ser concluída, novos acessos de usuários que não sejam Super Admin são recusados, e o Sistema ZPRO não volta a funcionar se for reiniciado (cláusula 3.7.2). Instalações novas têm 3 (três) dias para cadastrar a chave de licença; sem o cadastro nesse prazo, a validação passa a falhar e o Sistema ZPRO entra no modo de recuperação.
* **3.7.4.** A ZPRO empregará esforços razoáveis para manter os Serviços Centrais disponíveis e restabelecê-los com diligência. Indisponibilidades temporárias não geram direito a indenização ou reembolso, ressalvados os direitos assegurados ao Cliente consumidor pela legislação aplicável.

**3.8. Prazo de Funcionamento das Versões:** Cada versão do Sistema ZPRO tem data-limite de funcionamento, informada nas notas de versão. Atingida essa data, a versão pode deixar de aceitar acessos ao painel, de renovar sessões de usuários e de processar parte dos canais até que o Cliente instale versão mais recente, disponível sem custo durante a vigência da licença. A ZPRO avisará pelo e-mail da licença com antecedência mínima de 30 (trinta) dias.

### 4. DELIMITAÇÃO DE RESPONSABILIDADES E RELAÇÃO COM TERCEIROS

**4.1.** Estes Termos disciplinam exclusivamente a relação comercial entre a ZPRO e o Cliente (Licenciado).

**4.2. Responsabilidade sobre Equipe:** O Cliente é o único responsável pela seleção, contratação, remuneração e gestão de seus funcionários (Usuários/Atendentes) que utilizam a plataforma, isentando a ZPRO de qualquer vínculo trabalhista ou solidariedade.

**4.3. Responsabilidade sobre o Modelo White-Label (Tenants):** Considerando que o Cliente pode revender o uso do sistema (SaaS) sob marca própria:

* **4.3.1.** A ZPRO atua como fornecedora de tecnologia e não possui relação com os clientes finais (Tenants) do Cliente.
* **4.3.2.** O Cliente é o único responsável pelo suporte, cobrança e cumprimento legal perante seus próprios clientes. Qualquer disputa judicial iniciada por um Tenant deverá ser assumida integralmente pelo Cliente.

### 5. OBJETO E LICENÇA DE USO

**5.1. Objeto:** O contrato concede ao Cliente uma Licença de Uso de Software (Direito de Uso), não exclusiva, intransferível e temporária, do Sistema ZPRO, para instalação em servidor (VPS) do Cliente.

**5.2. Escopo:** A licença permite instalar o software, configurar o White-Label, criar usuários ilimitados (conforme capacidade do servidor), receber atualizações durante a vigência contratual e utilizar o Painel do Licenciado.

**5.3. Restrições:** Sob pena de cancelamento imediato e medidas judiciais, é vedado:

* a) Copiar, vender ou distribuir o código-fonte ou o instalador do sistema.
* b) Realizar engenharia reversa ou descompilação do código fonte.
* c) Sublicenciamento e Distribuição: Vender, alugar, doar ou transferir os arquivos de instalação, o código-fonte ou a chave de licença para que terceiros realizem a instalação em infraestrutura própria (pirataria).
* Única Modalidade Permitida (SaaS): A comercialização autorizada restringe-se exclusivamente à venda do acesso ao sistema (login/senha), com o software rodando obrigatoriamente em infraestrutura gerida pelo Cliente Licenciado.

**5.4. Natureza Self-Hosted:** O Cliente declara-se ciente de que a ZPRO fornece o **software**, não a infraestrutura. A gestão do servidor (VPS) é de responsabilidade do Cliente.

**5.5. Serviço de Setup de Instalação:** Além de disponibilizar o instalador automatizado, a ferramenta de Gestão de Servidores (cláusula 5.6) e tutoriais na área de membros, caso o Cliente opte pela instalação agendada, a ZPRO realizará, uma única vez, a instalação técnica remota do software no servidor indicado pelo Cliente. A execução deste serviço está condicionada, obrigatoriamente, à entrega do ambiente nas seguintes condições:

* **5.5.1. Estado do Servidor:** A VPS deve ser entregue **formatada (instalação limpa)**, contendo apenas o Sistema Operacional instalado, sem painéis de gestão (como cPanel, Plesk, CyberPanel) e sem outros serviços rodando (Apache, Nginx ou bancos de dados pré-instalados), para evitar conflitos de porta.
* **5.5.2. Especificações Obrigatórias:**
  * **Sistema Operacional:** Ubuntu Server nas versões 20.04, 22.04 ou 24.04 LTS.
  * **Hardware:** Mínimo de 16GB de memória RAM.
* **5.5.3. Dados para Execução:** O Cliente deverá fornecer previamente à equipe técnica:
  * I. IP da VPS e senha de acesso **SSH (usuário ROOT)**.
  * II. Definição dos 02 (dois) subdomínios para a aplicação (Ex: *app.dominio.com* para frontend e *api.dominio.com* para backend), já com os apontamentos DNS (Tipo A) direcionados para o IP da VPS.
  * III. E-mail de cadastro na ZPRO e número de WhatsApp para validação.
* **5.5.4. Método de Acesso:** A instalação é realizada exclusivamente via protocolos de terminal (SSH). **Não realizamos instalações via acesso remoto visual ou compartilhamento de tela (ex: AnyDesk, TeamViewer, Zoom)**, nem instalações em computadores locais (PC/Notebook).
* **5.5.5. Serviços Extra-Contratuais:** Reinstalações, atualizações, formatações, alterações de servidor ou migração de bancos de dados **executadas pela equipe técnica da ZPRO** não estão cobertas pela licença. A ZPRO não se obriga a realizar estes procedimentos, sendo a sua eventual execução mera liberalidade, sujeita à disponibilidade de agenda técnica e aprovação de orçamento extra. A instalação, a atualização e a volta de versão realizadas pelo próprio Cliente, pelo instalador ou pela ferramenta da cláusula 5.6 não dependem dessa liberalidade.
* **5.5.6. Prazo de Execução:** O prazo para realização da instalação pela equipe técnica é de até **03 (três) dias úteis**. A contagem deste prazo inicia-se exclusivamente após o envio completo e a **validação bem-sucedida** de todas as credenciais e requisitos técnicos necessários. Caso os dados fornecidos estejam incorretos ou o servidor apresente falhas de conexão, a solicitação entrará em pendência e o prazo será reiniciado a partir da regularização pelo Cliente.

**5.6. Gestão de Servidores pelo Painel do Licenciado (ferramenta opcional):**

* **5.6.1.** O Painel do Licenciado permite que o Cliente, se quiser, vincule sua VPS para instalar, atualizar, voltar versão, restaurar banco de dados, emitir certificado SSL, verificar a saúde da instalação, consultar registros (logs) do Sistema ZPRO e obter as credenciais da instalação, sem executar o instalador manualmente.
* **5.6.2.** O vínculo é feito pelo Cliente, de uma de duas formas: (i) informando no Painel o endereço da VPS e um acesso SSH com privilégio de administrador - usado uma única vez para instalar o Agente de Servidor e descartado, sem armazenamento; ou (ii) executando na VPS o comando fornecido pelo Painel.
* **5.6.3.** O Agente de Servidor roda na VPS com privilégio de administrador (root), consulta o Painel periodicamente e executa exclusivamente as ações de uma lista fechada, sempre a partir de comando dado pelo Cliente no Painel e assinado digitalmente pelo Painel. Além disso, o Agente informa periodicamente ao Painel o estado do servidor. Os pacotes do Sistema ZPRO e do Agente de Servidor são conferidos por assinatura digital da ZPRO antes da execução. A ZPRO não utiliza a ferramenta para executar ações na VPS sem comando do Cliente.
* **5.6.4.** Nas atualizações, o Agente de Servidor faz, na própria VPS, cópia de segurança do código e do banco de dados antes de alterar a instalação. Se, após a atualização, a verificação de saúde reprovar ao mesmo tempo o funcionamento do processo do Sistema ZPRO e as respostas da instalação, o Agente de Servidor tenta voltar automaticamente à versão anterior, restaurando o código e o banco de dados a partir da cópia feita antes da atualização; os dados gravados entre a atualização e a volta podem ser perdidos. As demais falhas apontadas pela verificação de saúde são informadas no Painel, sem volta automática. Essas cópias não substituem os backups periódicos do Cliente (cláusula 8.2).
* **5.6.5.** Vincular e desvincular servidor, instalar, atualizar, voltar versão, restaurar banco de dados e ler as credenciais da instalação exigem confirmação por código enviado ao e-mail da conta do Painel. Os servidores pertencem à licença: quem acessa o Painel com a licença vinculada comanda os servidores dela e vê o histórico de operações e os registros obtidos, inclusive por conta anteriormente vinculada. Manter segura a caixa do e-mail da licença é responsabilidade do Cliente.
* **5.6.6.** O Cliente pode desvincular o servidor a qualquer momento no Painel. A partir daí o Agente de Servidor deixa de receber comandos - apenas continua consultando o Painel a cada 10 (dez) minutos, sem que as informações enviadas sejam registradas - e pode ser removido da VPS pelo Cliente.
* **5.6.7.** A ferramenta não transfere à ZPRO a gestão da VPS (cláusula 5.4). A ZPRO responde por falhas da própria ferramenta nos limites da lei; falhas decorrentes do ambiente - espaço em disco, rede, DNS, alterações manuais ou softwares de terceiros - são de responsabilidade do Cliente. O uso da ferramenta não se confunde com acesso remoto da equipe técnica à máquina do Cliente (cláusula 7.4, IV).
* **5.6.8.** O tratamento de dados envolvido na ferramenta está descrito na cláusula 10.4 e no Aviso de Privacidade.
* **5.6.9.** Conforme a ação comandada, o Agente de Servidor e o instalador podem: (i) instalar e atualizar pacotes do sistema operacional e o ambiente de execução e ajustar configurações da VPS necessárias ao funcionamento, como atualização automática de pacotes, reinício automático de serviços, regras de firewall e memória de troca temporária; (ii) reiniciar a VPS quando o sistema operacional exigir, retomando a instalação em seguida; (iii) manter na própria VPS até 3 (três) cópias de segurança por instância; (iv) na restauração de banco, substituir o banco em uso, que é preservado com outro nome na VPS; (v) na volta de versão manual, desfazer as alterações de estrutura do banco introduzidas pela versão mais nova; e (vi) na reinstalação de uma instalação que não terminou, apagar dados, contêineres e volumes da tentativa anterior. Essas medidas podem afetar outros programas da VPS (cláusula 5.6.7).

**5.7. Painel do Licenciado e Domínios:**

* **5.7.1.** O Painel do Licenciado é o canal de autoatendimento da licença, acessado com o e-mail da licença por link ou código enviado a esse e-mail. Licenças são vinculadas e desvinculadas da conta automaticamente, conforme o e-mail cadastrado na licença; com mais de 5 (cinco) licenças no mesmo e-mail, o vínculo passa por análise manual. O Cliente também pode pedir, pelo Painel, o vínculo de licença cadastrada em outro e-mail; o pedido é analisado pela equipe da ZPRO.
* **5.7.2.** Pelo Painel, o Cliente gerencia os domínios licenciados e pode: travá-los; restringir a licença aos domínios cadastrados; e bloquear domínios, impedindo o uso da chave neles. A trava é ativada automaticamente na primeira alteração de domínios feita pelo Painel. Com a trava ativa, ou havendo domínios bloqueados ou restrição de domínios, a troca de domínio pela própria instalação fica indisponível.
* **5.7.3.** O Sistema ZPRO instalado em domínio bloqueado ou fora da restrição entra no modo de recuperação (cláusula 8.5). As configurações de domínio são de responsabilidade do Cliente.
* **5.7.4.** Pelo Painel, o Cliente também pode: (i) remover um número do monitoramento - medida temporária, pois o número volta ao cálculo do score de saúde na atualização seguinte se continuar conectado e informado pelo Sistema ZPRO (Anexo I, item 3); e (ii) desregistrar da API da Meta número conectado pelo App Tech Provider sob sua licença que esteja banido, restrito, desativado pela Meta ou com qualidade RED. O desregistro interrompe o envio e o recebimento de mensagens por aquele número até novo registro.
* **5.7.5.** A revelação da chave de licença e as ações sobre domínios, números e servidores ficam registradas na trilha de atividade da conta.

### 6. PLANOS, PAGAMENTO, RENOVAÇÃO E CANCELAMENTO

**6.1. Natureza da Contratação e Licença Anual:** A aquisição do Sistema ZPRO é realizada através da compra de uma Licença de Uso Anual, disponibilizada em diferentes categorias de Planos, conforme a finalidade de uso do Cliente.

* **6.1.1.** O valor da licença corresponde a um pagamento único referente ao ciclo de 12 (doze) meses.
* **6.1.2. Parcelamento ≠ Mensalidade:** Caso o Cliente opte pelo pagamento parcelado via cartão de crédito (ex: em 12 vezes), ele declara estar ciente de que não se trata de uma assinatura mensal cancelável, mas sim de uma única compra parcelada, assumindo o compromisso de quitar a integralidade das parcelas perante a operadora do cartão, independentemente da utilização efetiva do sistema durante todo o período.

**6.2. Escopo de Uso, Planos e Auditoria:** O limite de instâncias e os direitos comerciais de uso são estritamente determinados pela categoria do Plano adquirido pelo Cliente:

* **6.2.1. Modalidades de Licenciamento:**
  * **I. Plano "Uso Próprio" (Single-Tenant):** Concede o direito de ativação de apenas **01 (uma) instância (Tenant)** vinculada à chave de licença. Este plano é destinado exclusivamente à centralização e gestão do próprio negócio do Cliente, não havendo limites para a criação de usuários (atendentes) ou conexão de números telefônicos nesta mesma instância. **É expressamente vedada a revenda, sublocação ou criação de contas para terceiros nesta modalidade.**
  * **II. Plano "Para Revenda" (Multi-Tenant):** Concede o direito de criação e gestão de **múltiplas instâncias (Tenants)** de forma ilimitada. Este plano autoriza o Cliente a operar no modelo White-Label e revender acessos (SaaS) para múltiplos clientes finais. Todas as instâncias criadas devem estar vinculadas a subdomínios de um mesmo domínio raiz de titularidade do Cliente (ex: *app1.cliente.com*, *app2.cliente.com*), validado pela chave de licença no momento da ativação.
* **6.2.2. Intransferibilidade da Licença Matriz:** A licença (chave de ativação) é pessoal, intransferível e vinculada ao CPF/CNPJ do Cliente adquirente. Mesmo no Plano "Para Revenda", o Cliente comercializa apenas o *acesso (login)* aos seus Tenants, sendo expressamente vedado o compartilhamento ou repasse da chave de licença para ativação em servidores ou domínios raízes de terceiros.
* **6.2.3. Auditoria e Penalidades:** A ZPRO reserva-se o direito de verificar o cumprimento destas cláusulas a qualquer momento, com base nos dados técnicos enviados pelo Sistema ZPRO (cláusula 9.3) e nas demais informações da licença. A constatação de uso indevido - a exemplo de um Cliente do "Plano Uso Próprio" comercializando acessos a terceiros, ou ativações em domínios não autorizados - poderá acarretar a **suspensão da licença**, com os efeitos descritos na cláusula 8.5, e a cobrança proporcional à diferença de plano ou licenças extras utilizadas irregularmente.
* **6.2.4. Condições Especiais (Multi-domínio):** A critério exclusivo da ZPRO, poderão ser comercializadas licenças especiais ou oferecidos bônus promocionais que permitam a ativação em múltiplos domínios raízes dentro de uma mesma chave. Tais condições serão válidas apenas se expressamente descritas na oferta ou fatura correspondente.

**6.3. Renovação da Licença:** A licença possui validade de 1 ano a contar da data da compra. Para garantir a continuidade do uso, o Cliente deverá renovar a licença ao final do ciclo.

* **6.3.1. Renovação Automática (Assinatura):** O Cliente poderá optar, no momento da compra ou através do painel de controle, pela ativação da Renovação Automática. Neste modelo, a cobrança da nova anuidade será realizada automaticamente no método de pagamento cadastrado, garantindo a continuidade do serviço sem interrupções.
  * I. O Cliente pode desativar a renovação automática a qualquer momento antes da data de cobrança, sem penalidades, retornando ao modelo de renovação manual.
* **6.3.2. Antecipação de Renovação:** O Cliente poderá, a seu critério, antecipar a renovação da licença antes do vencimento. Neste caso, o novo período de 12 meses será acrescido à data final da licença vigente (somando-se ao prazo restante), limitado a um acúmulo máximo de 24 (vinte e quatro) meses de validade total da chave de licença.
* **6.3.3. Bloqueio por Falta de Renovação:** Caso não ocorra a renovação (manual ou automática) até a data de vencimento, a licença será desativada automaticamente no final do ciclo anual e o Sistema ZPRO entrará no modo de recuperação (cláusula 8.5): **o painel administrativo e as APIs ficam indisponíveis e o funcionamento de conexões, automações e integrações pode ser interrompido**, até que a regularização financeira seja efetuada. Na mesma ocasião, o acesso ao portal de suporte é desativado.

**6.4. Política de Cancelamento e Reembolso (Venda Anual):**

* **6.4.1. Prazo de Arrependimento (7 Dias):** Em conformidade com o Art. 49 do Código de Defesa do Consumidor, o Cliente poderá solicitar o cancelamento e o reembolso integral do valor pago em até 07 (sete) dias corridos após a data da compra inicial.
* **6.4.2. Irrevogabilidade após 7 Dias:** Decorrido o prazo de 7 dias, a licença é considerada plenamente entregue e consumada. **Não haverá reembolso, estorno ou cancelamento de parcelas vincendas (pro rata)** caso o Cliente decida deixar de usar o sistema antes do fim do período de 12 meses.
* **6.4.3.** O pedido de cancelamento efetuado após o prazo legal de arrependimento terá efeito apenas de **não renovação** para o próximo ciclo, permanecendo o sistema disponível para uso até o término da vigência já contratada e paga.

**6.5. Reajuste de Preços e Proteção de Valor:** A ZPRO reserva-se o direito de reajustar o valor da licença para novos licenciamentos ou renovações, visando preservar o equilíbrio econômico do serviço frente a variações de mercado, inflação ou custos operacionais.

* **6.5.1. Aviso Prévio:** Para Clientes com licença ativa, eventuais reajustes serão aplicados somente na data da próxima renovação. A ZPRO compromete-se a comunicar qualquer alteração de preço com antecedência mínima via e-mail ou painel administrativo.
* **6.5.2. Travamento de Preço (Price Lock):** O Cliente tem a opção de garantir o valor da tabela atual e proteger-se de futuros reajustes. Para isso, basta realizar a antecipação da renovação (conforme regras do item 6.3.2), o que permite "travar" o preço vigente pelo período contratado, até o limite máximo de 24 (vinte e quatro) meses acumulados.

**6.6. Custos Variáveis de Terceiros:** Os valores cobrados pela ZPRO referem-se exclusivamente à licença de software. Custos variáveis decorrentes de serviços de terceiros integrados à plataforma são de responsabilidade exclusiva do Cliente e podem sofrer alterações alheias à vontade da ZPRO, tais como:

* I. Tarifas da Meta/WhatsApp (janelas de conversação, WABA);
* II. Consumo de APIs de Inteligência Artificial (OpenAI, Anthropic, Google, Grok, etc);
* III. Serviços de SMS, Gateways de Pagamento e Provedores de VPS;
* IV. Consumo de APIs externas gerenciadas por terceiros (Hub Notificame, Uazapi, Z-API, etc).

**6.7. Inadimplência e Suspensão:** Na hipótese de falha no processamento de pagamentos parcelados ou estornos indevidos (Chargeback):

* I. A ZPRO suspenderá imediatamente o acesso à licença e ao suporte técnico.
* II. A ZPRO reserva-se o direito de recusar novas vendas a Clientes com histórico de inadimplência ou que tenham violado as regras de conduta e respeito com a equipe de suporte.

### 7. POLÍTICA DE SUPORTE TÉCNICO E SLA

Este capítulo define o escopo, canais, horários e procedimentos para o acionamento do suporte técnico.

**7.1. Canais e Horários:** O único canal oficial para solicitação de suporte técnico é o nosso portal de suporte (tickets). Contestações de suspensão e pedidos de revisão de decisões automatizadas também podem ser feitos pelo e-mail **<suporte@zdg.com.br>** (cláusulas 8.5.5 e 8.6).

* **Horário de Atendimento:** De Segunda a Sexta-feira, das **08h às 18h** (Horário de Brasília), exceto feriados nacionais.

**7.2. Tempo de Resposta (SLA):** Nosso prazo máximo para resposta a um novo chamado é de até **03 (três) dias úteis**, contados a partir da abertura do ticket.

**7.3. Escopo do Suporte (O que está incluso):** Nossa equipe está preparada e restrita para auxiliar com:

* I. Esclarecimento de dúvidas sobre o funcionamento e os recursos nativos do sistema ZPRO.
* II. Investigação e correção de bugs ou falhas no código do sistema.
* III. Auxílio em configurações relacionadas exclusivamente ao software ZPRO.

**7.4. Limitações (O que NÃO está incluso):** Para garantir a qualidade do atendimento, os seguintes itens estão **fora do escopo** do nosso suporte técnico padrão, sendo de responsabilidade do Cliente:

* I. Configuração, gestão, manutenção ou segurança do servidor (VPS) do cliente.
* II. Suporte para ferramentas de terceiros (Typebot, N8N, SIP, Webhooks externos, etc.).
* III. Criação de fluxos de chatbot, lógicas de atendimento, implementação de automações ou consultoria de negócios/marketing.
* IV. Acesso remoto da equipe técnica à máquina do cliente (por questões de privacidade e segurança), ressalvados o setup de instalação (cláusula 5.5) e o acesso temporário que a ZPRO, a seu critério, aceitar a partir de credenciais fornecidas voluntariamente pelo Cliente (cláusula 10.2.2). A ferramenta de Gestão de Servidores (cláusula 5.6) é operada pelo próprio Cliente e não se confunde com este item.
* V. Customizações de *frontend*, alterações de código ou design (CSS/HTML) de forma personalizada para o cliente.
* VI. Resolução de instabilidades ou falhas em APIs Não Oficiais. O funcionamento destas conexões depende de bibliotecas de terceiros e rotas não homologadas (simulação do WhatsApp Web), estando sujeitas a bloqueios e interrupções por parte da Meta que fogem ao controle técnico da ZPRO.
* VII. Suporte a ambientes locais e redes restritivas: Diagnóstico de problemas de conexão decorrentes de instalações em infraestrutura local (*Localhost*, servidores físicos on-premise, máquinas virtuais em PCs pessoais), bem como dificuldades relacionadas a redes sem IP público dedicado (CGNAT), túneis de conexão (Ngrok, Cloudflare Tunnel), *proxies* reversos customizados ou *firewalls* de borda corporativos que divirjam do ambiente padrão homologado (VPS Cloud com IP Público).

### 8. OBRIGAÇÕES, RESPONSABILIDADES E LIMITAÇÕES

**8.1. Obrigações da ZPRO:** Fornecer os arquivos de instalação, realizar o setup inicial, liberar atualizações (updates) de correção/segurança, manter os Serviços Centrais (cláusula 3.7) e prestar suporte técnico limitado ao funcionamento do software (bugs e dúvidas operacionais).

**8.2. Obrigações do Cliente:** Contratar e manter a VPS, realizar backups periódicos (a ZPRO não tem acesso aos dados armazenados na VPS, ressalvadas as hipóteses da cláusula 10.2.2), gerenciar as integrações de terceiros e administrar os usuários.

**8.3. Limitações sobre Integrações de Terceiros:** Conforme detalhado na Cláusula 3.6, a ZPRO não possui controle sobre serviços externos (Meta/WhatsApp, OpenAI, Gateways).

* **8.3.1.** A ZPRO não será responsabilizada por indisponibilidade, mudanças de política, bloqueios ou banimentos de números aplicados por terceiros.
* **8.3.2.** A indisponibilidade de serviços de terceiros não isenta o Cliente do pagamento da licença, nem gera direito a reembolso.
* **8.3.3.** O Cliente declara ciência dos termos de uso do WhatsApp: <https://www.whatsapp.com/legal/business-terms/>
* **8.3.4.** A ZPRO poderá, por razões técnicas, operacionais, de segurança, compliance ou exigências impostas por terceiros integradores (como Meta, Facebook, Instagram e WhatsApp), alterar, substituir, migrar ou descontinuar aplicativos, contas comerciais, estruturas de autenticação, métodos de onboarding, permissões, credenciais ou integrações utilizadas pela plataforma, sem que isso configure falha na prestação do serviço ou gere obrigação de indenização.
* **8.3.5.** O Cliente reconhece que alterações promovidas por terceiros poderão exigir procedimentos adicionais de reconexão, revalidação OAuth, recriação de canais, atualização de permissões ou migração de integrações já existentes, sendo tais medidas consideradas parte natural da operação de serviços dependentes de plataformas externas.
* **8.3.6.** A ZPRO não poderá ser responsabilizada por suspensões, restrições, revisões de compliance, perda de permissões, bloqueios temporários ou definitivos aplicados por terceiros integradores sobre aplicativos, contas comerciais, Business Managers, números ou estruturas utilizadas para integração com serviços externos.
* **8.3.7.** O Cliente reconhece que integrações OAuth, aplicativos compartilhados e estruturas vinculadas à Meta/Facebook/Instagram/WhatsApp poderão ser monitoradas pela ZPRO para fins de segurança, compliance e preservação operacional. Em caso de métricas críticas de qualidade, uso indevido, spam, risco de bloqueio coletivo ou violação das políticas da Meta, a ZPRO poderá aplicar medidas preventivas e corretivas, incluindo limitação, desassociação de canais, bloqueio de onboarding ou suspensão de integrações compartilhadas, conforme a Política de Uso do App Tech Provider (**Anexo I**), sem que isso gere direito a indenização ou reembolso. O Cliente permanece integralmente responsável pelas ações de seus usuários, tenants e clientes finais.

**8.4. Riscos Inerentes e Dependência Tecnológica:**

* **8.4.1.** O Cliente reconhece que o sistema está sujeito a interferências, mau funcionamento ou atrasos inerentes ao uso da internet e infraestrutura de servidores.
* **8.4.2.** O Cliente declara ter conhecimento desses riscos e concorda que falhas decorrentes de fatores externos não constituem defeito do software. Nestas hipóteses, não será devida pela ZPRO qualquer indenização por prejuízos, incluindo, mas não se limitando a: danos materiais, lucros cessantes, perda de uma chance ou danos morais.

**8.5. Suspensão, Bloqueio e Modo de Recuperação:**

* **8.5.1.** O Sistema ZPRO entra em **modo de recuperação** quando os Serviços Centrais consideram a licença inválida, nas hipóteses de: (a) licença vencida, cancelada ou suspensa por inadimplência ou estorno (cláusulas 6.3.3 e 6.7); (b) uso da chave em domínio não licenciado, bloqueado ou fora da restrição de domínios (cláusula 5.7); (c) violação das restrições da cláusula 5.3 ou do plano contratado (cláusula 6.2); ou (d) falha na validação da licença por cerca de 12 (doze) horas, ou falta de cadastro da chave em instalação nova após 3 (três) dias (cláusula 3.7.3). O modo de recuperação é aplicado na inicialização do Sistema ZPRO. Com o Sistema ZPRO em funcionamento, ele é aplicado: no bloqueio ou na restrição de domínio, na verificação periódica seguinte, em até cerca de 2 (duas) horas; nas demais hipóteses, após cerca de 12 (doze) horas de verificações periódicas sem validação, ou antes, se o Sistema ZPRO for reiniciado. Desde a constatação da invalidade, novos acessos de usuários que não sejam Super Admin são recusados.
* **8.5.2.** No modo de recuperação, o painel administrativo e as APIs ficam indisponíveis, com exceção da tela de regularização da licença, do acesso do Super Admin para cadastrar a chave, da página em que destinatários de e-mails enviados pelo Sistema ZPRO pedem o descadastro, dos arquivos públicos (como mídias e identidade visual) e das verificações técnicas de funcionamento. O funcionamento de canais, automações e integrações pode ser interrompido. O Sistema ZPRO sai do modo de recuperação automaticamente em até cerca de 10 (dez) minutos depois que a licença volta a ser validada, ou antes, pela tela de regularização.
* **8.5.3.** Se o Sistema ZPRO detectar alteração dos seus arquivos, remoção ou contorno dos mecanismos de validação, ou tentativa de examiná-lo em funcionamento com ferramentas de depuração, ele se encerra automaticamente e, em regra, envia alerta de segurança à ZPRO (cláusula 9.1.2).
* **8.5.4.** A ZPRO poderá suspender a licença manualmente em caso de pirataria, fraude, abuso ou risco à infraestrutura compartilhada (Anexo I), comunicando o Cliente pelo e-mail da licença.
* **8.5.5.** O Cliente pode contestar a suspensão pelo portal de suporte ou pelo e-mail **<suporte@zdg.com.br>**, este último obrigatório quando o acesso ao portal estiver desativado. A contestação é analisada por uma pessoa da equipe da ZPRO, que responderá em até 15 (quinze) dias (cláusula 8.6).

**8.6. Decisões Automatizadas e Revisão:** O Sistema ZPRO e os Serviços Centrais tomam decisões automatizadas que afetam o Cliente:

* (a) modo de recuperação (cláusula 8.5.1);
* (b) encerramento do Sistema ZPRO por adulteração ou por impossibilidade de concluir as verificações de inicialização (cláusulas 3.7.2 e 8.5.3);
* (c) score de saúde, alertas e bloqueio automático de novas conexões pelo App Tech Provider (Anexo I, itens 4 e 5);
* (d) desassociação e limitação automáticas de números oficiais (Anexo I, item 6);
* (e) remoção dos registros de roteamento de um canal quando a licença associada for considerada inválida em 3 (três) verificações seguidas - realizadas a cada 3 (três) dias e também após reinícios dos Serviços Centrais - ou após 90 (noventa) dias sem entrega; o canal deixa de receber eventos até que o registro seja refeito, o que o Sistema ZPRO faz automaticamente, uma vez por dia, para os canais Meta com licença válida, e que nas demais integrações depende de reconexão; e remoção do domínio personalizado de conexão quando, em 3 (três) verificações seguidas, a licença for considerada inválida ou o domínio deixar de apontar para os Serviços Centrais;
* (f) bloqueio por 1 (uma) hora, na camada de conexão de canais, do endereço IP que acumular 10 (dez) tentativas recusadas por falha na validação da licença em 15 (quinze) minutos, inclusive tentativas repetidas com a mesma chave e recusas causadas por indisponibilidade momentânea do sistema de licenciamento;
* (g) vínculo e desvinculação automáticos de licenças no Painel do Licenciado (cláusula 5.7.1);
* (h) bloqueio da licença na data do vencimento, com desativação automática, na mesma ocasião, do acesso do Cliente ao portal de suporte (cláusula 6.3.3);
* (i) emissão, renovação, alteração de plano e bloqueio da licença e concessão ou revogação de complementos, conforme os eventos informados pela plataforma de pagamento (cláusulas 6.3 e 6.7);
* (j) suspensão temporária da entrega de eventos a uma instalação após falhas seguidas de entrega (cláusula 10.4.2); e
* (k) interrupção do acesso em versão com prazo de funcionamento vencido (cláusula 3.8).

O Cliente pode pedir a revisão de qualquer dessas decisões por uma pessoa da equipe da ZPRO, pelo portal de suporte ou pelo e-mail **<suporte@zdg.com.br>**, informando a licença e a medida contestada, nos termos do art. 20 da LGPD. A ZPRO responderá em até 15 (quinze) dias.

### 9. PROPRIEDADE INTELECTUAL

**9.1. Titularidade da ZPRO:** O Sistema ZPRO, seu código-fonte, arquitetura de banco de dados, logotipos (da marca ZPRO), documentações, manuais e APIs são de propriedade intelectual exclusiva da ZPRO (Licenciante).

* **9.1.1.** A contratação da licença não transfere, em hipótese alguma, a titularidade ou os direitos autorais do software para o Cliente. O Cliente recebe apenas uma autorização de uso (Licença), limitada, revogável e não exclusiva.
* **9.1.2.** É vedado ao Cliente: (a) remover, ocultar ou alterar os avisos de copyright, exceto nas áreas explicitamente designadas para personalização visual (White-Label); e (b) remover, desativar ou contornar os mecanismos de validação de licença e de integridade embutidos no código-fonte e o envio dos dados técnicos descritos na cláusula 9.3.

**9.2. Titularidade do Cliente (White-Label e Dados):** Pertencem exclusivamente ao Cliente:

* I. A marca, logotipo e identidade visual aplicados sobre a plataforma no modelo White-Label.
* II. A base de dados de contatos, históricos de conversas e informações de seus clientes finais (Tenants).
* III. A estratégia de precificação e os contratos firmados com seus próprios clientes.

**9.3. Dados Técnicos e Auditoria:** Para validar a licença, proteger o Sistema ZPRO e a infraestrutura compartilhada, prestar suporte e acompanhar a compatibilidade das versões, o Sistema ZPRO troca com os Serviços Centrais os dados técnicos descritos no Aviso de Privacidade (item 3.3), entre eles: chave da licença; domínios e endereços da instalação e da VPS, inclusive IP; versão do Sistema ZPRO e identificador da instalação; quantidade de empresas (Tenants) com canais e de canais por tipo e situação; identificadores e endereços de retorno dos canais registrados na camada de conexão de canais; números de WhatsApp conectados pela API oficial e seus indicadores de qualidade; e eventos de segurança. Os dados cadastrais da licença retornam à instalação que apresentar a chave. Esses dados não incluem mensagens, conversas nem dados dos contatos atendidos armazenados na VPS. O envio integra o funcionamento da licença e não pode ser desativado (cláusula 9.1.2).

### 10. PRIVACIDADE E PROTEÇÃO DE DADOS (LGPD)

**10.1. Papéis das Partes (Definição de Controlador e Operador):** Para fins da Lei Geral de Proteção de Dados (Lei nº 13.709/2018):

* **10.1.1. ZPRO como Controladora:** A ZPRO atua como Controladora dos dados cadastrais do Cliente (nome, e-mail, CPF/CNPJ, telefone, domínio), dos registros de acesso e de atividade no Painel do Licenciado e dos dados técnicos da cláusula 9.3, utilizados para faturamento, validação da licença, funcionamento do Sistema ZPRO, preservação do App Tech Provider, suporte e cumprimento de obrigações legais.
* **10.1.2. Cliente como Controlador:** O Cliente é o único e exclusivo Controlador dos dados pessoais de terceiros (seus clientes finais/tenants, leads e contatos) que trafegam pelo Sistema ZPRO instalado em seu servidor, ressalvados os dados técnicos da cláusula 9.3 - como os números de WhatsApp conectados pela API oficial e os identificadores de canais -, que a ZPRO trata como Controladora, de forma independente, para as finalidades da cláusula 10.1.1.

**10.2. Acesso aos Dados do Cliente (Modelo Self-Hosted):** O Cliente reconhece que, devido à natureza auto-hospedada (*self-hosted*) do software:

* **10.2.1.** O banco de dados fica hospedado na infraestrutura (VPS) contratada pelo Cliente, sob sua guarda e responsabilidade.
* **10.2.2.** A ZPRO **não possui acesso** ao banco de dados, ao conteúdo das mensagens armazenadas, à lista de contatos ou a dados sensíveis processados pelo Cliente, exceto: (a) quando o Cliente fornece voluntariamente credenciais de acesso temporário para fins de suporte técnico; (b) no trânsito de eventos pela camada de conexão de canais (cláusula 10.4.2); e (c) quando o próprio Cliente solicita registros (logs) ou credenciais pela ferramenta de Gestão de Servidores (cláusula 5.6).

**10.3. Responsabilidade por Vazamentos:** Compete exclusivamente ao Cliente garantir a segurança de seu servidor (VPS), aplicando firewalls, atualizações de sistema operacional e boas práticas de segurança, e da caixa do e-mail da licença. A ZPRO não se responsabiliza por vazamentos de dados decorrentes de invasões, falhas de segurança na VPS ou engenharia social sofrida pelo Cliente ou sua equipe.

**10.4. ZPRO como Operadora:**

* **10.4.1.** A ZPRO atua como Operadora dos dados pessoais sob controle do Cliente, seguindo suas instruções, nas seguintes situações: (a) setup de instalação (cláusula 5.5); (b) acesso temporário para suporte (cláusula 10.2.2); (c) camada de conexão de canais (cláusula 10.4.2); (d) registros (logs) e credenciais da instalação obtidos pela Gestão de Servidores, quando utilizada pelo Cliente (cláusula 5.6); e (e) notificações do aplicativo móvel (cláusula 10.4.3).
* **10.4.2. Camada de conexão de canais:** Nos canais conectados pelo App Tech Provider e nas integrações que utilizam endereço de retorno da ZPRO (como Mercado Livre, OLX, LinkedIn, TikTok, WooCommerce e Nuvemshop), os eventos enviados pelas plataformas passam pelos Serviços Centrais, e pela rede de distribuição (CDN) contratada pela ZPRO, antes de chegarem à VPS. Esses eventos podem conter mensagens, identificação e nome de perfil de contatos, comentários, histórico de conversas, contatos do aplicativo WhatsApp Business e dados de pedidos. A ZPRO os repassa automaticamente, lê apenas os campos técnicos necessários ao roteamento, não os armazena e não os utiliza para nenhuma outra finalidade. A exceção é o registro de diagnóstico temporário, apagado em até 7 (sete) dias, usado para investigar falhas de entrega. Eventos que a VPS não receber ou recusar - inclusive por indisponibilidade, lentidão ou modo de recuperação do Sistema ZPRO - não são armazenados nem reenviados pela ZPRO; após 3 (três) falhas seguidas de entrega, a entrega para aquela instalação fica suspensa por 2 (dois) minutos, e os eventos desse período são descartados. O parâmetro de retorno das conexões feitas pela camada carrega a chave de licença e o endereço da instalação, conforme o Aviso de Privacidade. O Cliente que preferir que os eventos da Meta sigam diretamente para a VPS pode usar App Próprio.
* **10.4.3. Notificações do aplicativo móvel:** As notificações do aplicativo móvel do Sistema ZPRO são enviadas pelo Firebase Cloud Messaging (Google), em projeto da ZPRO. Elas podem conter o nome do contato e a prévia da mensagem recebida. A prévia vem ativada por padrão e pode ser desativada nas configurações da empresa no Sistema ZPRO.
* **10.4.4. Suboperadores:** O Cliente autoriza a ZPRO a utilizar, nessas situações, os suboperadores indicados nominalmente no Aviso de Privacidade - provedores de infraestrutura, rede de distribuição (CDN) e serviços do Google -, inclusive com processamento fora do Brasil, conforme o capítulo "Transferência internacional de dados" daquele Aviso. A ZPRO atualizará essa relação no Aviso de Privacidade antes de passar a utilizar novo suboperador nessas situações.
* **10.4.5. Obrigações do Cliente:** Cabe ao Cliente: (a) informar em seu aviso de privacidade o uso de operadores de tecnologia no atendimento, entre eles a licenciante do Sistema ZPRO - que pode ser identificada apenas pela razão social - e os suboperadores aplicáveis; (b) garantir base legal para o tratamento dos dados de seus contatos, inclusive quando trafegarem pelos Serviços Centrais; e (c) configurar a prévia das notificações conforme sua política de privacidade.
* **10.4.6. Incidentes:** A ZPRO comunicará ao Cliente, sem demora injustificada e, sempre que possível, em até 2 (dois) dias úteis contados do conhecimento, incidente de segurança que afete dados tratados como Operadora, com as informações disponíveis, para que o Cliente cumpra as obrigações de Controlador.

### 11. DISPOSIÇÕES GERAIS

A ZPRO informa que poderá, a qualquer momento, unilateralmente, modificar/atualizar estes Termos e Condições de Uso. Caso isso aconteça, o Cliente com licença vigente será notificado pelo e-mail da licença, e a versão atualizada valerá a partir de sua publicação, ressalvada a antecedência prevista no item 13 do Anexo I. A continuidade de acesso ou utilização do Sistema ZPRO pelo Cliente e por seus Usuários, depois da divulgação, confirmará a aceitação e vigência dos novos Termos e Condições de Uso.

**11.1. Comunicações:** Todas as comunicações, notificações e avisos serão considerados válidos quando enviados ao e-mail da licença ou aos demais endereços de e-mail cadastrados pelo Cliente no momento da compra, ou através de avisos no painel administrativo do sistema ou no Painel do Licenciado.

* **11.1.1.** Alertas de licença, de segurança e de qualidade dos canais oficiais são enviados ao e-mail da licença mesmo que o Cliente tenha se descadastrado de comunicações de marketing. E-mails não lidos ou filtrados como spam não suspendem os prazos informados neles.

**11.2. Tolerância:** A eventual tolerância da ZPRO em exigir o cumprimento de qualquer cláusula deste contrato não configurará novação, renúncia ou perdão de direitos, podendo a cláusula ser exigida a qualquer tempo (não aplicação do *supressio*).

**11.3. Conduta e Respeito:** A ZPRO preza pelo respeito mútuo. Reserva-se o direito de suspender o suporte técnico ou, em casos extremos, rescindir a licença caso o Cliente ou seus representantes tratem a equipe de atendimento com agressividade, ofensas, racismo, assédio ou qualquer comportamento inadequado.

**11.4. Cessão:** O Cliente não poderá ceder ou transferir este contrato a terceiros sem a prévia autorização por escrito da ZPRO. A ZPRO poderá ceder este contrato em caso de fusão, aquisição ou venda de ativos da empresa.

**11.5. Independência das Cláusulas:** Se qualquer disposição deste contrato for considerada inválida ou inexequível por um tribunal, as demais disposições permanecerão em pleno vigor e efeito.

### 12. FORO E LEGISLAÇÃO APLICÁVEL

**12.1.** Este contrato é regido pelas leis da República Federativa do Brasil, em especial pelo Código Civil e pelas Leis de Propriedade Intelectual e Software.

**12.2.** Fica eleito o foro da Comarca de **Alfenas - MG** como o único competente para dirimir quaisquer dúvidas ou litígios oriundos deste contrato, com renúncia expressa a qualquer outro, por mais privilegiado que seja ou venha a ser.

### ANEXO I - POLÍTICA DE USO DO APP TECH PROVIDER

Este Anexo integra os Termos e se aplica aos canais Meta (WhatsApp Business Platform, Facebook Messenger e Instagram) conectados pelo App Tech Provider. **Canais conectados por App Próprio não estão sujeitos a este Anexo.**

**1. Recurso compartilhado.** O App Tech Provider é compartilhado por todos os Clientes que o utilizam. Violações cometidas por um Cliente ou por seus Tenants podem levar a Meta a restringir o aplicativo inteiro, afetando todos os demais. Por isso a ZPRO monitora a qualidade dos números conectados e pode agir preventivamente, antes mesmo de a Meta aplicar restrições.

**2. Obrigações do Cliente.** Ao utilizar o App Tech Provider, em nome próprio ou de seus Tenants, o Cliente compromete-se a:

* (a) cumprir integralmente as políticas da Meta, incluindo as Políticas de Comércio, as Políticas do WhatsApp Business, as Diretrizes da Comunidade do Instagram e os Padrões da Comunidade do Facebook;
* (b) empenhar-se para manter seus números com qualidade **GREEN** (alta), agindo prontamente para corrigir números com qualidade YELLOW (média) ou RED (baixa) ou com restrição da Meta;
* (c) não realizar nem permitir envio em massa não solicitado, violação de opt-in, conteúdo enganoso, fraude ou prática que gere reclamações dos destinatários;
* (d) orientar seus Tenants quanto às boas práticas, respondendo integralmente pela conduta dos canais conectados sob sua licença;
* (e) acompanhar os alertas enviados ao e-mail da licença e adotar as medidas corretivas indicadas; e
* (f) não contornar os mecanismos de monitoramento, alerta, limitação, desassociação ou bloqueio deste Anexo, inclusive por adulteração do Sistema ZPRO ou uso de múltiplas licenças para fugir de sanções.

**3. Monitoramento.** A ZPRO acompanha os indicadores de qualidade da Meta - classificação de qualidade (GREEN, YELLOW ou RED), situação do número (conectado, restrito ou banido), decisão de revisão da conta e limite de mensagens - de todos os números conectados pelo App Tech Provider. Para isso, consulta a Meta a cada 6 (seis) horas e recebe do Sistema ZPRO um relatório por hora. Não entram no cálculo os números sem atualização há mais de 7 (sete) dias, os já desassociados do App Tech Provider e os removidos do monitoramento pelo Cliente no Painel do Licenciado (cláusula 5.7.4), enquanto o Sistema ZPRO não voltar a informá-los.

**4. Score de Saúde da Licença.** A ZPRO recalcula, a cada hora, o score de saúde de cada licença:

* o score parte de 100 (cem) pontos;
* cada número com qualidade YELLOW retira 25 (vinte e cinco) pontos;
* cada número com qualidade RED retira 35 (trinta e cinco) pontos;
* havendo número restrito pela Meta, o score fica limitado a 10 (dez) pontos;
* havendo número banido ou conta rejeitada na revisão da Meta, o score vai a 0 (zero).

Conforme o score, a licença é classificada em quatro faixas, com alertas enviados ao e-mail da licença:

| Faixa    | Score        | Alertas                                |
| -------- | ------------ | -------------------------------------- |
| Saudável | 90 a 100     | -                                      |
| Atenção  | 70 a 89      | a cada 7 (sete) dias                   |
| Alerta   | 40 a 69      | a cada 3 (três) dias                   |
| Crítica  | abaixo de 40 | diariamente, até o bloqueio automático |

Os alertas também são enviados sempre que a licença passar para uma faixa pior. O Cliente não pode desativá-los; eles ficam suspensos apenas enquanto vigorar o add-on do item 8 ou a suspensão do item 7.3.

**5. Bloqueio automático de novas conexões.** Se a licença estiver na faixa Crítica com um dos gatilhos abaixo, a ZPRO bloqueia automaticamente a conexão de **novos** canais Meta pelo App Tech Provider sob aquela licença quando o tempo contínuo da licença na faixa Crítica atingir o prazo indicado. O prazo é contado da entrada da licença na faixa Crítica, ainda que o gatilho tenha surgido depois; nesse caso, o bloqueio pode ser aplicado assim que o gatilho aparecer.

| Gatilho                                       | Tempo contínuo na faixa Crítica até o bloqueio |
| --------------------------------------------- | ---------------------------------------------- |
| 3 (três) ou mais números com qualidade YELLOW | 3 (três) dias                                  |
| 3 (três) ou mais números com qualidade RED    | 3 (três) dias                                  |
| Qualquer número restrito pela Meta            | 1 (um) dia                                     |
| Qualquer número banido pela Meta              | 1 (um) dia                                     |
| Conta rejeitada na revisão da Meta            | 1 (um) dia                                     |

A faixa Crítica sem nenhum desses gatilhos gera apenas alertas. O bloqueio é aplicado na janela de conexão do App Tech Provider e impede também a reconexão de canais feita por ela, mas não desconecta os canais já conectados, que seguem sujeitos ao item 6.

**6. Medidas automáticas por número.** O Sistema ZPRO aplica automaticamente, na instalação do Cliente, as seguintes medidas aos números conectados pelo App Tech Provider:

* conta rejeitada na revisão da Meta ou número restrito: **desassociação** do App Tech Provider na verificação seguinte, em até 1 (uma) hora;
* número com qualidade RED por 24 (vinte e quatro) horas: **desassociação**;
* número com qualidade YELLOW por 7 (sete) dias: **limitação do envio de mensagens de texto**, que passa a ser recusado sempre que o número tiver enviado, na última hora, quantidade igual ou superior a 10% (dez por cento) do limite de mensagens atribuído a ele pela Meta (por exemplo, 100 (cem) mensagens por hora para o limite de 1.000), ou a 5 (cinco) mensagens por hora quando a Meta não informar o limite, até que o número permaneça 7 (sete) dias com qualidade GREEN.

Os prazos deste item são contados da última alteração registrada nos indicadores do número. Número desassociado deixa de enviar e receber mensagens pelo App Tech Provider. Ele pode ser reconectado por App Próprio ou, se a conexão de novos canais não estiver bloqueada, novamente pelo App Tech Provider, hipótese em que volta a sofrer as medidas deste item enquanto a Meta mantiver a situação que as motivou.

**7. Desbloqueio.**

* **7.1. Cortesia (autoatendimento):** uma vez a cada 4 (quatro) meses, o Cliente pode desfazer o bloqueio automático de novas conexões na tela de Assinatura do Sistema ZPRO, desde que nenhum número mantenha ativo um dos gatilhos do item 5. A cortesia não exige o prazo do item 7.2 e não se aplica ao bloqueio manual do item 9. Se um gatilho voltar a ocorrer, o bloqueio automático volta a ser aplicado.
* **7.2. Revisão manual:** fora da cortesia, o desbloqueio depende de pedido pelo portal de suporte, ou em resposta ao e-mail de alerta, com plano de mitigação - medidas adotadas para evitar nova queda de qualidade e compromisso de monitoramento ativo. A ZPRO poderá aprovar, negar ou pedir complementos, e o desbloqueio só é aplicado depois de 30 (trinta) dias contados do bloqueio, salvo casos excepcionais avaliados pela ZPRO.
* **7.3.** A ZPRO poderá, a seu critério, suspender o bloqueio automático de uma licença específica.

**8. Recurso adicional "Score Blindado".** Enquanto esse recurso, contratado à parte, estiver ativo, o score continua sendo calculado e exibido, mas a licença fica isenta dos alertas, do bloqueio automático do item 5 - inclusive com a retirada do bloqueio automático já aplicado - e da limitação de envio do item 6. O recurso **não** isenta das desassociações do item 6 nem das medidas manuais do item 9.

**9. Medidas manuais.** Em caso de fraude, spam, abuso ou risco ao App Tech Provider, a ZPRO poderá bloquear manualmente a conexão de novos canais pela licença, desassociar canais e desregistrar números da API da Meta, comunicando o Cliente pelo e-mail da licença. O bloqueio manual prevalece sobre a cortesia e sobre o recurso do item 8.

**10. Reincidência.** Licenças que tiverem novas conexões bloqueadas novamente após um desbloqueio poderão ter o prazo de revisão ampliado ou ser definitivamente impedidas de usar o App Tech Provider, a critério da ZPRO.

**11. App Próprio.** O Cliente pode, a qualquer tempo, configurar App Próprio para seus canais. Essa é a única modalidade não sujeita a este Anexo e a forma recomendada de remediar um bloqueio sem aguardar a revisão manual.

**12. Responsabilidade.** O Cliente isenta a ZPRO de responsabilidade por perdas comerciais, lucros cessantes ou interrupção de operação decorrentes: (i) das medidas aplicadas conforme este Anexo; (ii) de restrições impostas pela Meta em razão de condutas atribuíveis ao Cliente ou a seus Tenants; e (iii) de atrasos na revisão manual causados por plano de mitigação inadequado ou incompleto. Se a Meta aplicar penalidade definitiva ao App Tech Provider em razão de conduta de um Cliente específico, a ZPRO poderá rescindir a licença e exigir indenização pelos danos causados.

**13. Alteração de parâmetros.** A ZPRO poderá alterar os parâmetros deste Anexo (pontuação, faixas, gatilhos e prazos) mediante comunicação ao Cliente com antecedência mínima de 15 (quinze) dias, exceto em emergência operacional para preservação do App Tech Provider.

**14. Revisão.** O Cliente pode pedir a revisão de qualquer medida deste Anexo nos termos da cláusula 8.6.


# Aviso de Privacidade

Dados coletados, papéis na LGPD (Controlador/Operador), modelo self-hosted e direitos do Titular

**Data de disponibilização: 22/05/2024**

**Última atualização: 15/09/2026**

*Versão vigente em: <https://ajuda.zdg.com.br/aviso-de-privacidade>*

A **BIANCA SANT ANA PEREIRA & CIA LTDA**, inscrita no CNPJ sob o nº 35.617.749/0001-67, com sede em Alfenas/MG (referida nos termos como "**ZDG**", **"ZPRO"** ou **"LICENCIANTE"**), criou este **Aviso de Privacidade** (o "**Aviso**") para explicar como trata dados pessoais quando você contrata, instala ou utiliza o **Z-PRO**, quando usa o **Painel do Licenciado** ou quando acessa o nosso **Site**.

O **Z-PRO** é um software omnichannel de gestão e automação de atendimento, licenciado em modelo **auto-hospedado (self-hosted)**: a ZDG entrega a licença e o instalador, e o Cliente roda o Software na própria infraestrutura (VPS). Para funcionar, o Software se comunica com serviços operados pela ZDG — validação de licença e camada de conexão de canais —, e o Cliente conta com o Painel do Licenciado para o autoatendimento da licença. Esse desenho é determinante para entender quem trata o quê — por isso há um capítulo dedicado ao tema mais adiante (ver o capítulo *Particularidades do modelo self-hosted*).

Este Aviso integra de forma indissociável os [**Termos e Condições de Uso do Z-PRO**](https://ajuda.zdg.com.br/termos-e-condicoes-de-uso). Em caso de dúvida ou para exercer seus direitos como Titular, fale conosco pelos canais informados ao final do documento.

### SUMÁRIO — INFORMAÇÕES QUE VOCÊ ENCONTRARÁ NESTE AVISO

* [1. Definições](#id-1.-definicoes)
* [2. A quem se aplica este Aviso](#id-2.-a-quem-se-aplica-este-aviso)
* [3. Quais dados coletamos e como](#id-3.-quais-dados-coletamos-e-como)
* [4. Finalidades do tratamento](#id-4.-finalidades-do-tratamento)
* [5. Bases legais aplicáveis](#id-5.-bases-legais-aplicaveis)
* [6. Com quem compartilhamos seus dados](#id-6.-com-quem-compartilhamos-seus-dados)
* [7. Particularidades do modelo self-hosted](#id-7.-particularidades-do-modelo-self-hosted)
* [8. Por quanto tempo guardamos seus dados](#id-8.-por-quanto-tempo-guardamos-seus-dados)
* [9. Como protegemos seus dados](#id-8.-por-quanto-tempo-guardamos-seus-dados)
* [10. Direitos do Titular e decisões automatizadas](#id-10.-direitos-do-titular-e-decisoes-automatizadas)
* [11. Cookies](#id-11.-cookies)
* [12. Transferência internacional de dados](#id-12.-transferencia-internacional-de-dados)
* [13. Encarregado e canais de contato](#id-13.-encarregado-e-canais-de-contato)
* [14. Alterações deste Aviso](#id-14.-alteracoes-deste-aviso)

### 1. Definições

Para facilitar a leitura, alguns termos usados ao longo deste Aviso:

* **Cliente.** Pessoa física ou jurídica que contrata a licença do Z-PRO e gerencia, sob sua responsabilidade, a VPS onde o Software é instalado.
* **Usuário.** Pessoa indicada pelo Cliente para utilizar o Z-PRO (administrador ou usuário interno) ou que apenas navega no Site.
* **Titular.** Pessoa natural a quem se referem os dados pessoais.
* **Controlador / Operador.** Conceitos da LGPD: o Controlador toma as decisões sobre o tratamento; o Operador trata os dados segundo as instruções do Controlador.
* **LGPD.** Lei nº 13.709/2018 — Lei Geral de Proteção de Dados Pessoais.
* **ANPD.** Autoridade Nacional de Proteção de Dados.
* **Site.** Domínios e subdomínios operados pela ZDG no contexto do Z-PRO. As páginas principais são o site corporativo ([https://zdg.com.br](https://zdg.com.br/)) e o site institucional do produto ([https://zpro.zdg.com.br](https://zpro.zdg.com.br/)); demais subdomínios da ZDG voltados a atendimento, documentação, treinamento de Clientes e canais correlatos estão igualmente cobertos por este Aviso. Produtos distintos do Z-PRO, como a **Comunidade ZDG**, são regidos por avisos de privacidade próprios.
* **Painel do Licenciado.** Área de autoatendimento da licença (<https://painel.zdg.com.br>), acessada com o e-mail vinculado à licença, onde o Cliente consulta a licença, gerencia domínios, acompanha canais e números e, se quiser, gerencia seus servidores.
* **Instalação.** Cada cópia do Software em funcionamento numa VPS do Cliente.
* **Serviços Centrais.** Servidores operados pela ZDG com os quais a Instalação, o Agente de Servidor e o Cliente se comunicam: sistema de licenciamento, camada de conexão de canais e Painel do Licenciado.
* **Camada de conexão de canais.** Parte dos Serviços Centrais que intermedeia a conexão de canais oficiais e de integrações de terceiros e encaminha à VPS do Cliente os eventos enviados por essas plataformas.
* **App Tech Provider / App Próprio.** O aplicativo Meta de titularidade da ZDG, oferecido para uso compartilhado pelos Clientes, e o aplicativo Meta criado e mantido pelo próprio Cliente ou por seus tenants, respectivamente.
* **Agente de Servidor.** Programa da ZDG que o Cliente pode instalar, por opção própria, na VPS para executar pelo Painel do Licenciado instalação, atualização, volta de versão, restauração de banco de dados, emissão de certificado e verificação de saúde, além de enviar, a pedido do Cliente, registros (logs) e credenciais da Instalação (item 3.6).
* **VPS (Virtual Private Server).** Servidor virtual contratado e custeado pelo próprio Cliente, junto a provedores de infraestrutura, onde o Z-PRO é instalado e operado sob exclusiva guarda do Cliente.
* **Plataforma WhatsApp.** Plataformas operadas pela WhatsApp LLC (grupo Meta Platforms, Inc.), integradas ao Z-PRO via API Oficial — arquitetura na qual a ZDG atua como **Tech Provider** certificado — ou via APIs não oficiais configuradas pelo Cliente, conforme [termos da plataforma](https://www.whatsapp.com/legal/).
* **Canais de Integração de Terceiros.** Redes sociais, mensageiros, marketplaces, CRMs, gateways de pagamento e demais sistemas integráveis ao Z-PRO via APIs, webhooks ou conectores, ativados e configurados sob exclusiva responsabilidade do Cliente, que atua como **Controlador** dos dados que decide trafegar por cada canal.
* **Plano de Assinatura.** Licença de uso do Z-PRO por período determinado, contratada pelo Cliente nas plataformas de pagamento parceiras.
* **Tratamento.** Qualquer operação realizada com dados pessoais (coleta, armazenamento, transmissão, eliminação etc.), nos termos do art. 5º, X, da LGPD.

### 2. A quem se aplica este Aviso

Este Aviso se aplica aos seguintes Titulares:

* **Visitantes do Site** e leads que preenchem formulários de contato;
* **Clientes** que contratam a licença de uso do Z-PRO, inclusive quando usam o Painel do Licenciado;
* **Usuários** indicados pelos Clientes para operar o Software.

Este Aviso **não se aplica** aos contatos finais (leads, clientes do Cliente, destinatários de mensagens) cujos dados o Cliente trafega pelo Z-PRO instalado em sua própria VPS. Em relação a esses dados, o **Cliente é o Controlador** — cabe a ele manter sua própria política de privacidade, obter os consentimentos cabíveis e atender às solicitações dos titulares. A ZDG atua como Operadora do Cliente em relação a esses dados apenas nas situações descritas no item 7.1 — por exemplo, quando eles passam pela camada de conexão de canais ou constam das notificações do aplicativo móvel.

### 3. Quais dados coletamos e como

A ZDG coleta dados pessoais em contextos distintos. Cada um tem fonte e finalidade próprias, descritas a seguir.

#### 3.1. Dados que você nos fornece diretamente

Quando você se cadastra para usar o Z-PRO, preenche formulários no Site ou interage com nossas redes sociais, coletamos:

* **Identificação e contato.** Nome, e-mail, telefone e CPF ou CNPJ (este último para faturamento e validação da licença).
* **Dados da licença.** Chave de licença (em alguns casos, o próprio e-mail informado na compra), plano, validade, número da fatura e observações do cadastro.
* **Dados recebidos das plataformas de pagamento.** Quando você compra, renova, é reembolsado ou contesta um pagamento, a plataforma nos informa automaticamente seu nome, e-mail, o produto e a oferta adquiridos e o identificador, a recorrência e a situação da transação. O número da transação e o nome do comprador são registrados nas observações da licença.
* **Credenciais de acesso.** Senha das plataformas da ZDG que a exigem (armazenada em hash; o Painel do Licenciado não usa senha) e registros de aceite dos Termos e deste Aviso.
* **Dados da instalação.** Domínio e subdomínios cadastrados pelo Cliente para vinculação da licença.
* **Mensagens espontâneas.** Quando você nos escreve, eventualmente armazenamos o conteúdo da mensagem para resposta e histórico de atendimento.
* **Foto de perfil de redes sociais.** Quando você fala conosco via WhatsApp, Instagram ou Facebook, a foto de perfil pode ficar visível ao nosso atendimento (não é extraída nem armazenada por nós).

#### 3.2. Dados coletados automaticamente no Site e no Painel

Durante a navegação no Site e o uso do Painel do Licenciado, registramos automaticamente:

* **Logs de acesso.** Endereço IP, data e hora das ações, dispositivo e navegador, guardados nos termos do art. 15 da Lei nº 12.965/2014 (Marco Civil da Internet). Nos registros de sessão e de atividade do Painel do Licenciado, por minimização, o endereço IP é guardado de forma parcial, apenas com a parte que identifica a rede; os registros técnicos do servidor web que hospeda o Painel contêm o endereço IP completo, pelo prazo previsto no capítulo 8.
* **Cookies.** Mecanismos e gestão de consentimento são detalhados no capítulo *Cookies* deste Aviso.

#### 3.3. Dados técnicos enviados pela Instalação

Em razão da natureza self-hosted do Z-PRO, a ZDG **não acessa o banco de dados** da VPS do Cliente. Para validar a licença, proteger o Software, operar os canais oficiais, prestar suporte e acompanhar a compatibilidade das versões, a Instalação troca com os Serviços Centrais os dados técnicos abaixo:

* **Validação da licença** — na inicialização, a cada entrada de Usuário no Software (exceto o superadministrador), antes de ações de conexão de canais, periodicamente ao longo do dia (em regra, a cada 2 (duas) horas, além de verificações complementares em intervalos variáveis), quando o Cliente consulta ou altera os dados da licença e, quando a licença está irregular, a cada 10 (dez) minutos, aproximadamente: chave de licença e endereços (URL) da Instalação. O sistema de licenciamento registra o endereço IP de origem, a data, a hora e a quantidade de verificações por endereço, o que permite estimar a atividade da Instalação. Na ativação e na troca de domínio, a Instalação envia os subdomínios cadastrados.
* **Retorno da validação** — em cada validação, o sistema de licenciamento devolve à Instalação que apresentar a chave os dados da licença (plano, validade, domínios e endereços IP autorizados e complementos contratados), além do nome e do e-mail cadastrados, do número da fatura e das observações do cadastro. A Instalação guarda esses dados, que nas versões atuais do Software ficam restritos ao superadministrador. Cabe ao Cliente manter a chave em sigilo.
* **Verificação de integridade** — na inicialização, o Software consulta a lista de verificação dos seus arquivos publicada pela ZDG e confere os arquivos instalados; durante o funcionamento, repete verificações locais periodicamente. Nessa etapa, nenhum conteúdo da VPS é enviado: a consulta informa apenas a versão e o identificador da compilação instalada, e o servidor consultado recebe o endereço IP da VPS.
* **Registro da Instalação** — no aceite dos Termos e ao gravar a chave de licença: endereços (URL) do painel e da API da Instalação, endereço IP do servidor e chave de licença.
* **Alertas de segurança** — quando o Software detecta alteração dos seus arquivos, falha de integridade, tentativa de examinar o Software em funcionamento com ferramentas de depuração ou tentativas repetidas e malsucedidas de validar a licença: tipo e descrição técnica do evento (como o nome do arquivo alterado e o identificador da compilação), endereço IP do servidor ou, quando a tentativa parte de uma tela do Software, o endereço IP de quem fez a solicitação, endereços do painel e da API da Instalação e, quando for o caso, a chave de licença e a quantidade de tentativas. Os alertas são enviados aos Serviços Centrais e, por e-mail, à equipe de segurança da ZDG.
* **Censo de canais** — a cada hora: chave de licença, endereço (URL) e identificador aleatório da Instalação, versão do Software, horário informado pela Instalação, quantidade de empresas (tenants) com canais e quantidade de canais por tipo e situação (conectado, desconectado, com erro, desligado automaticamente, conectado por App Próprio). A ZDG guarda também até 5 (cinco) endereços anteriores da Instalação. O censo **não** inclui nome, número ou identificador de canal, nem qualquer dado de contato.
* **Presença da Instalação** — na inicialização e a cada validação periódica bem-sucedida (em regra, a cada 2 (duas) horas), ao obter a chave que protege as sessões de canais: chave de licença, endereço da Instalação e data e hora ("visto por último").
* **Autorização de conexão de canais** — ao iniciar a sessão de um canal e periodicamente: chave de licença, endereço da Instalação, tipo do canal, identificadores internos (empresa e conexão) e, conforme o canal, o identificador técnico na plataforma ou no provedor (como o identificador da instância). Esses registros não são guardados; apenas o tipo do canal entra no censo.
* **Qualidade dos números oficiais** — a cada hora, para números de WhatsApp conectados pela API oficial: número de telefone em formato de exibição, identificadores da Meta (conta WhatsApp Business e número), classificação de qualidade, limite de mensagens, situação do número e decisão de revisão da conta. A ZDG complementa esses dados consultando a própria Meta a cada 6 (seis) horas. Os números conectados por App Próprio também constam do envio, identificados como tais, mas são descartados no recebimento: não são armazenados nem considerados no score de saúde, e a ZDG registra apenas a quantidade desses números e o fato de a licença usar App Próprio. Números de canais excluídos são informados como desassociados.
* **Contato para alertas** — ao validar a licença, a camada de conexão de canais guarda cópia do nome e do e-mail cadastrados na licença, para os alertas do Anexo I dos Termos de Uso, e define o idioma desses alertas pelo domínio do e-mail. O Cliente pode pedir a troca do idioma.
* **Registros de roteamento** — ao conectar ou remover canal que usa a camada de conexão de canais: identificador técnico do canal na plataforma (Meta, Mercado Livre, OLX, LinkedIn, TikTok, WooCommerce ou Nuvemshop; para 360dialog e Gupshup, somente na transferência do canal entre Instalações), endereço de entrega na VPS e chave de licença.
* **Domínio personalizado de conexão** — quando o Cliente cadastra domínio próprio para as janelas de conexão, e depois duas vezes por dia: nome do domínio, endereço da Instalação e chave de licença.
* **Consultas de licença e de saúde** — a cada 5 (cinco) minutos enquanto o superadministrador estiver com o Software aberto, e ao usar ações de números e de desbloqueio: chave de licença e endereço da Instalação. A resposta traz a situação da licença e os números oficiais com seus indicadores.
* **Autorização de notificações** — periodicamente, quando há aparelhos com o aplicativo móvel: chave de licença, endereço e identificador aleatório da Instalação.
* **Desregistro e remoção de números** — quando solicitados pelo Cliente: identificador do número e chave de licença.
* **Parâmetros de execução e consulta de versão** — na inicialização e sob demanda: a Instalação recebe da ZDG parâmetros técnicos e a situação da versão instalada, esta obtida de arquivo publicado pela ZDG em plataforma de hospedagem de código de terceiro. Essas consultas expõem ao servidor consultado o endereço IP da VPS e, no caso dos parâmetros, também o endereço (URL) da Instalação e a chave de licença.

Os dados técnicos de qualquer Instalação que use uma chave — endereços, números e canais — ficam visíveis ao titular da licença no Painel do Licenciado. Esses dados são tratados exclusivamente para as finalidades descritas no capítulo 4.

#### 3.4. Camada de conexão de canais

* **Eventos em trânsito.** Nos canais conectados pelo **App Tech Provider** (WhatsApp Business Platform, Instagram e Facebook Messenger) e nas integrações que utilizam endereço de retorno da ZDG — para onde a plataforma envia os eventos — (como Mercado Livre, OLX, LinkedIn, TikTok, WooCommerce e Nuvemshop), os eventos enviados pelas plataformas passam pelos servidores da ZDG, e pela rede de distribuição (CDN) contratada por ela, antes de chegarem à VPS do Cliente. Esses eventos podem conter mensagens, identificação e nome de perfil de contatos, comentários, histórico de conversas, contatos do aplicativo WhatsApp Business e dados de pedidos. A ZDG repassa esses eventos de forma automática, lê apenas os campos técnicos necessários para validar a origem do evento, evitar entregas em duplicidade e identificar a Instalação de destino, não armazena o conteúdo e não o utiliza para nenhuma outra finalidade. Eventos que a VPS não receber ou recusar não são guardados nem reenviados.
* **Diagnóstico.** Excepcionalmente, para investigar falhas de entrega, a ZDG pode ativar um registro de diagnóstico que inclui o conteúdo dos eventos e o endereço IP e a identificação do remetente de cada chamada. Esse registro tem acesso restrito à equipe técnica e é apagado em até 7 (sete) dias.
* **Conexão de contas (OAuth).** Durante a conexão e, depois dela, a cada renovação automática do acesso — nas plataformas acima e também no Google (Gmail, Google Agenda e YouTube) —, trafegam pelos Serviços Centrais, sem armazenamento em base de dados, os códigos e as credenciais da plataforma (tokens de acesso e de renovação, chaves e segredos de aplicativo, inclusive de aplicativo próprio do Cliente nas integrações que usam a camada) e dados do perfil da conta conectada (nome, nome de usuário, e-mail e páginas administradas). O mesmo vale para o cadastro manual de credenciais de canais oficiais e de provedores. Os registros técnicos dos Serviços Centrais podem conter, para diagnóstico, o nome, o nome de usuário, o e-mail ou o identificador da conta conectada e os nomes das páginas administradas.
* **Parâmetros das páginas de conexão.** Para que a conexão retorne à Instalação correta, o parâmetro de retorno enviado à plataforma conectada contém o endereço da Instalação e a chave de licença; ele é protegido contra alteração, mas não é cifrado, e pode ser registrado pela plataforma conforme a política dela. Em alguns fluxos de configuração de canais Meta — inclusive por App Próprio —, o token de acesso do canal e os códigos de verificação também integram o endereço da página de configuração. Por isso, esses dados podem constar do histórico do navegador e dos registros técnicos de acesso dos Serviços Centrais e da rede de distribuição, pelo prazo do capítulo 8.
* **Páginas de conexão.** As janelas de conexão de canais são páginas dos Serviços Centrais abertas no navegador do Usuário. Para concluir a configuração, elas recebem do Software o token de sessão do Usuário, usado apenas no navegador para falar com a Instalação e mantido somente enquanto a aba estiver aberta. As páginas de conexão Meta carregam o SDK do Facebook, que pode gravar cookies próprios.
* **Domínios personalizados.** Quando o Cliente cadastra domínio próprio para as janelas de conexão, guardamos o domínio, o endereço da Instalação e a chave de licença enquanto o domínio estiver cadastrado e válido.
* **App Próprio.** Quando o Cliente usa App Próprio, os eventos da Meta seguem diretamente para a VPS, sem passar pela camada de conexão de canais. A configuração do endereço de retorno e o cadastro das credenciais desse aplicativo são feitos por intermédio dos Serviços Centrais, com as credenciais em trânsito e sem armazenamento em base de dados, e a Instalação continua solicitando periodicamente a autorização de funcionamento do canal (item 3.3).

#### 3.5. Painel do Licenciado

Quando você usa o Painel do Licenciado, tratamos:

* **Conta.** O e-mail digitado para entrar é conferido no sistema de licenciamento; havendo licença para ele, a conta é criada nesse momento. Guardamos o e-mail de acesso (de forma cifrada) e as datas de criação e do último acesso. O acesso é feito por link ou código enviado ao e-mail; não há senha.
* **Sessões.** Endereço IP parcial e identificação do navegador de cada sessão e de cada pedido de link ou código de acesso.
* **Trilha de atividade.** Registro das ações da conta, com data, hora e endereço IP parcial: entradas e saídas, pedidos de link e de código, tentativas de entrada em outro navegador, revelação da chave de licença, alterações de domínios, travas e bloqueios de domínio, ações sobre números, pedidos de vínculo e ações sobre servidores — inclusive a entrega da chave de licença ao Agente de Servidor e o resultado das operações, com nome do servidor, usuário SSH informado, domínios da Instalação e e-mail do certificado mascarado.
* **Pedidos de vínculo.** Quando você pede para vincular uma licença à conta, guardamos o pedido, a observação que você escrever, a data e o endereço IP parcial. O pedido é encaminhado por e-mail à nossa equipe, com o e-mail da conta, a licença mascarada e a observação.
* **Informações da licença.** O Painel exibe dados que vêm do sistema de licenciamento e da camada de conexão de canais: validade, domínios, instalações e endereços em que a licença foi usada, censo de canais, números e indicadores de qualidade e situação da licença, inclusive a data de início do relacionamento — reconstituída, nas licenças antigas, a partir dos registros do sistema de licenciamento — e a indicação de uso de App Próprio.
* **Roadmap e sugestões.** Ao abrir a aba de roadmap ou seus atalhos, o navegador carrega a plataforma de sugestões contratada pela ZDG, que recebe dados técnicos de navegação (como endereço IP e navegador). Quando o acesso integrado estiver ativo, também são enviados seu e-mail, um nome formado a partir da parte do e-mail antes do "@" e um identificador da conta, para que você entre sem novo cadastro. Esse nome fica visível aos demais Clientes junto das sugestões, comentários e votos que você publicar.

#### 3.6. Gestão de servidores pelo Painel (opcional)

Se o Cliente decidir vincular sua VPS ao Painel do Licenciado:

* **Cadastro.** Tratamos o endereço da VPS e a credencial de acesso SSH informada (senha ou chave). Essa credencial é usada **uma única vez**, apenas em memória, para instalar o Agente de Servidor, e é descartada em seguida — **nunca é gravada**. Guardamos a impressão digital da chave que identifica o servidor, o nome dado ao servidor, o nome da máquina e o endereço IP parcial.
* **Estado do servidor.** A cada 30 (trinta) segundos, aproximadamente, o Agente informa: versão do Agente e do Software de cada instância, nome da máquina, tempo desde o último reinício, tipo de instalação, nomes das pastas das instâncias, situação e número de reinícios dos processos, versão anterior disponível para volta, espaço em disco, memória, reinício pendente, instalação em andamento e operação em curso. Registramos também o endereço IP parcial de origem.
* **Operações.** Guardamos o andamento e o resultado de cada operação (instalação, atualização, volta de versão, restauração, certificado, saúde), incluindo o registro de execução do instalador, do qual são removidas, por filtro automático, senhas e chaves. Esses registros podem conter os domínios da Instalação e o endereço IP público da VPS.
* **Logs e credenciais.** A pedido do Cliente, o Agente envia até 500 (quinhentas) linhas do registro (log) do Software. Esse registro pode conter dados pessoais dos contatos do Cliente. Também a pedido do Cliente, o Agente envia as credenciais da Instalação (configuração do backend e do banco de dados), cifradas na própria VPS com uma chave temporária. Elas são decifradas apenas no momento de exibição ao Cliente e apagadas após a primeira leitura ou em 15 (quinze) minutos, o que ocorrer primeiro.
* **Operação de instalação.** Ao instalar o Software, o Agente recebe a chave de licença e o e-mail informado para o certificado, este guardado de forma cifrada nos Serviços Centrais. A VPS usa esse e-mail para registrar os certificados dos domínios da Instalação na autoridade certificadora Let's Encrypt, e os nomes dos domínios passam a constar dos registros públicos de transparência de certificados.
* **Serviços de terceiros usados pela VPS.** Para instalar, atualizar e conferir a configuração, o Agente de Servidor e o instalador fazem, a partir da VPS, consultas e downloads em serviços de terceiros: serviços públicos de consulta de endereço IP, para confirmar que os domínios apontam para a VPS; o serviço de armazenamento de arquivos onde a ZDG publica os pacotes de instalação assinados; os repositórios oficiais do sistema operacional, do ambiente de execução e de contêineres; e o repositório público onde a ZDG publica a situação das versões. Esses serviços recebem o endereço IP da VPS e dados técnicos da conexão, e nenhum dado dos contatos do Cliente.
* **Titularidade.** Servidores, operações, registros e credenciais pertencem à licença: qualquer conta com a licença vinculada — inclusive após troca do e-mail da licença ou vínculo aprovado pela equipe — acessa o histórico e os registros guardados, observados os prazos do capítulo 8.

#### 3.7. Aplicativo móvel e notificações

O aplicativo móvel do Z-PRO, publicado pela ZDG nas lojas de aplicativos, conecta-se ao endereço da Instalação informado pelo Usuário e guarda no aparelho esse endereço, o nome exibido e as preferências de uso. Login, mensagens, fotos, vídeos, áudios e arquivos trafegam diretamente entre o aparelho e a VPS do Cliente, Controlador desses dados, e a ZDG não os recebe. O aplicativo pede acesso à câmera e ao microfone apenas para os recursos que os usam. As lojas de aplicativos tratam dados de instalação e uso conforme suas próprias políticas.

A Instalação envia as notificações do aplicativo pelo **Firebase Cloud Messaging (Google)**, em projeto mantido pela ZDG. Cada notificação contém o identificador do aparelho, um título (nome do contato ou do canal ou, no chat interno, do Usuário remetente), um texto (prévia da última mensagem recebida, inclusive o nome de documentos, ou trecho da mensagem do chat interno) e identificadores do atendimento. A prévia das mensagens de contatos vem ativada por padrão e pode ser desativada pela empresa nas configurações do Software; as notificações do chat interno dependem de ativação própria pela empresa. Os Serviços Centrais fornecem apenas a autorização de envio e **não recebem** o conteúdo das notificações.

#### 3.8. Comunicações automáticas

Enviamos ao e-mail da compra ou da licença: a chave de licença e sua validade, na emissão e em cada renovação; a confirmação de complementos contratados; o aviso de vínculo de licença a uma conta do Painel; avisos de vencimento e de bloqueio da licença; alertas de qualidade e de bloqueio dos canais oficiais; e os e-mails transacionais do Painel do Licenciado (links de acesso e códigos de confirmação). Guardamos o registro de envio dos avisos e alertas automáticos: destinatário, data, tipo e resultado da entrega. Pedidos de vínculo e eventos de venda, reembolso e bloqueio geram comunicação interna à equipe da ZDG com nome e e-mail do comprador.

#### 3.9. Extensão de navegador para vincular canais

Se o Cliente optar por vincular um canal não oficial pela extensão de navegador disponibilizada pela ZDG, a extensão lê, no navegador do Usuário e apenas na página do WhatsApp Web, as credenciais da sessão já autenticada e o número a ela associado, e as entrega à página de vinculação aberta a partir do Software ou de aplicação parceira autorizada pela ZDG, que as trata conforme sua própria política. As credenciais permitem operar a conta de WhatsApp e são repassadas, no próprio navegador, ao sistema de destino. Os Serviços Centrais recebem apenas os dados necessários para conferir a licença e o pedido de vinculação e **não recebem nem armazenam** as credenciais. Após a confirmação do destino, a sessão é removida do navegador.

### 4. Finalidades do tratamento

Tratamos os dados acima exclusivamente para as finalidades abaixo. Qualquer tratamento para finalidade não prevista neste Aviso dependerá de nova base legal ou novo consentimento.

* **Operação do contrato.** Identificar Cliente e Usuário, emitir, renovar e faturar a licença, validar a licença, prestar suporte técnico e comunicar aspectos contratuais (renovações, alterações de plano, comunicados oficiais).
* **Funcionamento do Software.** Validar a licença e a integridade dos arquivos, fornecer a chave que protege as sessões de canais, autorizar a conexão de canais, controlar o prazo de funcionamento de cada versão e enviar parâmetros técnicos às Instalações.
* **Operação da camada de conexão de canais.** Entregar à VPS certa os eventos enviados pelas plataformas e intermediar a conexão de contas.
* **Preservação do App Tech Provider.** Monitorar a qualidade dos números oficiais, calcular o score de saúde de cada licença, enviar alertas e aplicar as medidas previstas nos Termos de Uso, protegendo a infraestrutura compartilhada com a Meta.
* **Suporte e evolução do produto.** Conhecer as versões em uso, a adoção de cada tipo de canal e a ocorrência de erros, para priorizar correções, planejar compatibilidade e orientar o suporte.
* **Autoatendimento.** Operar o Painel do Licenciado, inclusive a gestão de domínios, números e servidores feita pelo próprio Cliente.
* **Comunicação institucional e marketing.** Responder dúvidas, enviar conteúdos e novidades sobre o Z-PRO, mensurar campanhas e segmentar comunicação — sempre com possibilidade de descadastro (opt-out).
* **Segurança e prevenção a fraudes.** Identificar tentativas de pirataria, adulteração, abuso e fraude e proteger a integridade da infraestrutura compartilhada com a Meta.
* **Cumprimento de obrigações legais.** Atender ordens judiciais, requisições da ANPD e demais obrigações legais (em especial o Marco Civil da Internet).
* **Exercício regular de direitos.** Defesa em processos judiciais, administrativos ou arbitrais.
* **Mensuração e melhoria do Site.** Analisar tráfego, comportamento de visitantes e desempenho de páginas e campanhas, observado o regime de consentimento descrito no capítulo *Cookies*.

### 5. Bases legais aplicáveis

Cada finalidade encontra base legal na LGPD, conforme a tabela abaixo:

| Dados                                                                                                                                                                                                           | Finalidade                                                                         | Base legal (LGPD)                                                                                                 |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Cadastro de Cliente e Usuário; dados da licença e dados recebidos das plataformas de pagamento                                                                                                                  | Formação e execução do contrato de licença do Z-PRO                                | Execução de contrato (art. 7º, V)                                                                                 |
| Comunicação com Titular e marketing direto                                                                                                                                                                      | Atendimento, comunicação contratual e promocional                                  | Execução de contrato (art. 7º, V) e legítimo interesse (art. 7º, IX), com opt-out                                 |
| Logs de IP, sessão, dispositivo e navegador                                                                                                                                                                     | Segurança, registro de atividades e cumprimento do Marco Civil da Internet         | Obrigação legal (art. 7º, II) e legítimo interesse (art. 7º, IX)                                                  |
| Dados de validação de licença, integridade, registro da Instalação, presença, autorização de conexão de canais, registros de roteamento, parâmetros de execução e alertas de segurança                          | Funcionamento do Software, prevenção a pirataria e adulteração, defesa de direitos | Execução de contrato (art. 7º, V), legítimo interesse (art. 7º, IX) e exercício regular de direitos (art. 7º, VI) |
| Censo de canais                                                                                                                                                                                                 | Suporte, compatibilidade e evolução do produto                                     | Legítimo interesse (art. 7º, IX), com contagens agregadas por Instalação                                          |
| Números oficiais, indicadores de qualidade, contato para alertas e score de saúde                                                                                                                               | Preservação do App Tech Provider e proteção da infraestrutura compartilhada        | Execução de contrato (art. 7º, V) e legítimo interesse (art. 7º, IX)                                              |
| Conta, sessões, trilha de atividade, pedidos de vínculo e cadastro de servidores no Painel do Licenciado; acesso ao roadmap; registro de envio de e-mails                                                       | Autoatendimento, comunicação contratual e segurança das ações                      | Execução de contrato (art. 7º, V) e legítimo interesse (art. 7º, IX)                                              |
| Dados de contatos finais tratados pela ZDG como Operadora (eventos da camada de conexão de canais, logs pedidos pelo Cliente na gestão de servidores e notificações do aplicativo móvel enviadas pelo Firebase) | Execução do serviço contratado pelo Cliente                                        | Tratamento como Operadora, sob instruções do Cliente, a quem cabe definir a base legal                            |
| Cookies estritamente necessários ao Site, ao Painel e às páginas de conexão                                                                                                                                     | Funcionamento técnico e segurança da navegação                                     | Legítimo interesse (art. 7º, IX)                                                                                  |
| Cookies opcionais (estatísticos, de marketing e funcionais)                                                                                                                                                     | Mensuração, personalização e direcionamento publicitário                           | Consentimento (art. 7º, I)                                                                                        |

Você pode revogar consentimentos a qualquer tempo e se opor a tratamentos baseados em legítimo interesse pelos canais informados ao final deste Aviso. Os dados técnicos enviados pela Instalação (item 3.3), inclusive o censo de canais, integram o funcionamento da licença (cláusulas 9.1.2 e 9.3 dos Termos de Uso); pedidos de oposição a esse tratamento serão analisados e respondidos com os fundamentos da decisão.

### 6. Com quem compartilhamos seus dados

A ZDG compartilha dados pessoais apenas com terceiros indispensáveis à operação do Z-PRO, do Site, do Painel do Licenciado e dos Serviços Centrais. Esses terceiros se enquadram em três grupos: (i) **Operadores**, que tratam dados sob nossas instruções; (ii) **Controladores parceiros**, que tratam dados de forma autônoma para fins próprios; e (iii) **Controladores independentes** acionados pelo próprio Cliente.

#### 6.1. Operadores

Os Operadores contratados pela ZDG são organizados em categorias funcionais. Exigimos deles padrões mínimos de segurança da informação compatíveis com a LGPD.

* **Infraestrutura no Brasil.** VPS corporativa, Painel do Licenciado, automações internas, e-mail técnico e um dos servidores da camada de conexão de canais — **Hostinger Brasil Hospedagem de Sites LTDA** ([política de privacidade](https://www.hostinger.com/br/legal/privacy-policy/)).
* **Sistema de licenciamento e segundo servidor da camada de conexão de canais.** VPS que valida licenças e recebe parte dos dados técnicos descritos no capítulo *Quais dados coletamos* — **Hetzner Online GmbH**, em datacenter nos **Estados Unidos** (entra em transferência internacional, ver capítulo *Transferência internacional de dados*).
* **Rede de distribuição (CDN), proxy reverso e proteção anti-spam** — utilizada na hospedagem do Site institucional e na entrada da camada de conexão de canais, onde processa em trânsito os eventos descritos no item 3.4; na camada de conexão de canais, **Cloudflare**.
* **E-mail e produtividade** — e-mail corporativo, envio dos e-mails automáticos de licença, segurança e do Painel do Licenciado, planilhas e documentos usados internamente — **Google**.
* **Notificações do aplicativo móvel** — **Google Firebase Cloud Messaging** (item 3.7).
* **Plataforma de roadmap e sugestões** — recebe o e-mail, um nome formado a partir dele e o identificador do Cliente que abre a aba de roadmap do Painel — **Upvoty**, com servidores na União Europeia.
* **Certificados digitais** — emissão de certificados para os domínios da Instalação, pelo instalador ou pelo Agente de Servidor, e para domínios personalizados cadastrados na camada de conexão de canais — **Let's Encrypt**, que recebe, na emissão feita pela VPS, o e-mail informado pelo Cliente. Os nomes desses domínios passam a constar dos registros públicos de transparência de certificados.
* **Distribuição de pacotes e informações de versão** — **Dropbox** e **GitHub**, que recebem apenas o endereço IP e dados técnicos da conexão.
* **Consulta de endereço IP** — serviços públicos usados pelo instalador e pelo Agente de Servidor para descobrir o endereço IP público da VPS.
* **Plataforma de CRM, e-mail marketing e e-mails transacionais** — gestão de contatos, segmentação e envio de comunicados.
* **Plataformas de documentação, treinamento e atendimento de Clientes** — central de ajuda, portal de aulas e portal de chamados de suporte. Na compra, cadastramos automaticamente no portal de chamados o nome e o e-mail do comprador; no reembolso, no estorno ou no vencimento da licença, o acesso é desativado.

Esta enumeração é exemplificativa: a ZDG pode adicionar, substituir ou remover Operadores de mesma natureza e finalidade a qualquer tempo, sem necessidade de atualização individual deste Aviso, **exceto** os que tratam dados de contatos finais nas situações em que a ZDG atua como Operadora (itens 3.4, 3.6 e 3.7), cuja relação nominal é mantida atualizada neste Aviso. A lista nominal atualizada de Operadores pode ser solicitada a qualquer momento pelo Titular, nos termos do art. 18, VII, da LGPD, pelo e-mail **<privacidade@zdg.com.br>**.

#### 6.2. Controladores parceiros

Algumas relações envolvem terceiros que tratam dados pessoais com finalidades próprias, na qualidade de Controladores autônomos (não Operadores):

* **Plataformas de pagamento.** A compra e a renovação da licença e de complementos do Z-PRO são processadas por **Hotmart** ([política](https://hotmart.com/pt-br/legal/privacidade-de-dados)), **Greenn** ([política](https://greenn.com.br/politica-de-privacidade-greenn/)) e **Digital Manager Guru**, que coletam e tratam seus dados de faturamento, conciliação e prevenção a fraudes conforme suas próprias políticas e nos informam os eventos de cada venda (item 3.1).
* **Meta Platforms, Inc. / WhatsApp LLC** ([termos](https://www.whatsapp.com/legal/)). Provedora das APIs oficiais do WhatsApp Business Platform, Instagram Direct e Facebook Messenger. A ZDG opera como **Tech Provider certificado** dessas APIs e consulta a Meta sobre a qualidade dos números conectados pelo App Tech Provider. Em relação ao **Meta Pixel** instalado no Site, atua como **Controladora Conjunta com a Meta** nos termos do [Controller Addendum](https://www.facebook.com/legal/controller_addendum).
* **Plataformas integradas por aplicativo da ZDG.** Em algumas integrações, a conexão é feita por aplicativo registrado pela ZDG na própria plataforma; nesses casos, a ZDG observa os termos da plataforma como desenvolvedora do aplicativo.
* **Aplicações parceiras da extensão de navegador.** Recebem, no navegador do Usuário e por escolha dele, as credenciais de sessão descritas no item 3.9, e as tratam conforme suas próprias políticas.

#### 6.3. Ferramentas de mensuração do Site

O Site institucional utiliza ferramentas de terceiros para análise estatística de tráfego, mensuração de campanhas, gestão de tags e segmentação publicitária ("**Ferramentas de Mensuração**"). Essas ferramentas coletam dados técnicos do visitante (endereço IP, identificadores de dispositivo, páginas acessadas, tempo de navegação, origem da visita e padrões de interação), com finalidade de melhoria da experiência, mensuração de performance e prevenção a fraudes.

A ativação de Ferramentas de Mensuração que dependam de cookies opcionais ocorre **somente mediante consentimento** prestado pelo banner de cookies — ver capítulo *Cookies*. A ZDG pode adicionar, substituir ou remover Ferramentas de Mensuração de mesma natureza a qualquer tempo, sem atualização individual deste Aviso. O Painel do Licenciado e o Software **não** utilizam Ferramentas de Mensuração.

#### 6.4. Integrações de Terceiros configuradas pelo Cliente

O Z-PRO é uma plataforma omnichannel projetada para integrar-se a múltiplos canais e sistemas — redes sociais, mensageiros, marketplaces, CRMs, gateways de pagamento e outros — via APIs, webhooks ou conectores. A ativação dessas integrações é decisão exclusiva do **Cliente**, na qualidade de **Controlador** dos dados que decide trafegar por cada canal.

Os dados pessoais transitando por essas integrações são governados pelos termos de uso e políticas de privacidade das respectivas plataformas, sobre as quais a ZDG **não tem ingerência, controle ou responsabilidade**. Cabe ao Cliente, antes de habilitar qualquer integração, revisar os termos da plataforma de destino e adequar seu próprio aviso de privacidade. Esta cláusula aplica-se a qualquer nova integração disponibilizada pelo Z-PRO no futuro.

#### 6.5. Recursos externos incorporados ao Site e ao Software

O Site pode incorporar recursos hospedados em servidores de terceiros (vídeos, fontes web, mapas, bibliotecas e CDNs públicas) que, ao serem carregados pelo navegador do visitante, podem coletar dados técnicos com finalidades técnicas e, eventualmente, estatísticas próprias do provedor.

Algumas telas do Software também carregam, por padrão, recursos de terceiros, que recebem o endereço IP e dados técnicos do navegador do Usuário: fontes do Google Fonts, salvo se a hospedagem própria das fontes estiver ativada; imagens de mapa do OpenStreetMap nas mensagens de localização, com as coordenadas da localização exibida; ícones de sites e miniaturas de vídeo nos links trocados; o kit de conexão do Facebook (SDK) nas telas de conexão de canais Meta; a central de ajuda da ZDG nas telas de termos e ajuda; e bibliotecas públicas no widget de webchat. Ao enviar endereço por mensagem no WhatsApp oficial, o Software consulta o serviço de geocodificação do OpenStreetMap com o endereço informado, e a consulta de CEP no cadastro de contatos usa serviço público de terceiro. Alguns desses provedores estão sediados fora do Brasil. Tais coletas são governadas pelas políticas de privacidade dos respectivos provedores, e o Cliente, como Controlador dos dados de seus contatos, deve considerá-las em sua política de privacidade.

#### 6.6. Provedor de VPS contratado pelo Cliente

No modelo self-hosted, o provedor de VPS contratado pelo próprio Cliente é **Operador contratado diretamente pelo Cliente**, e não pela ZDG. A ZDG não responde pelas políticas de privacidade, segurança ou disponibilidade do provedor de infraestrutura escolhido pelo Cliente.

#### 6.7. Links para sites e plataformas de terceiros

Nosso Site pode conter links para sites e plataformas de terceiros (parceiros, anunciantes, redes sociais). Esses sites têm seus próprios avisos e políticas de privacidade, pelas quais a ZDG não é responsável. Recomendamos verificar tais avisos antes de enviar quaisquer dados pessoais a esses terceiros.

### 7. Particularidades do modelo self-hosted

O Z-PRO é um software auto-hospedado: a ZDG entrega a licença e o instalador, e o Cliente contrata, gerencia e custeia a infraestrutura (VPS) onde o Software roda. Esse desenho redistribui responsabilidades de privacidade e merece capítulo próprio.

#### 7.1. Divisão de papéis ZDG / Cliente

A relação envolvendo dados pessoais segue a divisão abaixo:

* **ZDG como Controladora.** A ZDG é Controladora dos dados cadastrais do Cliente (nome, e-mail, CPF/CNPJ, telefone, domínio), dos registros de acesso ao Site e ao Painel do Licenciado, dos dados da conta, da trilha de atividade, dos pedidos de vínculo e do cadastro de servidores no Painel, dos dados técnicos enviados pela Instalação (item 3.3) e do registro de envio dos e-mails automáticos, tratados para faturamento, validação da licença, funcionamento do Software, preservação do App Tech Provider, suporte técnico e cumprimento de obrigações legais.
* **Cliente como Controlador.** O Cliente é o **único e exclusivo Controlador** dos dados pessoais de terceiros (seus clientes finais, leads e contatos) que trafegam pelo Z-PRO instalado em sua VPS, ressalvados os dados técnicos do item 3.3 (como números oficiais e identificadores de canais), dos quais a ZDG é Controladora independente para as finalidades indicadas acima. Cabe ao Cliente manter sua própria política de privacidade — informando nela os operadores de tecnologia que utiliza, entre eles a ZDG e os Operadores aplicáveis —, obter os consentimentos cabíveis, atender às solicitações dos titulares e adotar medidas técnicas e administrativas de segurança da informação compatíveis com a LGPD.
* **ZDG como Operadora.** A ZDG atua como Operadora, sob instruções do Cliente, nas seguintes situações: (i) durante o setup de instalação inicial realizado pela equipe técnica via SSH (cláusula 5.5 dos Termos de Uso); (ii) quando o Cliente fornecer voluntariamente credenciais de acesso temporário para fins de suporte técnico (cláusula 10.2.2 dos Termos de Uso); (iii) na operação da camada de conexão de canais (item 3.4); (iv) quanto aos registros (logs) e às credenciais da Instalação que o Cliente solicita pela gestão de servidores (item 3.6); e (v) no envio das notificações do aplicativo móvel (item 3.7).

#### 7.2. O que a ZDG não acessa

Por força do modelo self-hosted, a ZDG **não tem acesso**:

* Ao banco de dados do Cliente armazenado em sua VPS;
* Aos contatos, conversas, mensagens e mídias **armazenados** na VPS;
* Aos dados dos clientes finais (tenants) atendidos pelo Cliente.

As exceções são: (a) o trânsito de eventos pela camada de conexão de canais, sem armazenamento, ressalvado o registro de diagnóstico temporário (item 3.4); (b) os registros (logs) e credenciais que o próprio Cliente solicita pela gestão de servidores (item 3.6); e (c) o acesso operacional eventual descrito no item anterior, sempre limitado ao escopo do serviço e à autorização expressa do Cliente.

As sessões de alguns canais não oficiais ficam cifradas na VPS com uma chave fornecida pelos Serviços Centrais, derivada da chave de licença. A ZDG consegue gerar essa chave, mas não recebe nem armazena os dados de sessão, que permanecem apenas na VPS — inclusive quando vinculados pela extensão do item 3.9.

#### 7.3. Canais Meta conectados pelo App Tech Provider

Para as conexões via API Oficial do **WhatsApp Business Platform**, **Instagram Direct** e **Facebook Messenger**, a ZDG opera um aplicativo Meta certificado como **Tech Provider** e roteia o tráfego dessas APIs através da camada de conexão de canais antes de entregá-lo à VPS do Cliente. Nesse contexto:

* A ZDG **armazena** apenas: identificadores da Meta (App ID, WABA ID, identificador do número, da página ou da conta), número de telefone em formato de exibição, indicadores de qualidade, situação da conexão, endereços de entrega e da Instalação e a chave de licença a que cada registro se vincula, além da cópia do nome e do e-mail do Cliente usada nos alertas (item 3.3).
* O **conteúdo das mensagens** e os dados dos contatos que acompanham os eventos passam pela camada **apenas em trânsito**, sem armazenamento, ressalvado o registro de diagnóstico temporário descrito no item 3.4.
* As credenciais de acesso (tokens OAuth) trafegam durante a conexão e as renovações e **não são armazenadas** em base de dados pela ZDG (item 3.4).

Esse tratamento serve à execução do contrato com a Meta, à validação de licença, à prevenção a fraudes e à segurança operacional (cláusulas 8.3.7, 9.3 e 10 e Anexo I dos Termos de Uso).

#### 7.4. Limites de responsabilidade

A ZDG não responde pelo tratamento de dados realizado por terceiros, em especial:

* Pelo **provedor de VPS** contratado pelo Cliente (operador do Cliente);
* Pelas **plataformas de pagamento parceiras** (controladoras autônomas);
* Pelas **plataformas Meta** e demais Controladores parceiros;
* Pelas **integrações de canais e sistemas de terceiros** ativadas pelo Cliente em seu dashboard.

O Cliente, por sua vez, é responsável pela segurança da própria VPS (firewalls, atualizações, gestão de credenciais), pela segurança da caixa de e-mail vinculada à licença — que dá acesso ao Painel do Licenciado — e pelos eventos de segurança decorrentes da sua operação (cláusula 10.3 dos Termos de Uso).

### 8. Por quanto tempo guardamos seus dados

Os dados pessoais sob responsabilidade da ZDG são tratados pelos prazos abaixo. Encerrado o prazo, os dados são eliminados ou anonimizados.

| Dados                                                                                                                                                                                                                                                                                                   | Prazo                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Cadastro do Cliente e dados da licença, inclusive os recebidos das plataformas de pagamento                                                                                                                                                                                                             | Enquanto a licença estiver ativa e até 5 (cinco) anos após o término da relação, para defesa em eventuais processos (arts. 7º, VI e IX, e 16, LGPD)          |
| Cópia do nome e do e-mail do Cliente guardada pela camada de conexão de canais                                                                                                                                                                                                                          | Enquanto a licença estiver ativa e até 6 (seis) meses após o término                                                                                         |
| Logs de acesso ao Site, ao Painel e aos Serviços Centrais (inclusive os registros técnicos dos servidores web), registros de uso e de validação de licença (endereço, IP, datas, contagem) e presença da Instalação, exceto a trilha de atividade do Painel do Licenciado, que tem prazo próprio abaixo | 6 (seis) meses (art. 15 do Marco Civil da Internet)                                                                                                          |
| Registro da Instalação (endereços, endereço IP do servidor e chave de licença)                                                                                                                                                                                                                          | Até 6 (seis) meses após o último registro                                                                                                                    |
| Censo de canais                                                                                                                                                                                                                                                                                         | Até 30 (trinta) dias após o último envio da Instalação                                                                                                       |
| Números oficiais e indicadores de qualidade                                                                                                                                                                                                                                                             | Enquanto o número estiver conectado pelo App Tech Provider e até 90 (noventa) dias depois                                                                    |
| Registros de roteamento de canais                                                                                                                                                                                                                                                                       | Enquanto o canal estiver registrado e até 90 (noventa) dias após o último evento encaminhado à Instalação                                                    |
| Domínios personalizados de conexão                                                                                                                                                                                                                                                                      | Enquanto o domínio estiver cadastrado e válido                                                                                                               |
| Score de saúde, alertas e decisões de bloqueio e desbloqueio de novas conexões pelo App Tech Provider; decisões sobre licenças no sistema de licenciamento                                                                                                                                              | 5 (cinco) anos                                                                                                                                               |
| Alertas de segurança da Instalação                                                                                                                                                                                                                                                                      | 5 (cinco) anos                                                                                                                                               |
| Registro de envio dos avisos e alertas automáticos                                                                                                                                                                                                                                                      | 180 (cento e oitenta) dias, exceto o registro que evita reenviar o mesmo aviso (licença, e-mail, tipo e data do envio), mantido enquanto a licença existir   |
| Conteúdo de eventos da camada de conexão de canais                                                                                                                                                                                                                                                      | Não armazenado; o registro de diagnóstico, quando ativado, é apagado em até 7 (sete) dias                                                                    |
| Credenciais de plataformas que trafegam na conexão de contas                                                                                                                                                                                                                                            | Não armazenadas em base de dados; quando integram o endereço de uma página de conexão, podem constar dos registros técnicos de acesso por até 6 (seis) meses |
| Painel do Licenciado — conta                                                                                                                                                                                                                                                                            | Enquanto houver licença vinculada à conta e até 6 (seis) meses depois, ou até o pedido de exclusão                                                           |
| Painel do Licenciado — sessões                                                                                                                                                                                                                                                                          | Até 7 (sete) dias após o fim da sessão                                                                                                                       |
| Painel do Licenciado — trilha de atividade e pedidos de vínculo                                                                                                                                                                                                                                         | 5 (cinco) anos                                                                                                                                               |
| Gestão de servidores — cadastro e último estado do servidor                                                                                                                                                                                                                                             | Enquanto o servidor estiver vinculado e até 6 (seis) meses após a desvinculação                                                                              |
| Gestão de servidores — andamento e resultado das operações, registro de execução do instalador e registros (logs) do Software enviados a pedido do Cliente                                                                                                                                              | 30 (trinta) dias                                                                                                                                             |
| Gestão de servidores — credencial SSH do cadastro                                                                                                                                                                                                                                                       | Não armazenada (usada apenas durante o cadastro)                                                                                                             |
| Gestão de servidores — credenciais da Instalação solicitadas pelo Cliente                                                                                                                                                                                                                               | Até a primeira leitura ou 15 (quinze) minutos, o que ocorrer primeiro                                                                                        |
| Documentos fiscais e demais dados com prazo legal específico                                                                                                                                                                                                                                            | Pelo prazo definido na legislação aplicável                                                                                                                  |

A solicitação de exclusão pode ser feita a qualquer momento pelo e-mail **<privacidade@zdg.com.br>**, inclusive para a conta do Painel do Licenciado. Após o atendimento, os dados são eliminados, ressalvadas as hipóteses de conservação acima.

**Dados na VPS do Cliente.** Em razão do modelo self-hosted, os dados operacionais armazenados na VPS do Cliente (mensagens, contatos, conversas, base de dados dos tenants) são de guarda exclusiva do Cliente. A ZDG não tem poder de exclusão sobre essa base — solicitações nesse sentido devem ser dirigidas diretamente ao Cliente.

### 9. Como protegemos seus dados

A ZDG adota medidas técnicas e organizacionais para proteger os dados pessoais sob sua responsabilidade contra acessos não autorizados, perda, destruição e uso indevido. Entre elas:

* Conexões **HTTPS (TLS)** no Site, no Painel do Licenciado e nas chamadas das Instalações à camada de conexão de canais; na entrega de eventos à Instalação, é utilizado o endereço configurado na Instalação, que o instalador define com HTTPS;
* **Assinatura digital** das respostas do sistema de licenciamento e dos comandos e pacotes enviados ao Agente de Servidor, com a chave privada que assina os pacotes guardada fora dos servidores da ZDG;
* No Painel do Licenciado: e-mails guardados de forma cifrada; chave de licença **não guardada por inteiro** nos cadastros do Painel (apenas uma impressão criptográfica e uma versão parcialmente mascarada, para exibição); e **confirmação por código enviado ao e-mail** antes de alterar domínios e travas de domínio, desregistrar números, vincular ou desvincular servidores, executar instalação, atualização, volta de versão ou restauração e exibir as credenciais da Instalação;
* Credenciais de acesso SSH **nunca armazenadas** e credenciais da Instalação cifradas desde a VPS até a leitura pelo Cliente;
* Limites de tentativas e bloqueio de endereços IP que tentam chaves de licença inválidas repetidamente;
* Acesso administrativo aos Serviços Centrais restrito a pessoas autorizadas, com registro das decisões de bloqueio e desbloqueio;
* Minimização: o censo de canais traz apenas contagens por Instalação, e o conteúdo que passa pela camada de conexão de canais não é armazenado, salvo no registro de diagnóstico temporário do item 3.4, apagado em até 7 (sete) dias.

No modelo self-hosted, a segurança da **VPS do Cliente** — incluindo firewalls, atualizações do sistema operacional, gestão de credenciais e demais controles — é de **responsabilidade exclusiva do Cliente** (cláusula 10.3 dos Termos de Uso). A ZDG não se responsabiliza por vazamentos decorrentes de invasões, falhas de configuração ou engenharia social sofridas na infraestrutura do Cliente ou por sua equipe.

Nenhuma operação realizada via internet é 100% segura. Caso identifique vulnerabilidade ou suspeita de incidente envolvendo nossos sistemas, entre em contato imediato pelo e-mail **<privacidade@zdg.com.br>**.

### 10. Direitos do Titular e decisões automatizadas

A LGPD assegura a você, na qualidade de Titular, os direitos abaixo, que podem ser exercidos pelo e-mail **<privacidade@zdg.com.br>**:

* **Confirmação e acesso** ao tratamento de seus dados;
* **Correção** de dados incompletos, inexatos ou desatualizados;
* **Anonimização, bloqueio ou eliminação** de dados desnecessários, excessivos ou tratados em desconformidade com a LGPD;
* **Portabilidade** dos dados a outro fornecedor de serviços, observados os segredos comercial e industrial;
* **Eliminação** dos dados tratados com consentimento, ressalvadas as hipóteses legais de conservação;
* **Informação** sobre as entidades públicas e privadas com as quais a ZDG compartilha dados;
* **Revogação de consentimento** a qualquer tempo, de forma gratuita;
* **Oposição** ao tratamento realizado com base em legítimo interesse;
* **Revisão de decisões automatizadas** que afetem seus interesses;
* **Reclamação** perante a ANPD ou demais órgãos competentes.

Para garantir que os direitos sejam exercidos por você ou por seu representante legal, a ZDG pode solicitar informações ou comprovações de identidade. Atenderemos às solicitações dentro do prazo da LGPD; em casos complexos ou de alto volume, manteremos você atualizado sobre o andamento.

Quando a ZDG atuar como **Operadora** (situações descritas no capítulo *Particularidades do modelo self-hosted*), as solicitações relativas aos dados dos contatos finais do Cliente devem ser dirigidas ao próprio Cliente — Controlador desses dados.

#### 10.1. Decisões automatizadas

O Z-PRO e os Serviços Centrais tomam as seguintes decisões de forma automatizada, conforme regras descritas nos Termos de Uso (cláusula 8.6 e Anexo I):

* **Emissão, renovação, alteração de plano e bloqueio da licença**, e concessão ou revogação de complementos, conforme os eventos de compra, reembolso e estorno informados pelas plataformas de pagamento;
* **Bloqueio da licença no vencimento**, com desativação do acesso ao portal de suporte;
* **Modo de recuperação** da Instalação quando a licença está vencida, cancelada ou suspensa, é usada em domínio não licenciado, bloqueado ou fora da restrição de domínios, viola o plano contratado ou não é validada por cerca de 12 (doze) horas;
* **Encerramento do Software** na inicialização, quando não é possível validar a licença ou verificar a integridade dos arquivos junto aos Serviços Centrais, e durante o funcionamento, quando é detectada adulteração dos arquivos ou dos mecanismos de validação ou inspeção do Software em funcionamento;
* **Interrupção do acesso** em versão do Software com prazo de funcionamento vencido (cláusula 3.8 dos Termos de Uso);
* **Score de saúde da licença**, alertas e **bloqueio automático de novas conexões** pelo App Tech Provider;
* **Desassociação e limitação de envio** de números oficiais conforme os indicadores de qualidade da Meta;
* **Remoção de registros de roteamento** de canais quando a licença é considerada inválida em 3 (três) verificações seguidas ou após 90 (noventa) dias sem entrega, e remoção de domínio personalizado de conexão que deixa de ser válido;
* **Suspensão temporária da entrega de eventos** a uma Instalação após falhas seguidas de entrega;
* **Bloqueio de endereços IP** que tentam chaves de licença inválidas repetidamente;
* **Vínculo e desvinculação automáticos** de licenças à conta do Painel do Licenciado, conforme o e-mail cadastrado na licença; acima de 5 (cinco) licenças no mesmo e-mail, o vínculo depende de análise humana.

Você pode pedir a **revisão por uma pessoa da nossa equipe** de qualquer dessas decisões pelo e-mail **<suporte@zdg.com.br>** ou pelo portal de suporte, informando a licença e a medida contestada. Responderemos em até 15 (quinze) dias e, sempre que solicitado, informaremos os critérios e procedimentos utilizados, observados os segredos comercial e industrial (art. 20 da LGPD).

### 11. Cookies

O Site, o Painel do Licenciado e as páginas de conexão de canais utilizam cookies e armazenamento do navegador para garantir seu funcionamento técnico, medir audiência (apenas no Site) e melhorar a experiência de navegação. Os cookies utilizados são de duas naturezas:

* **Cookies estritamente necessários.** Indispensáveis ao funcionamento e à segurança do Site e do Painel do Licenciado — no Painel, o cookie de sessão (válido por até 12 (doze) horas) e o de proteção do login. Não dependem de consentimento, com base em legítimo interesse e obrigação legal (art. 7º, II e IX, LGPD).
* **Cookies opcionais** (estatísticos, de performance, funcionais e de marketing). Associados às Ferramentas de Mensuração do Site descritas no capítulo *Com quem compartilhamos* e ativados **somente mediante o seu consentimento** prestado no banner exibido ao acessar o Site.

O Painel do Licenciado também guarda no seu navegador preferências de uso (idioma, tema, menu lateral recolhido e última licença selecionada). Ao abrir a aba de roadmap, a plataforma de sugestões pode gravar cookies próprios, regidos pela política dela. As páginas de conexão de canais usam o armazenamento da aba durante a conexão e, nas conexões Meta, cookies do SDK do Facebook, regidos pela política da Meta.

Você pode aceitar, rejeitar ou alterar sua escolha a qualquer momento. A rejeição dos cookies opcionais não compromete o funcionamento básico do Site. Cookies e armazenamento local usados pelo Software instalado na VPS do Cliente estão sob controle do Cliente.

### 12. Transferência internacional de dados

Para entregar o Z-PRO e operar nossa infraestrutura, transferimos dados pessoais para fora do Brasil. As transferências observam o art. 33 da LGPD e ocorrem quando necessárias à execução do contrato (art. 33, IX) ou amparadas por cláusulas-padrão contratuais, decisões de adequação do país de destino ou outras salvaguardas previstas em lei.

As principais regiões de destino dos Operadores e Controladores parceiros são:

* **Brasil** — Hostinger Brasil Hospedagem de Sites LTDA (Painel do Licenciado, infraestrutura corporativa e um dos servidores da camada de conexão de canais) e demais provedores nacionais utilizados na operação corporativa;
* **Estados Unidos e outras regiões** — Hetzner Online GmbH (sistema de licenciamento e segundo servidor da camada de conexão de canais), Meta Platforms, Google (e-mail, produtividade e Firebase Cloud Messaging), rede de distribuição (CDN), Let's Encrypt, Dropbox, GitHub, serviços de consulta de endereço IP e ferramentas de mensuração estatística;
* **União Europeia e Reino Unido** — Upvoty (roadmap e sugestões), OpenStreetMap (imagens de mapa e geocodificação no Software) e demais Operadores europeus de CRM, documentação e produtividade.

Os eventos que passam pela camada de conexão de canais (item 3.4) podem ser processados em trânsito nos Estados Unidos, no segundo servidor da camada, e na rede de distribuição (CDN), cujos pontos de presença ficam em diversos países. Nesses casos, a ZDG atua como Operadora do Cliente, e a transferência decorre do uso do App Tech Provider ou das integrações que utilizam a camada; o Cliente que preferir que os eventos da Meta sigam diretamente para a VPS pode usar App Próprio.

No modelo self-hosted, o **Cliente é livre para escolher provedores de VPS em qualquer país**. A transferência internacional decorrente dessa escolha é de responsabilidade exclusiva do Cliente, na qualidade de Controlador dos dados de seus clientes finais. O mesmo se aplica às integrações configuradas pelo Cliente.

### 13. Encarregado e canais de contato

Em cumprimento ao art. 41 da LGPD, a ZDG mantém Encarregado pela Proteção de Dados Pessoais designado internamente, que pode ser contatado pelos canais abaixo:

* **E-mail do Encarregado (privacidade, LGPD e exercício de direitos do Titular):** <privacidade@zdg.com.br>
* **E-mail para comunicação geral, suporte e revisão de decisões automatizadas (cláusula 8.6 dos Termos de Uso):** <suporte@zdg.com.br>

### 14. Alterações deste Aviso

Este Aviso pode ser atualizado a qualquer tempo para refletir mudanças na operação, na legislação ou nas práticas de tratamento da ZDG. Quando houver alterações relevantes, o Titular será notificado pelos canais cadastrados ou por aviso no Site, e a versão atualizada valerá a partir de sua publicação. A continuidade no uso do Z-PRO ou do Site após a atualização confirmará a ciência e a vigência do novo Aviso.

A versão vigente está sempre disponível em <https://ajuda.zdg.com.br/aviso-de-privacidade>


# Manutenção e Segurança

Ações obrigatórias após a instalação: alterar credenciais padrão, configurar firewall, criar rotina de backups e manter o servidor atualizado.

O Z-PRO é um software **self-hosted**: a ZDG entrega a licença e o instalador; você hospeda e opera o sistema na própria VPS. Isso significa que a segurança e a manutenção do ambiente são de sua responsabilidade após a instalação.

Esta página reúne as ações que você precisa executar para manter sua instância segura e atualizada.

***

### Instalação

Antes de colocar o sistema em operação, certifique-se de que o servidor atende aos requisitos mínimos de hardware e software:

{% content-ref url="/pages/NVli8sN9OAi7S4uMm1pk" %}
[Pré-requisitos de instalação e utilização](/diretrizes-e-politicas/pre-requisitos-de-instalacao-e-utilizacao)
{% endcontent-ref %}

Para instalar o sistema, siga o guia de instalação:

{% content-ref url="/pages/p7KHfuerNqNrlB6oPtg2" %}
[2. Processo de instalação do ZPRO](/primeiro-acesso/instalar-z-pro/2.-instalacao-automatica)
{% endcontent-ref %}

***

### Atualizações

Manter o Z-PRO atualizado é **responsabilidade do assinante** e é fundamental para garantir segurança, estabilidade e acesso aos novos recursos.

Para executar uma atualização, siga o procedimento padrão:

{% content-ref url="/pages/sJdeop7vS3udMHk3TBsr" %}
[Procedimento Padrão de Atualização](/central-do-assinante/atualizacoes-e-status-do-z-pro/procedimento-padrao-de-atualizacao)
{% endcontent-ref %}

Para acompanhar o que mudou em cada versão, consulte o changelog:

{% content-ref url="/pages/9DHSTWtSbsPvYR8zkUAE" %}
[Changelog (4.0.x última versão)](/central-do-assinante/atualizacoes-e-status-do-z-pro/changelog-4.0.x-ultima-versao)
{% endcontent-ref %}

***

### Segurança da instância

#### Imediatamente após a instalação (obrigatório)

Ao instalar o Z-PRO pela primeira vez, altere as credenciais padrão antes de colocar o sistema em operação:

| O que alterar                                | Onde                             |
| -------------------------------------------- | -------------------------------- |
| **JWT\_SECRET** e **JWT\_REFRESH\_SECRET**   | Arquivo `.env` do backend        |
| **Senhas dos bancos de dados**               | Configuração do PostgreSQL/Redis |
| **Senha do usuário de deploy** (`deployzdg`) | Terminal da VPS                  |

{% hint style="danger" %}
Não colocar o sistema em produção sem alterar essas credenciais. Instâncias com valores padrão são vulneráveis a acessos não autorizados.
{% endhint %}

***

#### Firewall

Mantenha um firewall ativo na VPS. As únicas portas que precisam estar abertas para o funcionamento do Z-PRO são:

| Porta | Protocolo | Uso                                |
| ----- | --------- | ---------------------------------- |
| `22`  | TCP       | Acesso SSH à VPS                   |
| `80`  | TCP       | HTTP (redirecionamento para HTTPS) |
| `443` | TCP       | HTTPS (acesso ao painel)           |

Todas as demais portas devem permanecer **bloqueadas**.

***

#### Manutenção do servidor

Além das configurações acima, execute periodicamente:

* Atualizações de segurança do sistema operacional (Ubuntu)
* Revisão de logs de acesso SSH
* Monitoramento de uso de CPU e RAM

{% hint style="info" %}
O suporte técnico da ZDG **não cobre** configuração, gestão ou segurança do servidor. Consulte o escopo completo em [Política de Suporte Técnico](/diretrizes-e-politicas/politica-de-suporte-tecnico).
{% endhint %}

***

### Backups

A criação e a gestão de rotinas de backup são de **inteira responsabilidade do assinante**. A ZDG não tem acesso ao banco de dados instalado na sua VPS e não realiza backups remotos.

Configure uma rotina de backup automático que cubra:

* Banco de dados PostgreSQL
* Arquivos de mídia armazenados pelo sistema
* Arquivo `.env` de configuração

{% hint style="warning" %}
Sem backup, a perda de dados por falha de hardware ou erro operacional é irreversível. Considere replicar os backups para um storage externo à VPS.
{% endhint %}

***

### Responsabilidades e documentos relacionados

Para entender o que é responsabilidade da ZDG e o que é responsabilidade do assinante em detalhe:

* [Termos e Condições de Uso e Licenciamento](https://ajuda.zdg.com.br/) — cláusulas 8 (obrigações e responsabilidades) e 10 (privacidade e proteção de dados)
* [Política de Suporte Técnico](/diretrizes-e-politicas/politica-de-suporte-tecnico) — o que está e o que não está incluso no suporte
* [Aviso de Privacidade ](/diretrizes-e-politicas/aviso-de-privacidade)— como os dados são tratados no modelo self-hosted


# API Oficial vs API Não Oficial

Comparação entre API Oficial (WABA) e APIs não oficiais (Baileys, wwebjs, Meow): estabilidade, riscos, custos e qual escolher para sua operação.

O Z-PRO oferece a opção de conectar tanto para a API Oficial do WhatsApp quanto as opções de APIs Não Oficiais.

**Nossa recomendação técnica:** Recomendamos fortemente a utilização da **API Oficial (WABA)** devido à sua estabilidade, segurança e conformidade com as políticas da Meta. No entanto, deixamos a definição a critério do assinante. A escolha do método de conexão determina o equilíbrio entre custos operacionais, estabilidade do serviço e os riscos assumidos em relação às diretrizes da plataforma.

Abaixo, detalhamos as características operacionais, os requisitos e os riscos de cada modalidade.

***

### 1. API Oficial (WABA - WhatsApp Business API)

A API Oficial é a infraestrutura homologada, construída e mantida pela própria Meta (WhatsApp).

#### Métodos de Conexão no Z-PRO

O Z-PRO integra-se à API Oficial permitindo duas formas de configuração:

* **Via App Z-PRO (Login Incorporado):** O usuário utiliza o aplicativo oficial da ZDG para realizar o login via Facebook e conectar o número de forma rápida.
* **Via App Próprio (Tech Provider):** O assinante cria e aprova seu próprio aplicativo no painel *Facebook Developers*. Indicado para operações White-label, permitindo que seus clientes façam o login visualizando a sua marca.

#### Coexistência

O sistema suporta o recurso de **Coexistência** através do método de "Dispositivos Conectados" da Meta. Isso permite que o número funcione simultaneamente no painel do Z-PRO e no aplicativo WhatsApp Business no smartphone.

#### Gerenciamento, Pagamentos e Aprovação

* **Vínculo Comercial:** O número conectado permanece vinculado ao **Gerenciador de Negócios (Business Manager - BM)** do cliente (ou do seu tenant).
* **Custos:** O Z-PRO não cobra taxas por mensagem. A cobrança é feita diretamente pela Meta na BM do cliente, baseada em "janelas de conversas" de 24 horas (após a cota gratuita mensal).
* **Aprovação:** A utilização exige a verificação da empresa e a aprovação do número pelas políticas de comércio e mensageria da Meta.

#### Diretrizes e Risco de Bloqueio

É fundamental compreender a dinâmica de bloqueios na API Oficial: O bloqueio de números não tem relação com o sistema utilizado (Z-PRO), mas sim com as regras da Meta. A API Oficial elimina o risco de banimento por "uso de software não autorizado". No entanto, **o número continua sujeito às avaliações de qualidade da Meta.** A conformidade, a ausência de spam e a qualidade do atendimento não dependem da ferramenta, mas exclusivamente do cumprimento rigoroso das políticas do WhatsApp por parte do usuário.

***

### 2. APIs Não Oficiais

As APIs Não Oficiais são métodos alternativos que emulam o comportamento do WhatsApp Web ou Mobile, geralmente através da leitura de um QR Code. Elas isentam o usuário do custo por mensagem da Meta, mas transferem a responsabilidade da estabilidade para o administrador da infraestrutura.

#### Tipos de APIs Não Oficiais Suportadas

1. **Nativas (Baileys e WWebJS):** Bibliotecas integradas ao código do Z-PRO. A conexão é feita diretamente pelo painel através da leitura do QR Code. Não há custos adicionais.
2. **Auto-hospedadas / Self-Hosted (Ex: Evolution API, Wuzapi):** Aplicações externas de código aberto instaladas e mantidas pelo próprio usuário em um servidor à parte, integradas ao Z-PRO via credenciais (Host/Token).
3. **Gerenciadas / Pagas (Ex: Z-API, Uazapi):** Serviços terceirizados fornecidos por outras empresas (SaaS) mediante pagamento de mensalidade. A empresa terceira gerencia a estabilidade do roteamento.

#### Riscos e Responsabilidades Operacionais

Conforme estabelecido nos **Termos e Condições de Uso**, o Z-PRO não garante estabilidade (SLA) para conexões realizadas por vias não oficiais e não se responsabiliza por desconexões ou perda de dados.

* **O WhatsApp não tolera SPAM:** Disparos em massa ou mensagens não solicitadas via API não oficial têm altíssima probabilidade de resultar em banimento permanente do número, sem possibilidade de recurso.
* **Riscos de Infraestrutura e IP:** Conectar múltiplos números não oficiais em um único IP (a sua VPS) caracteriza comportamento automatizado anômalo. Se a Meta identificar e marcar a infraestrutura, ocorrerá um **bloqueio em cascata**, desconectando ou banindo todos os números de todos os clientes hospedados naquele servidor simultaneamente.
* **Recomendações Técnicas:** Para minimizar riscos, evite disparos em massa. Se operar em escala com múltiplos clientes (SaaS), considere a distribuição horizontal (múltiplos servidores) ou a configuração de proxies dedicados para isolar conexões.
* **Aviso "Aguardando mensagem":** Em conexões não oficiais (especialmente em emulações Web), a sincronização da criptografia de ponta a ponta pode falhar se o aparelho celular principal perder a conexão com a internet. Isso gera o aviso de "Aguardando mensagem". Para o funcionamento correto, o smartphone base deve permanecer ligado, com internet estável e o aplicativo do WhatsApp ativo em segundo plano.

***

### ❓ Perguntas Frequentes (FAQ)

**1. O Z-PRO cobra alguma taxa sobre as mensagens enviadas na API Oficial?** Não. O valor pago ao Z-PRO refere-se apenas à licença do software. Todos os custos referentes ao tráfego de mensagens na API Oficial são faturados e cobrados diretamente pela Meta no cartão de crédito cadastrado na sua Business Manager.

**2. A API Oficial garante que meu número nunca será bloqueado?** Não. A API Oficial impede bloqueios por "uso de software de terceiros não autorizado". Contudo, se a operação violar as Políticas de Mensageria e Comércio do WhatsApp (ex: envio de SPAM, denúncias de usuários, quebra de regras), a Meta poderá rebaixar a qualidade e banir o número de forma administrativa.

**3. Se a API Oficial é mais segura, por que as opções não oficiais existem?** Para oferecer flexibilidade. Usuários em fase de validação, operações com baixíssimo volume de mensagens ou que aceitam assumir os riscos técnicos e de banimento optam pelas vias não oficiais para evitar o custo por conversa cobrado pela Meta.

**4. A conexão não oficial desconectou. O suporte do Z-PRO pode resolver?** Desconexões em APIs não oficiais nativas ocorrem devido a atualizações nos protocolos do WhatsApp. A resolução exige a releitura do QR Code e a garantia de que o celular hospedeiro possui conexão estável. Em casos de quebra estrutural (atualizações massivas da Meta), o Z-PRO lança patches corretivos de software, mas não atua individualmente na restauração de sessões.


# LID do WhatsApp

O WhatsApp implementou mudanças de privacidade na forma como os números de telefone são exibidos em novas conversas, introduzindo um identificador interno chamado **LID**. Isso pode gerar a criação de contatos duplicados na plataforma.

Esta documentação explica o que é o LID, por que a duplicação acontece e como utilizar as ferramentas do Z-PRO para gerenciar e unificar sua base de contatos.

***

### 1. O que é o LID e por que cria duplicatas?

O LID é um identificador privado/interno do WhatsApp, usado para representar o usuário sem expor diretamente o número de telefone. Enquanto o sistema só tiver o LID e não conseguir resolver o número real ou mapear corretamente o contato, podem ocorrer limitações para responder, vincular histórico ou evitar duplicidade

Quando um cliente (que não está na sua lista ou possui privacidade restrita) inicia uma conversa, o WhatsApp pode enviar o LID em vez do número real. O Z-PRO exibe o LID recebido. Quando o WhatsApp libera o número real, o sistema tenta atualizar o contato.

**O problema:** O sistema pode manter, temporariamente, dois registros para a mesma pessoa:

1. Um registro antigo/correto com o **número de telefone**.
2. Um registro novo/temporário com o **LID**.

Até que o sistema consiga vincular os dois, eles aparecem separados, dividindo o histórico de conversas.

> **Nota sobre a API Oficial (WABA):** A instabilidade de LID ocorre apenas em APIs não oficiais (Baileys, WWebJS, Uazapi, Evolution, etc.). Na API Oficial (WABA), esse problema não existe, pois a integração utiliza o BSUID (Business-Scoped User ID), garantindo a resolução consistente dos contatos.

***

### 2. Ferramentas para Correção e Agrupamento de LID

O Z-PRO disponibiliza quatro ferramentas para resolver essas inconsistências, localizadas em diferentes áreas do sistema, dependendo da necessidade (ação individual, em massa ou manual avançada).

#### Ferramenta 1: Atualizar LID (Ação Individual)

* **Localização:** Tela de Atendimento > Conversa com o contato > Informações do Contato (Detalhes) > Aba "Util." > Botão Atualizar LID
* **Como funciona:** Ideal para corrigir um contato que você está atendendo no momento. Ao clicar em "Atualizar LID", o sistema atualiza o identificador e une as mensagens daquele contato específico.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FKxk8K7VYxFofrrYGTqhg%2Fimage.png?alt=media&amp;token=2391da5d-ba54-4e61-bc27-8ad44da8526d" alt="" width="328"><figcaption></figcaption></figure>

#### Ferramenta 2: Agrupar LID (Ação em Massa)

* **Localização:** Menu Contatos > Botão "Utilitários" > "Agrupar LID".
* **Como funciona:** Executa a mesma lógica da ferramenta individual, mas em massa. O sistema varre o tenant e une todas as mensagens relacionadas aos respectivos contatos que possuem o mesmo LID, limpando as duplicidades básicas da base.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FdTSIlLeV19vgBg9G5zLu%2Fimage.png?alt=media&amp;token=0228c388-4705-4560-ad83-17bfc00d4dd0" alt="" width="216"><figcaption></figcaption></figure>

#### Ferramenta 3: Scan de Contatos sem LID

* **Localização:** Menu Configurações> Configurações Gerais > Ações do Sistema
* **Como funciona:** Ao ativar essa opção, o sistema inicia uma busca para atualizar os contatos do seu tenant que ainda não possuem o LID registrado no banco de dados.

{% hint style="warning" %}
**Atenção:** Este processo varre toda a sua base de dados. Em caso de bancos de dados muito grandes, a operação pode demorar consideravelmente ou até mesmo acionar o bloqueio da conta no WhatsApp devido ao alto volume de requisições à API.
{% endhint %}

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FajJiXK80zS0wH6lRxUcq%2Fimage.png?alt=media&amp;token=1dd9d159-0325-49c8-8f87-162fc3b24b96" alt="" width="353"><figcaption></figcaption></figure>

#### Ferramenta 4: Consolidar duplicatas LID (Avançado)

* **Localização:** Menu Configurações> Configurações Gerais > Ações do Sistema

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FmCpZgSkdgm3svv1H5SBN%2Fimage.png?alt=media&amp;token=68d11e8a-8343-4bb0-9283-a1c87c66156c" alt="" width="375"><figcaption></figcaption></figure>

* **Como funciona:** Detecta e mescla pares de contatos duplicados gerados por cruzamento de LID e Pushname (Nome). Essa função serve para juntar dois contatos repetidos manualmente, quando o sistema não consegue detectar sozinho que são a mesma pessoa ou possui um contato "envenenado" (com problemas) que precisa ser substituído por um contato saudável.

{% hint style="danger" %}
**Operação Destrutiva:** Existe remoção de contatos e alteração irreversível em cerca de 14 tabelas do banco de dados. **É obrigatório confirmar que você realizou o backup do banco de dados** antes de prosseguir. O sistema permite rodar uma auditoria (Dry Run) antes de aplicar as mudanças reais.
{% endhint %}

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FZ7Rkk0mowHzFuhOawazv%2Fimage.png?alt=media&amp;token=100d7a58-d063-4ba1-a990-87aa7d3b0948" alt="" width="375"><figcaption></figcaption></figure>

**Como fazer a Mesclagem Manual na Ferramenta 4:**

Na tela de diagnóstico, se o sistema não uniu automaticamente, você olha os dados, constata que são a mesma pessoa e indica manualmente os IDs para o sistema uní-los.

* **ID primary (mantém):** Insira o ID da entrada "boa". É o contato que vai sobreviver (geralmente a ficha que tem o número certo, o nome certo e o histórico mais completo).
* **ID duplicate (mescla):** Insira o ID da entrada "errada" ou repetida. Esta é a ficha que será desativada.

**O que acontece ao clicar em Mesclar?**

1. O sistema pega todas as conversas, mensagens, tags e anotações que estavam na ficha duplicada.
2. Move todos esses dados para a ficha principal (Primary).
3. Aposenta a entrada duplicada (ela não é apagada do banco para fins de auditoria, mas fica guardada como histórico, deixa de aparecer nas buscas e não recebe mais mensagens).

**Resultado prático:** O contato fica 100% unificado, com um único histórico de conversa, e as mensagens futuras passam a ser entregues para a pessoa certa, em vez de "se perderem" na ficha errada.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F3ClFH0HDd85MItgQzrjS%2Fimage.png?alt=media&amp;token=7e342a91-6207-455d-b84b-83a86ce6c932" alt="" width="375"><figcaption></figcaption></figure>

***

### 3. Detalhamento Técnico: Por que a fusão automática falha às vezes?

Quando você utiliza as opções simples (Ferramentas 1 e 2), o sistema busca um *Contato Original* e um *Contato Duplicado* para fundir. A fusão automática só ocorre se a seguinte condição exata for atendida:

* Deve existir um **Contato Original** com o número de telefone correto no campo `number`.
* Deve existir um **Contato Duplicado** cujo campo `lid` seja *exatamente igual* ao `number` do Contato Original.

Se o LID no contato duplicado for diferente do número no contato original, o sistema não consegue garantir que são a mesma pessoa de forma segura. É exatamente nestes casos (onde a ferramenta 1 e 2 falham) que você deve utilizar a **Ferramenta 4 (Consolidar duplicatas LID)** para forçar a união manualmente.


# API Oficial WABA

Tudo sobre a API Oficial do WhatsApp (WABA) no Z-PRO: como funciona, formas de conectar, templates HSM, custos Meta e recursos exclusivos.

O Z-PRO possui integração nativa com a **API Oficial do WhatsApp (WABA)**, mantida e homologada pela Meta. O Z-PRO é um **Tech Provider certificado pela Meta**, o que permite que assinantes conectem números de WhatsApp Business por meio do aplicativo da ZDG, sem necessidade de criar um App próprio.

Para quem já possui um App aprovado no Facebook Developers, o Z-PRO também oferece suporte à integração via App próprio.

{% hint style="warning" %}
**Custos da API Oficial:** os custos de uso da API Oficial (cobranças por conversas fora da janela de 24 horas) são faturados diretamente pela Meta na **Business Manager (BM) do número conectado**. O pagamento dessas taxas é responsabilidade do assinante. O Z-PRO cobra exclusivamente a licença do software. Veja mais em [Cobranças da Meta.](/api-oficial-waba/cobrancas-da-meta-whatsapp-business-platform)
{% endhint %}

{% hint style="info" %}
**Risco de bloqueio:** o uso da API Oficial elimina o risco de banimento por uso de software não autorizado. No entanto, o número ainda está sujeito às avaliações de qualidade da Meta — bloqueios por envio de spam ou violação das políticas de mensageria são de responsabilidade do operador, independentemente da ferramenta utilizada. Siga sempre as [diretrizes da Meta](https://www.whatsapp.com/legal/business-policy/).
{% endhint %}

***

### Como o Z-PRO conecta na API Oficial

Ao conectar pela API Oficial, o número passa a operar em **modo de coexistência**: funciona simultaneamente no aplicativo WhatsApp Business do celular e no painel do Z-PRO. A conexão utiliza a arquitetura de "Dispositivos Conectados" da Meta — o processo inclui leitura de QR Code no celular, de forma semelhante ao WhatsApp Web.

Há duas opções de integração disponíveis:

***

#### Opção 1 — Via App Z-PRO (usando o App da ZDG como Tech Provider)

O Z-PRO disponibiliza seu próprio App (aprovado como Tech Provider na Meta) para que assinantes façam a conexão OAuth diretamente pelo painel, sem precisar de um App próprio.

**Como funciona:**

1. No painel, acesse **Canais → Adicionar Canal → WhatsApp OAuth**
2. Selecione o aplicativo da ZDG
3. Faça login com o Facebook, selecione a conta WhatsApp Business e escaneie o QR Code no celular
4. O número fica conectado em modo de coexistência

{% hint style="info" %}
Ao conectar pelo App da ZDG, a permissão de **ligações de voz** (`calls`) já está aprovada automaticamente.
{% endhint %}

{% hint style="warning" %}
Números com alto índice de denúncias (status Red na Meta) podem ser desconectados do App compartilhado da ZDG para proteger os demais assinantes. Veja: [Score do App Tech Provider](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro/score-do-app-tech-provider)
{% endhint %}

**Tutorial completo:** [WhatsApp Oficial OAuth (login)](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/whatsapp-oficial-oauth-app-zpro-com-coexistencia)

***

#### Opção 2 — Via App Próprio (para quem já tem um App aprovado na Meta)

Assinantes que já possuem um App aprovado no Facebook Developers — ou que desejam criar um — podem integrar o Z-PRO usando as próprias credenciais. Nesse caso, o login incorporado exibe a marca do assinante (não a ZDG) para os usuários finais.

**O que é necessário:**

* App criado e aprovado no Facebook Developers com status de Tech Provider
* Configuração do App no painel Super Admin

{% hint style="warning" %}
O processo de App Review da Meta exige envio de documentos e vídeos demonstrativos. O suporte do Z-PRO não realiza esse processo, mas pode indicar profissionais especializados.
{% endhint %}

**Tutorial completo:** [Cadastro Incorporado e Coexistência com App Próprio](/api-oficial-waba/whatsapp-oficial-cadastro-incorporado-e-coexistencia-com-app-proprio)

**Configuração no Super Admin:** [Facebook — Login Incorporado WABA, Instagram e Messenger](/configuracao-superadmin/canais-superadmin/facebook-login-incorporado-waba-insta-messenger)

***

### Vocabulário essencial

| Termo                            | O que significa                                                                                               |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **WABA**                         | WhatsApp Business API — a API Oficial mantida e homologada pela Meta                                          |
| **Tech Provider**                | Empresa certificada pela Meta para fornecer soluções WABA a terceiros. O Z-PRO tem esse status                |
| **OAuth / Cadastro Incorporado** | Tecnologia de conexão via login do Facebook — vincula o número ao sistema sem configuração manual de webhooks |
| **Coexistência**                 | O número funciona simultaneamente no app do celular e no painel do Z-PRO                                      |
| **Business Manager (BM)**        | Painel da Meta onde a empresa gerencia contas, ativos e métodos de pagamento                                  |
| **Template (HSM)**               | Mensagem pré-aprovada pela Meta para iniciar conversas fora da janela de 24 horas                             |

{% hint style="info" %}
**APIs não oficiais também são suportadas.** O Z-PRO permite conexão via QR Code por APIs não oficiais (Baileys, Evolution API, Z-API, entre outras). Cada modalidade tem características e riscos distintos. Veja: [API Oficial vs. APIs Não Oficiais](/diretrizes-e-politicas/api-oficial-vs-api-nao-oficial)
{% endhint %}

***

### Documentação por área

#### Conectar e gerenciar o canal

* [WhatsApp Oficial OAuth (login com coexistência)](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/whatsapp-oficial-oauth-app-zpro-com-coexistencia):  passo a passo para conectar um número em modo de coexistência usando o App da ZDG
*
* [Integrações Meta — configurações do canal](/configuracao-administrador/configuracao/integracoes-meta): painel de configurações do canal após a conexão: webhook, roteamento de chamadas, número de teste e outras opções
* [Contas WhatsApp na Meta](/configuracao-administrador/configuracao/integracoes-meta/whatsapp-contas-meta) — visualização e gestão dos números WABA vinculados à Business Manager

#### Templates e disparos

* [Gerenciar Templates HSM ](/configuracao-administrador/configuracao/integracoes-meta/templates-integracoes-meta)— criação, edição e aprovação de templates de mensagem na Meta diretamente pelo painel
* [Envio em Massa — Template API Oficial ](/ferramentas-do-atendimento/comunicacao-e-marketing/envio-em-massa/envio-em-massa-template-api-oficial)— disparo em massa usando um template fixo para uma lista de contatos
* [Envio em Massa — Template com Variáveis](/ferramentas-do-atendimento/comunicacao-e-marketing/envio-em-massa/envio-em-massa-template-variavel-api-oficial) — disparo em massa com preenchimento dinâmico de variáveis do template por contato

#### Atendimento com canal WABA

* [Painel de atendimento — recursos exclusivos WABA](/ferramentas-do-atendimento/atendimento/tela-de-atendimento/atendimento-waba-api-oficial) — funcionalidades disponíveis na tela de atendimento para canais API Oficial: reações, edição de mensagens, templates e ligações

#### Ligações de voz

* [Ligações de voz na API Oficial (WABA) ](/api-oficial-waba/ligacoes-de-voz-na-api-oficial-waba)— como ativar o recebimento de chamadas WebRTC, solicitar permissão de chamada para ligar, e configurar o roteamento entre atendentes

#### Rastreamento e integrações avançadas

* [Rastreamento de Conversões (Meta Pixel) ](/configuracao-administrador/configuracoes-painel-admin/integracoes/rastreamento-de-conversoes)— integração com o Meta Pixel para rastrear eventos de conversão originados em atendimentos via WABA
* [Exemplo de fluxo N8N + API Z-PRO + WABA](/api-oficial-waba/exemplo-de-fluxo-no-n8n-+-api-z-pro-+-waba) — exemplo prático de automação integrando N8N com a API do Z-PRO em canais WABA

#### Cobrança da Meta

* [Como funciona a cobrança de mensagens na Meta ](/api-oficial-waba/cobrancas-da-meta-whatsapp-business-platform)— modelo de precificação por categorias de conversa, janela de 24 horas e como gerenciar o faturamento na Business Manager

***

### Perguntas frequentes

**O Z-PRO cobra taxa por mensagem na API Oficial?** Não. O Z-PRO cobra a licença do software. Os custos de uso do WhatsApp são faturados pela Meta diretamente na Business Manager do número conectado.

**A API Oficial elimina completamente o risco de bloqueio?** Elimina bloqueios por uso de software não autorizado. O número permanece sujeito às avaliações de qualidade da Meta: spam, violação de políticas e acúmulo de denúncias podem resultar em penalidades — independentemente da API utilizada.

**Posso manter o celular ativo e usar o Z-PRO ao mesmo tempo?** Sim. O modo de coexistência permite que o número opere simultaneamente no app WhatsApp Business e no painel do Z-PRO.

**Como oferecer a conexão WABA para os clientes da minha revenda com a minha marca?** É necessário criar e aprovar um App próprio no Facebook Developers. Veja a Opção 2 acima.


# Whatsapp Oficial- Cadastro Incorporado e Coexistência com APP próprio

Como conectar o WhatsApp Business pela API Oficial usando um App Próprio no Facebook Developers com Embedded Signup e coexistência.

{% embed url="<https://www.loom.com/share/e033654ae7494e4881a416c83899a32b>" %}

#### Tutorial de como aprovar seu APP Próprio na meta:

{% content-ref url="/pages/bsFYOXunAg2ku7fwmRWx" %}
[Como aprovar seu App da Meta](/api-oficial-waba/whatsapp-oficial-cadastro-incorporado-e-coexistencia-com-app-proprio/como-aprovar-seu-app-da-meta)
{% endcontent-ref %}

#### Parte 1: Configurações no Facebook Developers

Antes de cadastrar no ZPRO, é necessário ajustar as configurações do seu aplicativo na Meta e gerar os dados necessários.

**1. Domínios do Aplicativo**

1. Acesse as **Configurações Básicas** do seu App.
2. Adicione os domínios da sua instalação: **Subdomínio do Front**, **Subdomínio do Back** e o **Domínio do Site**.
3. Caso necessário, adicione também no campo "URL do Site" na parte inferior.

**2. Gerar Token de Sistema (Business Manager)**

1. No seu Business Manager, vá em **Usuários do Sistema**.
2. Adicione o seu Aplicativo aos ativos.
3. Gere um novo Token selecionando o app e marcando as seguintes permissões obrigatórias:
   * business\_management
   * whatsapp\_business\_messaging
   * whatsapp\_business\_management
4. **Copie o Token** gerado (ele será usado no Superadmin).

**3. Configuração do Cadastro Incorporado (Config ID)**

1. No painel do App, vá em **WhatsApp** > **Configuração**.
2. Em "Configuração de Login", clique em **Criar Configuração**.
3. Selecione os produtos: **Cloud API** e **API de mensagens de marketing**.
4. Em permissões, selecione todas (Set) e garanta que as 3 permissões do passo anterior estejam marcadas, mais a permissão:
   * whatsapp\_business\_management\_events
5. Salve e **copie o número da "ID da configuração"** (Config ID).

***

#### Parte 2: Configuração no Superadmin

Com os dados em mãos, vamos configurar o aplicativo dentro do sistema.

1. Acesse o painel **Superadmin** > **App Waba**.
2. Clique em **Adicionar** e preencha os campos:
   * **App ID:** Encontrado no cabeçalho do Facebook Developers.
   * **Versão da API:** Utilize a versão atual (ex: v24.0).
   * **Token:** Cole o Token de Sistema gerado na Parte 1.
   * **Config ID:** Cole o ID da configuração gerado na Parte 1.
   * **App Secret:** Encontrado nas configurações básicas do App (clique em "Mostrar").
3. **Importante:** Copie a **URL de Redirecionamento** (Redirect URI) que o sistema exibe nesta tela.
4. Volte ao Facebook Developers > **Facebook Login** > **Configurações** e cole essa URL no campo "URIs de redirecionamento do OAuth válidos".
5. Salve o cadastro no Superadmin.

***

#### Parte 3: Utilizando a Integração (Tenant)

Agora que o app está configurado, o cliente final pode conectar as contas.

1. No painel do cliente, vá em **Integrações** > **Meta**.
2. Clique no botão **Cadastro Incorporado**.
3. Uma janela do Facebook se abrirá. Siga o fluxo de login ("Continuar como...").

**Cenário A: Criar/Adicionar Novo Número**

1. Siga o passo a passo para criar uma nova conta de WhatsApp Business ou selecionar uma existente.
2. Após concluir, o número aparecerá na lista de integrações.
3. **Atenção:** Se for um número novo, ele aparecerá como "Não Registrado". Clique em **Registrar Telefone**, insira um PIN de 6 dígitos e conclua a ativação para poder enviar mensagens.

**Cenário B: Modo Coexistência (Requer App Aprovado)**

1. No fluxo do pop-up, selecione a opção de usar um número existente.
2. O sistema identificará se o número é elegível para coexistência (deve ser uma conta Business).
3. Se já estiver conectado no WhatsApp Business App, o fluxo pulará a verificação de SMS e conectará automaticamente.
4. Ao finalizar, o canal será criado e você poderá ver o status "Conectado".
5. O número funcionará tanto no painel (API) quanto no celular (App Business) simultaneamente.


# Como aprovar seu App da Meta

{% hint style="info" %}
**Assinante Z-PRO:** você já tem acesso ao App compartilhado da ZDG e pode conectar canais WABA, Instagram e Facebook sem precisar criar o seu próprio app. Este tutorial é para quem deseja ter um **App Próprio** — seja para isolar a reputação dos canais ou para operar como Tech Provider independente.

Se quiser saber mais sobre a diferença, leia Score do App Tech Provider.
{% endhint %}

{% embed url="<https://www.youtube.com/watch?v=opZvh-NKmtQ>" %}

{% hint style="success" %}
**Material de apoio pronto:** descrições de permissões, screencasts e modelos de formulário para o Z-PRO estão disponíveis na [página de apoio da comunidade](https://comunidade.zdg.com.br/geral/app-meta-aprovar/). Copie, cole e adapte para acelerar o processo.
{% endhint %}

***

### Pré-requisitos

Antes de começar, garanta que você tem:

* Uma conta de **Facebook pessoal** (será usada para acessar o Facebook Developers)
* Um **Gerenciador de Negócios (BM)** da Meta criado e com CNPJ verificado
* O **CNPJ da sua empresa** em mãos para a verificação de empresa
* URLs de **política de privacidade** e **termos de uso** do seu sistema (pode usar as do Z-PRO como referência: `ajuda.zdg.com.br`)

***

### Etapa 1 — Verificações obrigatórias

Duas verificações são necessárias antes de ativar recursos avançados como cadastro incorporado e coexistência. Você pode criar o app primeiro e fazê-las depois, mas recomendamos concluí-las antes de avançar.

#### Verificação de empresa (CNPJ)

Acesse o seu **Gerenciador de Negócios** (`business.facebook.com`) → **Configurações do Negócio** → **Informações do Negócio** → inicie a verificação inserindo o CNPJ da empresa.

#### Verificação de atividade (Tech Provider)

Feita dentro do próprio aplicativo após criá-lo. Você descreve sua atividade — que fornece um sistema de atendimento omnichannel SaaS — e aguarda a aprovação da Meta.

{% hint style="warning" %}
Sem essas duas verificações, funcionalidades como **cadastro incorporado (embedded signup)** e **coexistência** não ficam disponíveis. O painel do app mostrará os três selos: Verificação de empresa, Verificação de acesso e Análise do app.
{% endhint %}

***

### Etapa 2 — Criar o aplicativo

1. Acesse [developers.facebook.com](https://developers.facebook.com) com sua conta de Facebook.
2. Crie ou acesse sua **conta de desenvolvedor**.
3. Navegue até **Meus Apps** → **Criar App**.
4. Selecione os casos de uso:
   * **Interação de Messenger**
   * **Interação de Instagram**
   * **Interação de WhatsApp**
   * **Gerenciamento de conteúdo** (gerenciar tudo na sua página)
5. Dê um nome ao app, informe o e-mail de contato do responsável.
6. Selecione a **Business Manager** associada (com verificação de empresa concluída).
7. Conclua a autenticação (o Authenticator pode ser solicitado) e aguarde a criação.

***

### Etapa 3 — Configurações básicas

Acesse **Configurações → Básico** no painel lateral esquerdo do app.

| Campo                       | O que preencher                                                                |
| --------------------------- | ------------------------------------------------------------------------------ |
| **Domínios do aplicativo**  | O domínio onde seu sistema está instalado. Para o Z-PRO: `techprovider.com.br` |
| **Política de Privacidade** | URL da sua política de privacidade                                             |
| **Termos de Serviço**       | URL dos seus termos de uso                                                     |
| **Categoria**               | Mensagens                                                                      |
| **Ícone do app**            | Imagem 512×512 px — aparece no onboarding para o usuário final                 |
| **Plataforma**              | Adicione **Website** com a URL de login do seu sistema                         |

#### Instruções de acesso para o analista da Meta

No campo de instruções de acesso, informe como o time da Meta pode testar o seu sistema:

* URL de acesso (tela de login)
* E-mail e senha de um usuário de teste criado exclusivamente para eles
* Deixe claro que **não há pagamento exigido** para acessar
* Informe se há restrição de geolocalização (na maioria dos casos: não há)

{% hint style="info" %}
Para o Z-PRO: crie um tenant de teste exclusivo para o analista da Meta e forneça um login dedicado. Nunca use credenciais de clientes reais.
{% endhint %}

Salve as configurações básicas antes de avançar.

***

### Etapa 4 — Login incorporado do Facebook

O Login Incorporado (Embedded Login) é o popup que permite ao usuário final conectar suas contas da Meta ao seu sistema.

No painel lateral, acesse **Login incorporado do Facebook → Configurações**.

1. Habilite **Login no navegador incorporado** e **Logout no navegador incorporado**.
2. Em **Subdomínios OAuth válidos**, insira o domínio onde o seu app roda.
   * Para o Z-PRO: `techprovider.com.br`
3. Em **URIs de redirecionamento do OAuth válidos**, insira os endpoints de retorno após o onboarding:

   * `https://oauth.techprovider.com.br/waba-signup`
   * `https://oauth.techprovider.com.br/instagram-signup`
   * `https://oauth.techprovider.com.br/facebook-signup`

   Se você configurou um domínio OAuth customizado, substitua `oauth.techprovider.com.br` pelo seu subdomínio.
4. Salve as alterações.

***

### Etapa 5 — Caso de uso: WhatsApp (WABA)

No painel lateral, acesse **WhatsApp → Personalizar**.

#### Permissões

Na aba **Permissões e recursos**, as permissões básicas (`whatsapp_business_messaging`, `whatsapp_business_management`, `public_profile`) já vêm pré-selecionadas. Adicione as permissões adicionais conforme o uso do seu sistema.

{% hint style="info" %}
Para o Z-PRO: a lista completa de permissões necessárias está na [página de apoio](https://comunidade.zdg.com.br/geral/app-meta-aprovar/).
{% endhint %}

#### Webhook (recebimento de mensagens)

Na aba **Configuração**:

1. No campo **URL de callback**, insira a rota de webhook do Z-PRO.
   * Para configurar por tenant: acesse **Z-PRO → Configuração → Integrações Meta** e copie a rota de webhook do tenant.
   * Para configurar globalmente: use o **Provedor Global** no Superadmin.
2. No campo **Token de verificação**, insira o token configurado no Z-PRO para aquele webhook.
3. Clique em **Verificar e salvar**.
4. Na seção de campos do webhook, marque os eventos que deseja receber (`messages`, `message_deliveries`, `message_reads`, etc.). Se não souber quais, marque todos.

#### Cadastro incorporado (Embedded Signup)

O cadastro incorporado é o onboarding que permite conectar números WABA pelo painel do Z-PRO sem que o cliente precise sair do sistema.

{% hint style="warning" %}
O botão **Começar a usar o cadastro incorporado** só fica disponível após as **três verificações** estarem completas: empresa (CNPJ), acesso (atividade) e análise do app.
{% endhint %}

Para configurar:

1. Clique em **Criar configuração** → dê um nome (ex: `waba`) → salve.
2. O **Config ID** gerado deve ser inserido no Z-PRO em **Superadmin → Redes Sociais e Marketplaces → App WABA**.
3. Em **Gerenciar lista de permissões de domínio**, adicione o mesmo redirect URI configurado no Login Incorporado.

***

### Etapa 6 — Caso de uso: Instagram

No painel lateral, acesse **Instagram → Personalizar**.

#### Permissões

Adicione as permissões que o seu sistema utilizará (`instagram_basic`, `instagram_business_basic`, `pages_show_list`, etc.).

#### Webhook

1. Acesse a aba **Configuração de API**.
2. Configure um webhook via **Provedor Global** no Z-PRO (Superadmin → Provedores Globais → Instagram) ou por tenant.
3. Cole a URL de callback e o token de verificação gerados no Z-PRO.
4. Clique em **Verificar**.
5. Marque os campos/eventos que deseja receber.

#### Redirect URI

Na seção de redirecionamento, adicione:

* `https://oauth.techprovider.com.br/instagram-signup` (ou seu domínio customizado)

O Z-PRO exibe essa URL ao criar um App WABA no Superadmin — copie diretamente de lá.

***

### Etapa 7 — Caso de uso: Messenger

No painel lateral, acesse **Messenger → Personalizar**.

#### Permissões

Adicione as permissões necessárias para gerenciar conversas e páginas.

#### Webhook

Mesmo processo do Instagram: configure via Provedor Global ou por tenant no Z-PRO, cole URL de callback e token, verifique e marque os eventos desejados (`messages`, `message_reads`, `messaging_referrals`, etc.).

{% hint style="info" %}
O redirect do Messenger já está coberto pelo **Login Incorporado do Facebook** configurado na Etapa 4 — não é necessário configurar um redirect separado.
{% endhint %}

***

### Etapa 8 — Caso de uso: Gerenciamento de página

No painel lateral, acesse **Gerenciamento de conteúdo → Personalizar**.

Neste caso de uso, a configuração é apenas de **permissões** — não há webhook próprio. Adicione as permissões que o seu sistema utilizará para gerenciar posts, comentários, engajamento e metadados de páginas.

***

### Etapa 9 — Gerar token permanente de sistema

O token permanente é necessário para autenticar as chamadas de API do Z-PRO com a Meta.

1. Acesse seu **Gerenciador de Negócios** (`business.facebook.com`).
2. Vá em **Configurações do Negócio → Usuários → Usuários do Sistema**.
3. Crie um **Usuário do Sistema** do tipo **Admin** (ex: `token`).
4. Atribua o aplicativo criado a esse usuário (aba **Apps** → **Atribuir apps** → selecione o seu app e marque **Gerenciar app**).
5. Clique em **Gerar novo token** → selecione o app → marque todas as permissões necessárias → gere e copie o token.

Este token vai no campo **Token permanente de acesso** no Z-PRO em **Superadmin → Redes Sociais e Marketplaces → App WABA**.

***

### Etapa 10 — Publicar o app

Antes de submeter para análise, o app precisa ser **publicado** (modo produção).

No painel do app, acesse **Publicação do app** e habilite o modo de produção. O botão só fica disponível após as configurações básicas (domínio, política de privacidade, termos e plataforma) estarem preenchidas.

***

### Etapa 11 — Análise do app (aprovação da Meta)

Esta é a etapa final e mais delicada. A Meta revisa todas as permissões solicitadas.

No painel lateral, acesse **Análise do app**.

#### Passo a passo da análise

1. Clique em **Iniciar análise**.
2. Para cada permissão listada, clique em **Começar** e preencha:
   * **Descrição de uso:** explique como e por que sua plataforma utiliza aquela permissão.
   * **Screencast:** grave um vídeo mostrando a funcionalidade em uso no seu sistema.
   * **Chamadas de API** (quando exigido): algumas permissões requerem chamadas de teste reais. Use o explorador de API da Meta ou uma IA para gerar as chamadas via cURL.
3. Preencha a seção **Tratamento de dados**:
   * Você tem operadores com acesso a dados? (geralmente: Não)
   * Quem é o responsável pelos dados? (nome, CPF, país)
   * Você compartilhou dados por exigência de segurança nacional? (geralmente: Não)
4. Preencha a seção **Instruções para o analista** (mesmas informações da Etapa 3 — login de teste, URL, sem pagamento).
5. Quando todas as seções estiverem verdes, clique em **Enviar para análise**.

{% hint style="info" %}
O prazo médio de análise é de **10 dias úteis**. A Meta pode aprovar, reprovar ou solicitar ajustes. Se solicitar ajustes, corrija o que foi apontado e reenvie.

Para o Z-PRO: as descrições e screencasts prontos estão na [página de apoio](https://comunidade.zdg.com.br/geral/app-meta-aprovar/). Use-os como base — a Meta pode pedir que você grave na sua própria plataforma.
{% endhint %}

***

### Resumo das etapas

<table><thead><tr><th width="93">#</th><th>Etapa</th><th>Observação</th></tr></thead><tbody><tr><td>1</td><td>Verificações de empresa e atividade</td><td>Obrigatório para cadastro incorporado e coexistência</td></tr><tr><td>2</td><td>Criar o app no Facebook Developers</td><td>Escolha os 4 casos de uso</td></tr><tr><td>3</td><td>Configurações básicas</td><td>Domínio, políticas, ícone, instruções de acesso</td></tr><tr><td>4</td><td>Login incorporado</td><td>Subdomínio + URIs de redirecionamento</td></tr><tr><td>5</td><td>WhatsApp (WABA)</td><td>Permissões + webhook + cadastro incorporado</td></tr><tr><td>6</td><td>Instagram</td><td>Permissões + webhook + redirect URI</td></tr><tr><td>7</td><td>Messenger</td><td>Permissões + webhook</td></tr><tr><td>8</td><td>Gerenciamento de página</td><td>Só permissões</td></tr><tr><td>9</td><td>Token permanente</td><td>Gerado no Gerenciador de Negócios</td></tr><tr><td>10</td><td>Publicar o app</td><td>Habilitar modo produção</td></tr><tr><td>11</td><td>Análise do app</td><td>Descrições + screencasts + envio para revisão</td></tr></tbody></table>


# Ligações de voz na API Oficial (WABA)

A API Oficial do WhatsApp (WABA) permite **receber e fazer ligações de voz** dentro do próprio WhatsApp do cliente, tudo pelo painel do Z-PRO. Este artigo mostra como habilitar o recebimento de chamadas, como solicitar a permissão necessária para originar ligações e como configurar o roteamento das chamadas entre os atendentes.

{% embed url="<https://www.loom.com/share/282aa04c452b48f6b82b3f81435ec475>" %}

{% hint style="info" %}
**Pré-requisitos:**

* Um canal já conectado e ativo na API Oficial (WABA), recebendo e enviando mensagens.
* A permissão de chamadas (`calls`) aprovada para o seu App na Meta.
  {% endhint %}

{% hint style="success" %}
**Conectado pelo App nativo da ZDG (OAuth)?** A permissão de chamadas (`calls`) já vem **aprovada** no nosso App. Não é preciso configurar webhook nem solicitar aprovação — basta ativar as chamadas no painel (Etapa 1) e usar. Por isso o processo é mais simples nesse caminho.

**Usa App próprio (Tech Provider)?** A permissão `calls` precisa ser aprovada pela Meta no processo de Análise do App (App Review) do seu próprio aplicativo.
{% endhint %}

***

### Como funciona

* **Receber ligações:** basta ativar as chamadas WebRTC no canal. Uma vez ativo, as chamadas recebidas passam a tocar para os usuários conforme a regra de roteamento definida.
* **Fazer ligações:** é diferente do recebimento. Antes de ligar para um contato, é preciso **solicitar uma permissão de chamada** e o contato precisa **aceitar**. Só depois de autorizada a permissão é possível originar a ligação.

{% hint style="warning" %}
**Janela de permissão para ligar:** após o contato autorizar, a permissão de chamada fica válida por **72 horas (padrão)**. Passado esse período, é necessário solicitar a permissão novamente para voltar a ligar para o contato.
{% endhint %}

***

### Etapa 1: Ativar o recebimento de chamadas (WebRTC)

1. Acesse **Configurações > Integrações > Meta > WhatsApp**.
2. Selecione o canal WABA que você conectou. As especificações do canal serão exibidas.
3. Verifique o telefone para confirmar que está tudo certo.
4. Localize a opção de chamadas e clique em **ativar as chamadas WebRTC**.

Pronto — o canal passa a receber (e a poder enviar) chamadas de voz.

{% hint style="info" %}
Para **receber** chamadas não é necessário aprovar nenhuma permissão: basta deixar as chamadas ativadas. Por padrão, a chamada recebida toca para **todos os usuários logados**, e qualquer um deles pode atender ou recusar. Para direcionar as chamadas, use a Etapa 3 (Roteamento).
{% endhint %}

***

### Etapa 2: Fazer uma ligação (permissão de chamada)

Para originar uma ligação, primeiro é preciso obter a autorização do contato:

1. Abra o atendimento e acesse os **detalhes do contato**.
2. No menu **Telefonia**, selecione a opção **WABA**.
3. Envie a **solicitação de permissão de chamada** ao contato.
4. O contato recebe no WhatsApp a mensagem **"Permitir ligações"** e precisa autorizar.
5. Com a **permissão autorizada**, clique em **Ligar** para iniciar a chamada de voz.

{% hint style="danger" %}
**Sem permissão de chamada aprovada** você não conseguirá ligar — o sistema exibe o aviso e bloqueia a chamada. Sempre solicite e aguarde o aceite do contato antes de tentar originar a ligação.
{% endhint %}

***

### Etapa 3: Roteamento de chamadas WABA

Por padrão, as chamadas recebidas tocam para todos os usuários logados. Para definir **quais atendentes** recebem cada chamada, configure o roteamento:

1. Acesse **Configurações** e localize o **Roteamento de chamadas WABA**.
2. Escolha a regra de distribuição desejada.

| Regra de roteamento            | Comportamento                                                                                       |
| ------------------------------ | --------------------------------------------------------------------------------------------------- |
| Tocar para todos os atendentes | A chamada toca para todos; o **primeiro que atender** assume a ligação. É a opção mais comum.       |
| Apenas o atendente do ticket   | Toca somente para o atendente que está com o ticket daquele contato.                                |
| Rodízio na fila                | Segue a fila do canal, distribuindo as chamadas conforme as regras de gestão daquela fila.          |
| Fallback escalonado            | Toca para um usuário por vez, na ordem da fila, escalando para o próximo se não houver atendimento. |

**Tempo de espera por usuário:** define por quanto tempo a chamada toca para cada usuário antes de passar para o próximo (no rodízio/fallback escalonado). O valor é em **segundos**. Ex.: com 5 segundos, a chamada toca 5s para o usuário 1; se ele não atender, passa para o usuário 2 por mais 5s, e assim por diante até alguém atender.

{% hint style="info" %}
Se a sua operação é dividida por **departamentos ou filas**, combine o roteamento de chamadas com a configuração de filas e balanceamento de atendimentos para direcionar cada tipo de chamada ao destino correto.
{% endhint %}

***

### Resumo das Funcionalidades

| Funcionalidade                          | Onde acessar                                                   |
| --------------------------------------- | -------------------------------------------------------------- |
| Ativar recebimento de chamadas (WebRTC) | **Configurações > Integrações > Meta > WhatsApp** > canal WABA |
| Solicitar permissão de chamada          | **Detalhes do contato > Telefonia > WABA**                     |
| Fazer uma ligação                       | **Detalhes do contato > Telefonia > WABA > Ligar**             |
| Configurar roteamento das chamadas      | **Configurações > Roteamento de chamadas WABA**                |

***

### Encerramento

Com as chamadas ativadas, seu canal WABA passa a receber e fazer ligações de voz diretamente pelo Z-PRO, sem ferramentas externas — e o roteamento garante que cada chamada chegue ao atendente certo.

***

### Possíveis Erros e Soluções

#### "Sem permissão de chamada aprovada" ao tentar ligar

**Causa:** o contato ainda não autorizou a permissão de chamada, ou a janela de permissão expirou. **Solução:** envie (ou reenvie) a solicitação de permissão em **Detalhes do contato > Telefonia > WABA** e aguarde o aceite do contato. Lembre-se de que a permissão vale por 72 horas (padrão).

#### As chamadas não tocam para os atendentes

**Causa:** chamadas WebRTC não ativadas nas configurações do número WABA conectado ao ZPRO, ou roteamento direcionando para usuários que não estão logados. **Solução:** confirme a ativação em **Configurações > Integrações > Meta > WhatsApp** e revise a regra em **Roteamento de chamadas WABA**.


# Exemplo de fluxo no N8N + API Z-PRO + WABA

{% embed url="<https://youtu.be/jfF7h_7q8tY>" %}

{% content-ref url="/pages/JQZg61Z9gRqvsdj2eh6S" %}
[N8N - Tutorial de integração](/avancado-recursos-tecnicos/integracoes-terceiras/n8n-tutorial-de-integracao)
{% endcontent-ref %}


# Cobranças da Meta (WhatsApp Business Platform)

Esta página detalha como funciona o modelo de precificação do WhatsApp Business Platform (WABA). É fundamental compreender que estes custos são cobrados diretamente pela Meta através da sua conta de faturamento no Gerenciador de Negócios.

{% hint style="info" %}
O Z-PRO possui integração nativa com a API oficial (WABA), facilitando a gestão das suas mensagens, porém, todos os valores relativos ao tráfego de mensagens são pagos diretamente à Meta, sem intermediação financeira da nossa plataforma nessas taxas específicas.
{% endhint %}

### Perguntas Frequentes&#x20;

#### 1. Como a Meta cobra pelas mensagens?

A partir de 1º de julho de 2025, a precificação será baseada em cada mensagem entregue. A cobrança ocorre apenas quando a mensagem chega ao destinatário.

#### 2. Quais fatores influenciam o preço de uma mensagem?

O valor cobrado por cada mensagem depende de dois fatores principais:

* País de destino: O preço varia de acordo com o código de área (DDI) do número de telefone do destinatário.
* Categoria da mensagem: As mensagens são classificadas em quatro categorias: Marketing, Utilidade, Autenticação ou Serviço. Cada par "mercado-categoria" possui uma tarifa específica.

#### 3. Quais são as categorias de mensagens?

* Marketing: Mensagens promocionais, ofertas ou novidades.
* Utilidade (Utility): Mensagens relacionadas a uma transação específica, como confirmações de pedidos ou atualizações de entrega.
* Autenticação: Códigos de acesso de uso único para verificação de identidade.
* Serviço (Service): Mensagens de formato livre iniciadas por empresas para responder a dúvidas de clientes dentro de uma janela específica.

#### 4. O que é a Janela de Atendimento ao Cliente?

É um período de 24 horas que se inicia toda vez que um usuário envia uma mensagem para a sua empresa. Essa janela é reiniciada a cada nova mensagem enviada pelo usuário.

#### 5. Existem mensagens gratuitas?

Sim, a Meta oferece as seguintes isenções dentro da Janela de Atendimento:

* Respostas de Serviço: Mensagens de texto livre (não baseadas em modelos/templates) enviadas pela empresa em resposta a um usuário não possuem custo.
* Modelos de Utilidade em resposta: O envio de modelos de utilidade em resposta a uma mensagem de usuário dentro da janela de 24 horas também passará a ser gratuito a partir de 1º de julho de 2025.

#### 6. Como funcionam os "Pontos de Entrada Gratuitos"?

Quando um usuário inicia uma conversa com a empresa através de um Anúncio de Clique para o WhatsApp ou um Botão de Ação na Página do Facebook, a primeira resposta da empresa abre uma janela de 72 horas (3 dias). Durante este período, nenhuma mensagem enviada pela empresa (seja marketing, utilidade ou serviço) será cobrada.

#### 7. Existe desconto para grandes volumes de mensagens?

Sim. Para as categorias de Utilidade e Autenticação, a Meta oferece níveis de volume (Tiers). À medida que o volume de mensagens em um mercado específico aumenta, a empresa pode desbloquear preços mais atrativos automaticamente para as mensagens dentro daquele nível.

#### 8. Onde posso consultar os valores exatos por mensagem?

Os valores detalhados por país e categoria, bem como as faixas de volume, são publicados oficialmente pela Meta e podem ser encontrados em:

* [Central de Desenvolvedores da Meta - Precificação](https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing)
* [Calculadora Meta](https://business.whatsapp.com/products/platform-pricing?lang=pt_BR\&country=Brasil\&currency=D%C3%B3lar%20\(USD\)\&category=Marketing)

***

Nota: As informações acima referem-se às políticas da Meta com atualizações previstas para 1º de julho de 2025.


# Atualizações e Status do Z-PRO

Histórico de versões e changelog do Z-PRO. Acompanhe novidades, correções e o procedimento de atualização de cada release.

Esta seção reúne tudo que você precisa para manter sua instalação do Z-PRO atualizada e em dia com os recursos mais recentes.

***

### [Changelog — Novidades e Correções](/central-do-assinante/atualizacoes-e-status-do-z-pro/changelog-4.0.x-ultima-versao)

{% hint style="success" %}
**Esta é a página mais importante desta seção.** Toda atualização do Z-PRO — novos recursos, melhorias e correções de bugs — é registrada aqui. Acompanhe o changelog para saber o que mudou antes de atualizar e para descobrir recursos que a sua operação ainda não usa.
{% endhint %}

O changelog é organizado por versão. Cada entrada descreve o que foi adicionado, o que foi corrigido e o que pode ter mudado de comportamento.

***

### [Procedimento Padrão de Atualização](/central-do-assinante/atualizacoes-e-status-do-z-pro/procedimento-padrao-de-atualizacao)

Passo a passo para atualizar sua instalação com segurança — seja pelo método automático (script) ou manual (upload de arquivos). Inclui orientação sobre quando usar a versão **Homolog** (estável) ou **Hotfix** (última correção) e o que fazer antes de qualquer atualização.

***

Acompanhe nosso Roadmap público: <https://roadmap.zdg.com.br/>

Acompanhe nosso canal de avisos do Telegram: <https://t.me/+mzRfVk-Qe7VlZDIx>


# Changelog (4.0.x última versão)

Notas de versão do Z-PRO 4.0.x: novidades, correções e breaking changes de cada atualização. Leia antes de atualizar.

{% hint style="warning" %}

### Manter seu sistema atualizado é fundamental para a segurança, performance e acesso a novas funcionalidades.

{% endhint %}

{% hint style="info" %}

### Para acompanhar as novas versões entre no [canal de avisos do Telegram](https://portal.zdg.com.br/270021-sistema-zpro/5179500-links-termos-de-uso-e-informacoes-gerais)&#x20;

[Aula - Atualização Passo a Passo](https://portal.zdg.com.br/270021-sistema-zpro/5179468-atualizacao-automatica-via-terminal)
{% endhint %}

{% hint style="danger" %}
**AVISO: FAÇA UM SNAPSHOT DO SERVIDOR**

Antes de iniciar qualquer procedimento de atualização, é **mandatório** criar um **snapshot** (um ponto de restauração) do seu servidor VPS.

Um snapshot é a sua única garantia de que poderá reverter o sistema ao estado anterior de forma rápida e segura em caso de qualquer falha ou imprevisto durante o processo de atualização.
{% endhint %}

***

## Última Versão

### v4.0.5

**🚀 UPDATE OFICIAL (HOMOLOG) | 09/09/2026**

Correção cumulativa da versão Homolog atual (v4.0.5.0).

{% hint style="danger" %}
**Faça um BACKUP / SNAPSHOT antes de aplicar esta correção.**

Esta versão corrige o roteamento de mensagens do WhatsApp Oficial quando o mesmo cliente tem dois cadastros (BSUID) e ajusta o cadastro de contatos em vários canais — faça o backup antes de atualizar.
{% endhint %}

{% hint style="info" %}
**Ajustes automáticos nesta atualização:** fluxos de chatbot afetados pelo inchaço da Tabela de Horários com mídias são limpos automaticamente, e a ação **"Bloquear Chatbot"** passa a valer também nos fluxos já existentes.
{% endhint %}

**💬 Atendimento e Tickets**

* **Colar (Ctrl+V) imagem** copiada direto da conversa ou de qualquer página do navegador — antes só a imagem de print de tela ou de arquivo era anexada.
* **Encerrar em massa por período:** no painel de atendimentos, é possível encerrar de uma vez todos os atendimentos do período filtrado, sem enviar mensagem de despedida aos contatos.
* **Ações em massa com tela de progresso:** contagem de tickets processados, execução que segue até o fim mesmo se algum falhar, e resumo de quantos deram certo e quantos falharam.
* Mensagens que o WhatsApp não conseguiu entregar deixam de aparecer como "tipo de mensagem não suportado" e passam a avisar que a mensagem está indisponível, com orientação de pedir o reenvio ao cliente — no idioma do painel.
* **Mais segurança e confiabilidade:** a API externa limita dados internos do canal, mensagens recebidas em rajada no WhatsApp Oficial não se perdem mais, conversas duplicadas por mensagens simultâneas deixam de acontecer, e a transferência de canal avisa quando o contato já tem atendimento aberto no destino.
* A **fila padrão do canal** volta a ser aplicada no WhatsApp Oficial (Meta) quando o canal também tem chatbot, e nos canais de e-mail (IMAP/POP3/Gmail) a fila e o atendente padrão passam a ser aplicados.
* No **celular**, a tela de atendimento não corta mais a lateral ao digitar, e as imagens recebidas ficam corretamente dentro do balão da conversa.
* Adicionar nota ou editar dados de um atendimento na aba **Fechados** não faz mais o atendimento sumir da lista nem fechar a conversa.
* Corrigido: o cabeçalho da janela **"Espiar atendimento"** estourava os botões Encerrar/Atender quando o contato tinha nome longo (comum no canal de e-mail).

**🔔 Notificações e Sininho**

* **Pushs:** as notificações e mensagens do sistema deixaram de usar símbolos decorativos, mantendo intacto o texto e o nome escritos pelo cliente.

**📞 Chamadas de Voz (WebPhone, SIP, WaVoIP)**

* **Toque de chamada personalizado:** basta colocar um arquivo `ringtone.wav` na pasta pública do sistema; sem arquivo, o toque continua exatamente como era.
* Chamada em andamento não é mais derrubada quando outra chega.
* Corrigido o **botão SIP** do contato, que mostrava "Chamando..." sem completar a ligação — agora ele disca de verdade pelo WebPhone, já com o número preenchido, e avisa na tela quando a chamada não pode ser iniciada.
* **Chamadas de voz do Dialog360 e do Gupshup:** planejamento concluído, liberação em etapa seguinte.

**🧠 Copiloto e Agente de IA**

* **Copiloto:** "Copiar texto", "Pergunte ao ChatGPT" e "Traduzir" voltaram a aparecer nas mensagens recebidas por WhatsApp Oficial, Instagram, Messenger, Dialog360, Gupshup e Meow.
* Resumos, análises de sentimento e insights de IA agora saem no **idioma escolhido por cada atendente** na tela.
* **Agente de IA:** corrigida a perda de memória entre mensagens (o agente voltou a considerar a conversa inteira); a transferência só é anunciada ao cliente depois de acontecer de verdade; e o agente ganhou **ferramentas externas** para consultar dados nas suas automações antes de responder.
* O **assistente de IA do fluxo de atendimento** entende a intenção do cliente e age sozinho — transfere para a equipe ou o atendente certo, sem exigir que o cliente digite palavras exatas.

**📊 Kanban e Funil**

* **Envio de mensagem pelos cards do funil** volta a funcionar para atendentes e permite escolher se o atendimento nasce em nome do atendente ou fica aguardando na fila.
* Corrigido: alerta indevido de "canal excluído" nas ações do funil quando a ação usava canal de template (WhatsApp Oficial e BSPs) ou um canal apenas desconectado.

**🤖 Chatbot e Chatflow**

* **Filtros de público do chatbot** passam a valer de verdade em todos os canais: contato fora do público não recebe mais o robô (nem pelo fluxo padrão da conexão), atendimentos presos num robô mudo vão direto para a equipe, etiquetas com espaço extra deixam de quebrar o filtro, e os motivos de silêncio do robô aparecem no log.
* Corrigido: **etiqueta definida por automação** durante o fluxo do bot não some mais do atendimento quando o bot envia a mensagem seguinte (canal WhatsApp API Oficial).
* Corrigido: a ação **"Bloquear Chatbot"** do construtor de fluxos não marcava o contato como bloqueado ao passar pela etapa — agora o bloqueio é aplicado corretamente, inclusive em fluxos já existentes.
* Corrigido: **inchaço do fluxo** ao usar Tabela de Horários com mídias — o salvamento reenviava cópias internas dos passos (com vídeos embutidos), estourando o limite e travando o editor; fluxos afetados são limpos automaticamente na atualização.

**📢 Campanhas e Disparo em Massa**

* Ao **editar uma campanha**, o arquivo de mídia já anexado aparece na tela, com opção de remover ou substituir — antes o campo voltava vazio e dava a impressão de que a mídia tinha se perdido (ela sempre foi enviada normalmente).
* O **template escolhido e os valores das variáveis** aparecem preenchidos ao reabrir a campanha, sem precisar recarregar a tela.
* Confirmações de envio ficaram mais leves no banco de dados — contas que não usam campanhas deixam de fazer verificações desnecessárias a cada mensagem — e o relatório de campanhas passa a registrar corretamente o status de entrega e leitura nos canais QR Code.

**💳 Cobrança (Pix, Boleto e Link)**

* **Templates de pagamento pelo painel:** podem ser criados direto pelo painel, e os dados do Pix, boleto ou link deixaram de ser recusados por formato — o sistema avisa, mas quem decide o que cobrar é você.
* **Templates de cobrança:** o texto do botão de pagamento já vem pronto e não pode mais ser alterado por engano; o envio avisa o que está faltando — a ficha de pagamento ou o código de um botão — em vez de mostrar um erro genérico.
* **Permissão por empresa:** dá para liberar que atendentes comuns enviem cobranças por Pix, link ou boleto — e quem não tem permissão vê o aviso antes de preencher a cobrança, em vez de descobrir só ao tentar enviar.

**📱 Canais Oficiais Meta (WABA / Instagram / Messenger)**

* **Cliente com dois cadastros (BSUID):** a mensagem do WhatsApp Oficial deixa de se perder quando o mesmo cliente está cadastrado duas vezes — a conversa passa a cair no cadastro correto, e um relatório aponta os cadastros duplicados para união.
* **Cliente sem número (nome de usuário):** quem fala pelo WhatsApp Oficial usando nome de usuário é atendido normalmente — o atendente consegue responder, o cadastro salva sem exigir telefone, e há um botão para pedir o número ao cliente pelo caminho oficial do WhatsApp.
* **Criação de templates:** o campo de cabeçalho mostra o limite de caracteres e um contador, e o gerador por IA respeita os limites automaticamente.
* **Formulários do WhatsApp (Flows):** as respostas aparecem preenchidas no histórico e dão sequência ao chatbot também nas conexões 360dialog e Gupshup; a lista de conversas e os relatórios mostram o que o cliente respondeu em vez de texto técnico; campanhas passam a enviar botões de formulário e catálogo; e o envio de formulários aceita seleção por nome com cabeçalho de imagem, vídeo ou documento.
* **Modo Coexistência:** botões e listas enviados no atendimento aparecem na tela já como o cliente recebe (menu numerado), o atendente vê um aviso antes de enviar, e o canal ganhou a opção **"Botões e listas pela API oficial"** para entregá-los como botões de verdade.

**🔌 Integrações Não Oficiais (Baileys, UazAPI, Z-API, Evolution, Evolution Go, Meow, wuzapi)**

* **API Baileys:** as fotos de perfil dos contatos do WhatsApp voltaram a aparecer, inclusive nas conversas que só tinham as iniciais.
* **Evolution Go — cadastro de contato** voltou a funcionar: contato sem foto de perfil não impede mais o salvamento, número digitado com ou sem o nono dígito é aceito, e quando o número realmente não existe no WhatsApp a tela passa a dizer isso em vez de "erro ao criar".
* **Evolution Go — conversa avulsa:** corrigido o erro ao iniciar; o número volta a ser validado (inclusive quando falta o 9º dígito) e, quando algo dá errado, a tela diz o motivo em vez de "erro desconhecido".
* **QR Code do Z-API:** quando falta o Number ID, o token ou o endereço do provedor, a tela passa a dizer exatamente o que preencher em vez de abrir sem código — e o QR gerado não some mais sozinho durante a leitura.
* **Conexões via biblioteca (Evolution, Evolution Go, Meow, Z-API, UAZAPI)** avisam quando a integração não está configurada, em vez de criar um canal que não conecta — e canais já criados podem ser removidos normalmente.
* **wuzapi custom (não homologada):** o recibo de leitura do cliente não reabre mais atendimento encerrado nem cria conversa nova (o status de "lida" continua funcionando normalmente).

**👥 Grupos e Menções**

* **Menção com @ em grupos** voltou a listar os participantes com nome e telefone, inclusive nos grupos novos do WhatsApp; mencionar por número, mencionar todos e a menção oculta voltaram a notificar de verdade.
* **Menção com @ nas conexões uazapi, meow e Z-API:** pelo atalho @ na conversa, pelo menu "Mencionar participante" ou mencionando todos de uma vez.
* **Link de convite dos grupos** é entregue pela API, com aviso do motivo quando não for possível gerá-lo, e há um novo recurso para revogar o link atual e criar outro na hora.

**🛍️ Marketplaces e Hub (Mercado Livre)**

* **Mercado Livre:** as reclamações do comprador chegam dentro da própria conversa — com resposta pelo mesmo campo de sempre — e o atendimento aberto avisa quando o pedido muda de status; a reclamação vai direto para atendente, sem chatbot.

**🤝 WebChat / Chat do site**

* **Link direto e responsivo:** o WebChat pode ser usado por um link — ideal para aplicativos, portais e QR Codes —, com uma página de conversa pronta que abre sem precisar colar código no site (**Configurações → WebChat**).
* **Citação de mensagens:** respostas do atendente aparecem com a citação no chat do cliente (widget e link direto), com clique para pular até a mensagem original.
* **Celular:** o chat abre em tela cheia corretamente — o cabeçalho e o botão de fechar voltaram a aparecer, os botões de anexar e enviar não ficam mais escondidos atrás do balão flutuante, a tela para de deslocar ao tocar no campo de mensagem, funciona também com o celular deitado e, em telas baixas, o painel se ajusta sozinho para o cabeçalho e o botão de fechar nunca ficarem fora da tela.

**📣 Publicação em Redes Sociais (Instagram e Facebook)**

* Publicação de posts no Instagram e no Facebook voltou a funcionar em contas com armazenamento em nuvem — a imagem passa a ser enviada ao armazenamento antes da publicação, valendo também para posts agendados, rascunhos e mídias de resposta rápida.

**🔗 API e Integrações Externas**

* **Responder qualquer conversa pelo número do atendimento (ticket):** texto e arquivos em WhatsApp, Instagram, Messenger, Telegram, Webchat, E-mail, Hub e Mercado Livre pelo mesmo endpoint, com reabertura opcional do atendimento fechado.
* O **canal de e-mail** avisa por webhook quando uma nova mensagem chega.
* **Criar empresa pela API com plano:** os limites e recursos do plano são aplicados na hora, e um plano inexistente é recusado sem criar nada.
* **Descarteirizar contato pela API:** enviar a lista de carteiras vazia remove todas, e carteiras inválidas ou de outra empresa são recusadas com aviso claro em vez de erro genérico.
* **Documentação da API no painel** revisada de ponta a ponta, com correção dos campos e exemplos de rotas que não batiam com o que a API realmente aceita — a tela de APIs e o Postman foram atualizados.

**👥 Contatos e Importação**

* **Cadastro por vCard** passou a tolerar falha na busca da foto de perfil, como já acontece no cadastro pelo menu: o contato é salvo mesmo quando o canal não consegue devolver a imagem.
* Corrigido: a **consulta de diagnóstico de contatos sem telefone** — o canal do atendimento é lido do próprio atendimento, não do cadastro do contato.

**📈 Relatórios, Dashboard e Avaliações**

* **Relatório de oportunidades em CSV** agora traz nome, telefone e e-mail do contato (além dos nomes de funil, etapa e responsável), com o telefone preservado por inteiro ao abrir na planilha.
* **Atendimentos de grupo fora dos tempos médios:** nova opção nas configurações da empresa permite tirar as conversas de grupo dos tempos médios dos relatórios, sem que elas sumam das contagens.
* **Avaliações:** as estrelas acompanham a pontuação máxima configurada em toda parte (configuração, listagem, filtro e histórico do atendimento) — escalas menores que 5 não mostram mais estrelas sobrando, a nota 0 ficou filtrável, e a mensagem padrão de reenvio cita a escala correta.

**📅 Agendamento e Aniversários**

* **Google Agenda por página:** escolha qual agenda do Google cada página de agendamento usa, marque uma agenda padrão para o resto do sistema, e compromissos de agendas secundárias passam a bloquear horários corretamente.
* Cada página de agendamento e cada profissional aponta para a agenda e o calendário certos do Google; compromissos já marcados deixam de ser oferecidos como horário livre; e cancelar ou remarcar pelo painel também atualiza o Google.
* **Lista de consultas paginada,** com filtros de situação, período e busca, e calendário que carrega as consultas do mês exibido — antes a tela parava nos 100 primeiros registros e os meses futuros apareciam vazios.
* **Google Agenda resiliente a rede:** em vez de erro, o sistema repete a consulta sozinho e, se a listagem de agendas falhar, continua mostrando os compromissos da agenda principal.
* **A agenda voltou a abrir para atendentes** e passou a ter permissão própria — ligar ou desligar o Kanban não afeta mais a agenda, e cada item desativado no painel bloqueia só a sua própria tela.
* **Mensagem agendada disparada** deixa um aviso na conversa marcando a hora do envio e o trecho do texto, para a resposta do cliente fazer sentido na ordem — com interruptor por empresa em **Configurações → Geral**.

**⚙️ Superadmin, Planos e Pagamentos**

* **Limites por tipo de canal** passam a valer para WhatsApp Oficial via login, Instagram, Facebook e canais Hub; as telas de empresas e planos mostram uma linha por tipo real; empresas presas na lista padrão antiga ganham os canais oficiais e marketplaces; e a janela de login do Facebook, Instagram e WhatsApp Oficial passa a dizer o motivo real da recusa.
* Corrigido: o **aviso de teste grátis no menu** mostrava sempre 31 dias e ignorava a duração configurada da empresa — agora exibe os dias reais, a data de encerramento e avisa quando o prazo passa a ser a primeira cobrança.
* Corrigido: rótulos e avisos com texto técnico na **tela de edição de canal do superadmin**, agora traduzidos em todos os idiomas.

**🔐 Perfis, Permissões e Menus**

* **Restrições de menu da plataforma** valem para todos os perfis de usuário da empresa — itens desativados somem do menu e da busca e ficam bloqueados por link direto, sem exceções por tipo de conta.
* **Menu Funil por usuário:** pode ser liberado ou ocultado por usuário, e a tela de usuários do superadmin ganhou o mesmo formato de permissões de menu das demais telas.
* **Tela de perfis de acesso:** corrigida a falha que quebrava a janela de permissões ao abrir, e a permissão de **cobranças** passou a ser marcável no perfil personalizado.

**✉️ E-mail e E-mail Marketing**

* **Novo módulo de E-mail Marketing:** crie modelos de e-mail com editor visual e variáveis, dispare campanhas e envios em massa pelos seus canais de e-mail (Gmail e SMTP/IMAP), com link de descadastramento automático, lista de bloqueio e ações automáticas quando o contato responde.

**🎨 Interface, Navegação e Configurações**

* **Ícone no card de compartilhamento:** ao compartilhar o link do sistema no WhatsApp e em outras redes, a imagem do card é sempre o ícone personalizado da instalação, mesmo em instalações que enviaram o ícone há mais tempo.
* **Tela de boas-vindas:** depois de fechada uma vez, fica marcada como lida na conta do usuário e não aparece mais, nem ao trocar de navegador, aparelho ou limpar o cache.

**🔧 Sistema, Armazenamento e Infra**

* **Backup por empresa** começa na hora e avisa na tela enquanto roda — acabou o falso "erro ao iniciar" em backups grandes, que na verdade terminavam normalmente.
* **Limpeza de arquivos antigos:** a exclusão automática agora libera espaço em disco, e o envio para o armazenamento externo avisa antes o que será apagado do servidor.
* **Cloudflare R2:** a URL pública deixou de aparecer como opcional — agora é destacada como obrigatória, com explicação no próprio campo, e as mensagens de erro ao salvar dizem exatamente o que falta corrigir.

***

## <mark style="color:red;">Versões anteriores</mark>

### v4.0.4

**🚀 UPDATE OFICIAL (HOMOLOG) | 17/08/2026**

{% hint style="danger" %}
Esta versão altera **permissões, visibilidade de atendimentos e regras de criação de usuários** — inclusive na API. Os detalhes estão explicados abaixo.
{% endhint %}

**⚠️ BREAKING CHANGE — Permissões, visibilidade e segurança**

As notificações agora seguem **exatamente** as mesmas permissões da tela de Atendimentos: o usuário só recebe avisos de conversas que pode abrir. A segurança no servidor também foi reforçada — atendimentos fora do alcance do usuário não podem mais ser abertos nem respondidos por link direto.

**O que muda no comportamento atual**

* **Criação de usuários:** agora exige permissão de gestão e não permite criar perfil superior ao próprio. **Scripts que criavam usuários com credencial comum podem parar de funcionar.**
* **API:** não cria mais contas de nível plataforma. Administrador, supervisor, atendente e perfil personalizado continuam funcionando normalmente.
* **Edição do próprio cadastro:** usuários sem permissão de gestão não podem mais alterar filas, canais, horário, e-mail, senha e outras configurações do próprio cadastro.
* **Canais:** usuários com canais definidos acessam somente esses canais — o servidor também bloqueia o acesso direto aos demais.
* **Visualização por Departamento:** agora é validada no servidor. Supervisor restrito não acessa outra fila por link direto; supervisor sem fila definida continua sem restrição.
* **Conversas do robô:** ficam ocultas apenas enquanto estão com o robô. Após o encaminhamento para uma fila, voltam a aparecer.
* **Carteira:** o dono da carteira volta a visualizar e a receber avisos dos atendimentos do contato.

**Regras por perfil**

| Perfil                         | Situação                 | O que passa a ver                                                     |
| ------------------------------ | ------------------------ | --------------------------------------------------------------------- |
| **Supervisor**                 | Sem restrições           | Vê tudo.                                                              |
|                                | Com departamento + filas | Apenas suas filas, além dos próprios atendimentos, convites e grupos. |
|                                | Sem filas definidas      | Sem restrição.                                                        |
|                                | Com restrição de canal   | Apenas os canais atribuídos.                                          |
| **Atendente**                  | Com filas                | Suas filas + atendimentos próprios, convites, carteira e grupos.      |
|                                | Sem filas                | Continua vendo os atendimentos não atribuídos.                        |
|                                | Sem canais definidos     | Todos os canais.                                                      |
|                                | Com canais definidos     | Somente esses canais.                                                 |
| **Administrador / Plataforma** | Uso normal               | Nada muda: acesso completo aos atendimentos.                          |
| **Perfil personalizado**       | Com acesso total         | Mantém a visão completa.                                              |
|                                | Sem acesso total         | Segue as regras de fila e canal.                                      |

{% hint style="info" %}
**Dois detalhes importantes:** o supervisor **não pode mais alterar a própria "Visualização por Departamento"**, e o atendimento próprio do atendente continua acessível mesmo se o canal for excluído.
{% endhint %}

**Correções ligadas a permissões**

* Corrigido o "acesso restrito" ao clicar em notificações.
* Convites removidos deixam de gerar avisos.
* Alterações de permissões passam a valer em até 30 segundos.
* Corrigido o alerta duplicado em Nuvemshop e WooCommerce.
* As telas de usuário não oferecem mais opções que o servidor vai recusar.
* Permissões de menu escolhidas na criação do usuário agora são salvas corretamente — antes o usuário era criado com todos os menus liberados. O horário de atendimento definido na criação também passa a ser respeitado.
* Corrigido o erro ao salvar a edição do próprio cadastro (nome, e-mail, telefone) — perfil e permissões agora aparecem bloqueados para o próprio usuário, com aviso.
* Atendentes sem restrição de conexão voltam a receber notificações push, e a redistribuição automática passa a considerar corretamente quem pode ver o número.

**⚠️ BREAKING CHANGE — Perfis personalizados**

* **Entram no roteamento automático.** Antes eram invisíveis para o bot e para a distribuição de fila — nunca recebiam atendimento automático. Se você modelou um perfil personalizado de supervisão, essas pessoas passam a receber atendimento.
* **Ações que exigem marcar uma nova permissão** no perfil personalizado (sem ela, param de funcionar): criar, editar e excluir canal — inclusive o Login com Facebook — → **Gerenciar sessões**; salvar qualquer configuração da empresa → **Configurações gerais**; salvar horário de atendimento e feriados → **Gerenciar horários**; marcar todos como não lidos → **Atribuir atendimentos**.
* **Agenda:** a página passou a ser limitada pela capability **agenda** do plano, e não mais por `funnelKanban`. Um plano que tenha Funil mas não Agenda passa a bloquear a Agenda — antes ela entrava de carona.
* Perfis personalizados agora funcionam de ponta a ponta em Integração Meta, Dashboard, Campanhas e Configurações, e a tela de perfis passou a avisar quando falta marcar a permissão que a página exige.

**⚠️ BREAKING CHANGE — Eventos do painel em tempo real**

* **Payload enxuto:** os eventos do painel passam a chegar com dados reduzidos — menos consumo de banda e mais velocidade, especialmente em equipes grandes. Se você tem integração lendo os eventos do socket, revise os campos utilizados.

**💬 Atendimento e Tickets**

* **Mais confiável e rápido:** mensagens que falham não somem mais e podem ser reenviadas com um clique, o upload de arquivos mostra progresso e novos atalhos de teclado agilizam o dia a dia.
* **Colar arquivos com Ctrl+V** no atendimento — PDF, Word, Excel e outros documentos, além de imagens e vídeos.
* **Reabertura com aviso de duplicidade:** ao reabrir um atendimento encerrado, o sistema avisa se o contato já tem uma conversa em andamento (no mesmo canal ou em outro), para quem o atendimento vai e se a janela de 24 horas está fechada — antes de criar um atendimento duplicado. A lista também deixou de esconder um dos atendimentos quando o mesmo contato tem dois em aberto.
* **Etiquetas definidas por API ou pelo chatbot** aparecem no atendimento na hora, sem esperar a próxima mensagem nem recarregar a página.
* **Botão (x) da lista volta a encerrar de forma direta** — sem pesquisa de satisfação, sem demanda obrigatória e sem mensagem de despedida. A pesquisa continua sendo enviada pelo "Resolver" do atendimento e pelo painel do contato, conforme o comportamento configurado em Avaliações.
* **Espiar conversa do contato:** o histórico é exibido exatamente como no chat do atendimento — imagens ampliam em tela cheia, PDFs abrem em popup, áudios ganham o player completo e mensagens de botões, listas e templates aparecem formatadas.
* **Notas do atendimento com links clicáveis:** URLs, endereços www e e-mails abrem direto da nota, e códigos PIX e linha digitável continuam intactos para copiar. O chat privado também passou a exibir links clicáveis.
* **Mensagem rápida com apenas arquivo:** a "/" usada para buscar não vai mais junto na conversa — some sozinha ao escolher a mensagem — e o botão de enviar aparece normalmente também no celular.
* Ao abrir um atendimento, a conversa sempre carrega na mensagem mais recente: sem abrir no meio nem exigir clique na seta para descer.
* A lista de conversas não volta mais ao tamanho inicial depois de usar "carregar mais" — as páginas carregadas são preservadas nas atualizações em tempo real e após ações em massa.
* Ao ampliar a foto de perfil, contatos sem foto (ou com foto expirada) exibem as iniciais coloridas em vez de um popup vazio.
* O botão **"Enviar template"** do aviso de janela de 24h agora se ajusta automaticamente ao tema e às cores da marca, ficando legível também no modo claro.
* O **PDF de exportação da conversa** apresenta as mensagens em ordem cronológica, da mais antiga para a mais recente.
* Corrigido: a conversa não fecha mais sozinha ao enviar mensagem em atendimento atribuído a outro usuário da mesma fila.
* Corrigido: cliente com atendente fixo (carteira) que chamava por um número fora da visão do atendente ficava sem atendimento — agora o atendimento vai para outro responsável da carteira ou para a fila, normalmente.
* Corrigido: erro intermitente ao enviar respostas rápidas com botões/lista no WhatsApp Oficial e mensagens interativas no Instagram/Messenger logo após aceitar o atendimento.
* Corrigido o contador da janela de conversa, que em alguns casos exibia tempo restante acima de 24 horas.
* Corrigido: documentos PDF com nome contendo pontos duplos (ex.: `arquivo..pdf`) abrem e baixam normalmente no atendimento.
* Corrigido: envio de imagens e arquivos pelo bot quando o nome do arquivo contém espaços ou acentos.
* Corrigido: travamentos do chat privado ao abrir conversas em grupo, além do contador de mensagens não lidas que podia aparecer zerado.
* Corrigido o aviso "Este recurso não está incluído no seu plano", que aparecia sozinho ao abrir um atendimento mesmo sem o usuário acessar o recurso.

**🔔 Notificações e Sininho**

* Ao desativar **"Notificações sonoras"** em Configurações, os alertas de áudio são silenciados imediatamente em todas as sessões abertas — incluindo chat interno, chat de suporte e notificações do sistema, sem precisar recarregar a página.
* Corrigido: com o filtro de tickets no socket ativo, atendentes voltam a receber som, notificação e prévia da mensagem em atendimentos pendentes.
* **Conexões e agendamentos** sinalizam quando apontam para fluxo de bot, fila ou atendente que foi excluído — com aviso automático no sininho dos administradores.
* **Ações automáticas de ticket e do funil** sinalizam quando usam canal, etiqueta, carteira ou etapa que foi excluída — na tela e no aviso diário do sininho.

**📊 Kanban e Funil**

* Corrigido o alerta de fechamento no funil, que exibia "hoje" para oportunidades que venciam no dia seguinte e ignorava as que venciam de fato no dia — datas e contagem de dias agora batem com a data mostrada no card.

**🤖 Chatbot e Chatflow**

* **Editor de fluxo profissional:** desfazer/refazer, aviso de conexões quebradas e ações arrastáveis para dentro dos passos.
* **Variáveis como `{{name}}`** passam a funcionar no corpo, nos títulos e nas opções das listas (WABA, Gupshup e 360Dialog) e na mensagem padrão de tentativa em todos os canais; falhas de envio de lista são sinalizadas no atendimento.
* Transferências para fila, atendente ou canal excluídos não travam mais o atendimento — o sistema avisa no sininho e sinaliza o fluxo com pendência na tela de Chat Flow.
* **Listas do ChatFlow no canal UazAPI** enviam a descrição de cada opção, e o cabeçalho configurado aparece como primeira linha da mensagem.

**📢 Campanhas e Disparo em Massa**

* **Status real por destinatário** nos relatórios de disparo em massa e de campanha — enviada, entregue, lida ou falha — com exportação por número. O relatório também deixa claro quando a mensagem foi apenas aceita pelo provedor, sem confirmação de entrega.
* **Disparo por template** (comum e com variáveis) passa a respeitar a verificação de conversas ativas: contatos em atendimento ou aguardando são pulados e aparecem no resumo e no relatório, sem interromper o atendimento em andamento.
* Agora é possível **editar campanhas agendadas e pausadas**.
* **Importação de números nos Disparos e Grupos:** aceita `.csv` e `.txt` com qualquer divisor (vírgula, ponto e vírgula, tabulação, barra, espaço ou hífen), com detecção automática e pré-visualização antes de importar.

**📱 Canais Oficiais Meta (WABA / Instagram / Messenger)**

* **Cobrança pelo WhatsApp (WABA):** escolha o template de cobrança, informe os itens e o valor, e o cliente recebe uma ficha de pagamento com Pix, boleto ou link. Disponível no atendimento, em nova conversa, disparo em massa, campanhas, agendamentos, funil e chatbot.
* **Autocura dos canais Meta:** resolvido o caso em que o canal permanecia conectado mas parava de receber mensagens novas após alguns dias, exigindo reconfiguração manual da origem do webhook.
* **Instagram e Messenger:** a pesquisa de satisfação volta a registrar a nota e a encerrar o atendimento automaticamente após a resposta do cliente — e as mensagens de confirmação e despedida agora aparecem no histórico da conversa.
* **Instagram — assumir o controle da conversa:** quando outra ferramenta está "segurando" a conversa (a mensagem chega, mas a resposta falha), o sistema assume o controle automaticamente e reenvia a mensagem. Basta habilitar "Assumir o controle de conversas" nas configurações da Página do Facebook.
* **Instagram via Tech Provider** pode ser usado associado a uma conta do Facebook ou apenas com o Instagram.
* Instagram conectado via Facebook agora conclui a configuração do webhook — antes a ativação falhava silenciosamente em contas sem canal Messenger na mesma página.
* Adicionada a hidratação da carga para cobrir o aviso intermitente "Token WABA não encontrado" ao enviar templates e mensagens do WhatsApp Oficial.
* Corrigido o template de mensagem de aniversário em canais WhatsApp Oficial (WABA), que não era salvo ao configurar e não era usado no envio.
* Corrigido: encaminhar mensagem recebida em canais WABA, Instagram e Hub agora entrega de fato ao destinatário (antes aparecia como enviada sem chegar).

**🔌 Integrações Não Oficiais (Baileys, UazAPI, Z-API, EVO, ZAPO, InfiniteAPI)**

* **Nova API liberada: ZAPO** — com opção de transferência nativa de Baileys para ZAPO.
* **Novo atalho "InfiniteAPI"** na tela de Sessões: crie o canal já com a biblioteca de mensagens interativas e escolha o armazenamento da sessão, sem precisar configurar pelo Baileys.
* **WhatsApp/Baileys:** sessão utilizada em outro local (conflito "replaced") agora é detectada e pausada automaticamente após 3 quedas seguidas, eliminando o loop de reconexão que elevava o consumo de memória e podia reiniciar o servidor.
* **Conexões WhatsApp mais estáveis:** canais que ficavam presos em "conectando" ou desconectavam em loop após conflito de sessão agora se recuperam sozinhos, e reconectar manualmente volta a funcionar de primeira.
* Canais **desativados automaticamente** após falhas de conexão voltam a funcionar sozinhos quando reconectam, e o aviso "Inativo" explica o motivo e o que fazer.
* **Z-API:** corrigido apagar e editar mensagens — a exclusão remove a mensagem também no WhatsApp do contato, e a alteração aparece em tempo real na conversa.
* **Z-API e UazAPI:** a foto de perfil dos contatos voltou a carregar, e a criação de canais via API respeita o provedor global configurado.
* **UazAPI:** corrigido o envio de arquivos PDF em instalações que usam armazenamento em nuvem (S3).
* **EVO:** corrigido o encode de mídia.

**🛍️ Marketplaces e Hub (Mercado Livre, OLX, LinkedIn, YouTube)**

* Respostas pelos canais **Mercado Livre, OLX, LinkedIn e YouTube** funcionam de ponta a ponta, e envios que falham passam a mostrar erro claro no chat em vez de constar como entregues.
* **Mercado Livre:** o ticket mostra o nome do comprador e o anúncio/produto da conversa (título, imagem e link), sem precisar abrir o Mercado Livre.

**🔗 API e Integrações Externas**

* Agora é possível **criar a conexão já vinculada ao modo híbrido pela API**, sem precisar editar o canal depois.
* As telas de configuração de integrações avisam quando um **provedor global do sistema** está ativo e tem prioridade sobre os dados preenchidos na página.

**👥 Contatos e Importação**

* **Convenção do 9º dígito (BR):** números de celular com o 9º dígito passam a ser respeitados conforme a configuração da empresa (Configuração Geral → Convenção do 9º dígito (BR)), e envios que falhavam por variação do 9 são reenviados automaticamente na forma correta. Envios de mídia, botões, listas e templates pelos canais oficiais do WhatsApp também se recuperam automaticamente quando o número do contato diverge no 9º dígito.
* **Importação de contatos:** arquivos `.csv` e `.txt` funcionam com qualquer divisor (vírgula, ponto e vírgula, tabulação ou barra), com detecção automática e opção de escolher o divisor na pré-visualização.
* **Importação inteligente:** a área de mapeamento de colunas mostra mais colunas de uma vez e exibe quantas colunas foram detectadas no arquivo.
* **Importação inteligente:** o campo personalizado aparece corretamente ao ser selecionado, pode ser removido com um clique e não permite nomes repetidos entre colunas.
* **Exclusão de contatos** passou a respeitar de fato a configuração "permitir somente admin excluir contatos": com ela desligada, supervisores e atendentes conseguem excluir contatos que já têm atendimento; com ela ligada, a restrição vale também na API, e não só na tela.
* Corrigida a importação de contatos por planilha.

**📈 Relatórios, Dashboard e Indicadores**

* **Novo relatório de Produtividade Diária:** mostra quantos atendimentos cada atendente fez, iniciou e resolveu em cada dia, considerando a data em que o atendimento aconteceu — incluindo conversas abertas em dias anteriores.
* **Painéis com contexto:** comparativo com o período anterior, relatórios ordenáveis e Analytics com gráficos de verdade.
* **Tempos com precisão de segundos** (nada de "0min" para equipes rápidas), TPR e TTE com explicação direto no painel, e correção automática dos registros antigos que zeravam o tempo de primeira resposta.
* Os indicadores **TPR** e **TTE** passam a ser calculados corretamente em todos os canais, inclusive em atendimentos antigos.
* Atendimentos encerrados pelo **botão de resolver da lista** voltam a ser contabilizados em TPR e TTE, e não mudam mais de atendente ao serem encerrados.
* Corrigidos o carregamento do detalhamento por usuário no dashboard e os valores incorretos na linha de totais da tabela de desempenho.

**📅 Agendamento e Aniversários**

* **Lembretes da Agenda** ficam registrados no histórico do atendimento também nos canais WhatsApp QR Code e UazAPI, como já acontecia na API oficial.
* Corrigido: mensagens agendadas com template exibem as variáveis preenchidas na tela de Agendamentos e no chat (o envio ao contato já estava correto).
* Corrigido o horário exibido nas consultas da agenda: a data/hora agora aparece igual na lista, no calendário e na tela de edição (a VPS deve estar no timezone `America/Sao_Paulo`).
* Na lista de aniversários, ordenar por qualquer coluna considera todos os contatos, e não apenas os da página aberta.

**⚙️ Superadmin, Planos e Pagamentos**

* **Alterar as funcionalidades de um plano vale na hora** para os clientes que já estão nele — antes só valia para novas contratações.
* **Controle do WaVoIP por empresa.**
* **Pagamentos via Stripe:** o plano contratado fica vinculado à assinatura desde o cadastro, com fatura com vencimento e troca de plano direto pelo menu Meu Plano.
* Corrigido: as notificações de pagamento do Stripe voltaram a ser recebidas corretamente — o status da assinatura é atualizado automaticamente, sem erros de autenticação no webhook.

**👤 Usuários e Senhas**

* **Controle de senha para novos usuários:** exija a troca de senha no primeiro acesso ou envie um convite por e-mail para o próprio usuário criar a senha (Configurações → Gerais → Senha de novos usuários).
* Agora é possível remover a foto de perfil e voltar ao avatar padrão nas páginas de perfil.

**🎨 Interface, Navegação e Configurações**

* **Navegação repensada:** busca **Ctrl+K** com todas as telas, configurações e ações rápidas; troca de tema instantânea.
* **Interface no seu idioma:** datas, horas e números seguem o idioma do usuário, e o modo escuro foi corrigido em todo o sistema.
* **Configurações Gerais:** busca aprimorada com atalho `/`, filtros por tema, seções recolhíveis, revisão das alterações antes de salvar e aviso ao sair sem salvar.
* Listas longas em modais e painéis agora mostram barra de rolagem — corrigidos o popover de atendimentos pausados, o modal de Tarefas e o de encaminhar mensagem, que cortavam a lista sem deixar rolar.
* **Catálogo:** o campo **Imagens extras** agora explica que essas fotos ficam no cadastro e não são enviadas junto com a ficha do produto.

**✉️ E-mail**

* Corrigida a visualização de e-mails em HTML no iPhone/Safari — o conteúdo do e-mail agora abre normalmente no celular.

**🔧 Sistema e Infra**

* **Instalador:** as respostas da API passam a trafegar comprimidas (gzip), reduzindo o consumo de dados e acelerando o carregamento — aplicado automaticamente na próxima atualização.

### v4.0.3

#### 🚀 UPDATE OFICIAL (HOMOLOG) | 24/07/2026

#### ⚠️ BREAKING CHANGE — Assistente OpenAI

* **Novo motor Responses:** tickets novos passam a usar o motor Responses automaticamente; tickets em andamento com thread ativa continuam no motor legado até serem fechados. A partir de **01/08**, toda seleção de threads posta um aviso no ticket; em **26/08** o cutover é forçado (thread zerada, histórico re-semeado a partir da tabela de mensagens, resposta na mesma mensagem). A seleção do **Motor de IA (Assistente OpenAI)** fica em Configurações Gerais.

#### 💬 Atendimento e Tickets

* **Encerramento por inatividade configurável por canal** — escolha e ordene o que enviar (mensagem, arquivo ou pesquisa de avaliação) e decida se, ao final, o atendimento é encerrado ou devolvido ao robô.
* **Distribuição automática:** o robô/assistente de IA agora é encerrado no momento da atribuição ao atendente (quando a opção está ativa na conexão ou na empresa), evitando que o bot continue respondendo junto com o operador.
* **Reabertura automática com destino configurável** — a conversa pode voltar para o mesmo atendente, quem encerrou, uma fila, um atendente fixo ou um chatbot. Definível no padrão geral do sistema, como passo do fluxo do chatbot ou manualmente por atendimento. Cliente que responde dentro do prazo não passa mais pelo menu inicial do robô.
* **Painel de Atendimentos em tempo real** — encerrados (inclusive por robô/IA) saem da tela na hora e novos pendentes aparecem sem apertar F5; o filtro por data virou opcional (por padrão mostra a operação ao vivo). Supervisores passam a ver apenas os atendimentos das filas sob sua responsabilidade.
* **Verificar conversa em outros canais:** avisa quando o contato já possui atendimento aberto ou pendente em outro canal do tenant — nas conversas (Nova Conversa, Contatos, Kanban e Pendentes) exibe aviso; no Disparo em Massa notifica o atendente responsável. Nunca bloqueia o envio, a criação do atendimento nem o disparo.
* Nova opção **"Permitir mensagem duplicada entre canais"** — com dois canais no mesmo grupo ou conversando entre si, a mensagem aparece no atendimento de cada canal.
* **Busca de mensagens** agora navega entre todas as ocorrências do termo (próxima/anterior) com contador de resultados, incluindo mensagens antigas do histórico.
* **Respostas rápidas:** navegação com as setas ↑↓ do teclado e seleção com Enter.
* **Indicador de carregamento** ao abrir a conversa (aviso extra em grupos, que têm histórico maior); **espiar conversa** ganhou limite de mensagens com botão "carregar anteriores".
* **Desempenho:** corrigida a lentidão na entrada de mensagens; envio e recebimento de vídeos do iPhone (.mov) muito mais rápidos e leves — o servidor só reprocessa vídeo quando necessário e campanhas não reconvertem o arquivo a cada contato.
* **Z-API:** mensagens enviadas pelo celular conectado aparecem corretamente na conversa, mesmo quando o WhatsApp oculta o número do destinatário — conversas duplicadas criadas por esse problema são unificadas automaticamente.
* **PDF com impressão automática** (comum em faturas/2ª via) não abre mais o diálogo de imprimir sozinho — o comando é neutralizado na visualização e a pré-visualização carrega somente após um clique, mantendo o download do arquivo original intacto.
* **Notificações:** popup nativo do navegador para ticket novo em pendentes e opção de limitar notificação de chatbot (Configurações Gerais).
* Correção da duplicação de tickets e mensagens em canais híbridos (Uazapi, Evo, EvoGo, Wuzapi e Z-API).
* Listagem dos detalhes do ticket alinhada por última mensagem (`lastMessageAt`, com fallback para `updatedAt`).

#### 📊 Kanban e Funil

* Correção do toast de erro ao atualizar o Kanban de atendimento.
* Corrigido o disparo de **templates com variáveis e botões** nas ações automáticas do funil de oportunidades (erro "actionContent inválido"); a edição da ação agora recupera os valores preenchidos.

#### 🤖 Chatbot e Chatflow

* Correção da renderização da opção de **subfluxo** no Chatflow.
* **Telegram:** mensagens de despedida e de fechamento.

#### 📢 Campanhas e Disparo em Massa

* Com a verificação de conversas em outros canais ativa, contatos que já estão em atendimento ou aguardando **deixam de receber disparos** — o envio é pulado, os pulados aparecem no resumo e no relatório, e quem disparou recebe notificação com a lista. A API externa indica os pulados na resposta e permite ignorar a checagem por chamada.
* Cada usuário agora **só vê os canais liberados para o seu perfil** no envio em massa.
* Corrigida a prévia da última mensagem nos atendimentos (envios de mídia exibiam "Mensagem no Atendimento") e envios que falham não deixam mais atendimentos pendentes vazios — são removidos ao final do disparo.

#### 📱 Canais Oficiais Meta (WABA / Instagram / Messenger)

* **Modo híbrido (coexistência) WABA** — incluindo envio de mensagens de texto pela conexão vinculada mesmo após o fechamento da janela de 24h.
* **Projeção de custos de mensagens WABA** na configuração Meta.
* Limites da WABA aplicados ao tamanho dos inputs (botões, listas e templates) e correção do erro de "credenciais incompletas" ao criar template (exigia F5).
* Correções WABA/Meta: canal duplicado no re-onboarding, resolução número→canal prioriza a linha CONNECTED, envios com erro marcados e logados, app WABA próprio + OAuth Instagram, OAuth Facebook + Instagram em conjunto e login com Facebook preso em "Carregando SDK…".
* Assinatura com `*asterisco*` suprimida em canais não-WhatsApp.
* **Dialog360:** sanitização de payload e log de debug para coexistência via `DIALOG360_RAW_DUMP` (.env do backend). **Gupshup e Dialog360:** base64 no payload do n8n (canal).

#### 🔌 Integrações Não Oficiais (Baileys, EvoGo, Evolution, Uazapi, Meow)

* **Baileys:** recebimento de mensagens sem delay; estabilidade com armazenamento SQLite (reconexões não derrubam mais o backend e a religação automática não compete com reconexões em andamento); novas variáveis opcionais no `.env` do backend: `BAILEYS_PROFILEPIC_TIMEOUT_MS` (3000), `BAILEYS_ONWHATSAPP_TIMEOUT_MS` (5000), `BAILEYS_GROUPMETA_TIMEOUT_MS` (8000), `BAILEYS_GROUPFETCH_TIMEOUT_MS` (10000), `BAILEYS_SQLITE_CREDS_BACKUP_ENABLED=false` e `BAILEYS_LID_SEND=true`.
* Suporte ao **EvoGo** e à extensão **Passkey Linker** com Evolution 2 (depende do microserviço [evo-passkey-injector](https://github.com/pedroherpeto/evo-passkey-injector)).
* Mensagens editadas pelo cliente atualizam corretamente na conversa (Evolution, EvoGo e Meow — novo formato de edição do WhatsApp).
* **Uazapi:** correção da renderização de mídia de aniversário.

#### 🔗 API e Integrações Externas

* Correções: `/getMessagebyId` + `mediaUrl`; envio base64 com caption de mídia; disparo de ligações **Wavoip**.
* Nova rota para disparar a **pesquisa de avaliação** por ticket ou por número.

#### ⚙️ Superadmin, Planos e Pagamentos

* **Provisionamento de tenants via API** agora vincula assinaturas do Stripe, Pagar.me e Mercado Pago (além do Asaas), habilitando a atualização automática de status de pagamento por webhook.
* **Migração de tenants para o gateway global** (Stripe/Mercado Pago) direto na tela de Planos, com criação automática do cliente; corrigido o gateway efetivo que mantinha o tenant no Asaas após a troca (signup, troca de plano e leitura de faturas).
* Correções no faturamento: exibição do plano na lista de tenants e fluxo de cobrança Stripe no cadastro — novo cliente vai direto para a fatura, e contas bloqueadas conseguem ver as faturas e revalidar o pagamento para desbloquear o acesso.
* Opções dos planos do signup refletidas na tela de tenants; **agendamento público** e **motivos de pausa** adicionados à configuração de visibilidade de tenants/planos.
* **Assinatura:** a seção de pontuação do Score do App Tech Provider ganhou link "Guia completo" em popup; números banidos ou bloqueados de outra instalação da mesma licença podem ser bloqueados e removidos do monitor de score pela tela de assinatura — com desregistro real na Meta, consentimento detalhado em três etapas (incluindo reativação com PIN) e liberação do desbloqueio cortesia.

#### 👥 Contatos

* **Mesclagem de duplicatas em massa** (9º dígito/LID) por API, CSV e detecção automática aprimorada, com reversão segura de qualquer mesclagem. As ações Remover Duplicados, Agrupar LIDs e Verificar 9º Dígito preservam todo o histórico e exibem resumo dos contatos afetados; corrigidos o erro que impedia o Remover Duplicados de concluir e a busca via API que retornava cadastro vazio.
* **Fila no cadastro do contato** (como já existe com a carteira) — novos atendimentos entram automaticamente nela quando o direcionamento estiver ativado; filtro por fila, coluna Fila na listagem e fila na importação de contatos.
* Correção da importação inteligente com data de aniversário.

#### 📈 Relatórios, Dashboard e Avaliações

* Novos indicadores: **Tempo de Primeira Resposta (TPR)** e **Tempo Total de Espera (TTE)**; correção do Tempo de Espera, que agora conta a partir da atribuição ao atendente (inclusive na distribuição automática), eliminando os registros falsos de "0 min".
* **TMA** (Tempo Médio de Atendimento) e **TME** (Tempo Médio de 1ª Resposta) por atendente no Resumo de Atendimentos por Usuário, respeitando o escopo de filas do supervisor — disponível também nas exportações (Excel, CSV e impressão).
* **Avaliação:** o administrador define o que acontece após o envio da pesquisa — fechar na hora, manter aberto até o cliente responder, fechar automaticamente após alguns minutos ou perguntar ao atendente. A fila mostra indicador de "aguardando avaliação".
* Correção dos **filtros por período** em Avaliações, Conversões, Log de Ligações, Funil (Kanban), Auditoria e integrações externas — não cortam mais o último dia selecionado e voltam a trazer resultados ao filtrar um dia isolado.

#### 📅 Agendamento e Aniversários

* **Turmas/grupos no agendamento público:** um mesmo horário pode aceitar várias pessoas (vagas por horário), ideal para aulas e atendimentos em grupo — o portal mostra as vagas restantes. Cada serviço define se o limite diário conta alunos ou turmas e se as vagas são por profissional ou em turma única.
* Horários de trabalho repetidos não geram mais opções duplicadas na página de agendamento (cada horário aceita 1 reserva, salvo turmas).
* Detalhes do agendamento público exibidos no calendário da agenda.
* Menu Aniversários adicionado à configuração do perfil supervisor.

#### ✉️ E-mail

* Correção do envio de e-mail com AWS.

#### 🎨 Interface e Permissões

* Toasts de aviso agora aparecem no centro superior da tela; ajuste de resolução para iPads.
* **Perfis personalizados:** o editor de perfis ganhou os toggles de agendamentos e catálogo, e ações sem permissão mostram o aviso "Você não tem permissão" no lugar do botão que não reagia.
* **Tarefas:** corrigido o erro que impedia marcar tarefas como concluídas (lista, kanban e sininho de notificações) e criar tarefas sem descrição.

#### 🔧 Sistema e Infra

* Nova variável no `.env` do backend: `AUDIT_LOGS_RETENTION_DAYS` para definir a retenção dos logs de auditoria (padrão: 90 dias).
* **Instalador:** o modo cluster detecta automaticamente o usuário do PostgreSQL — corrige erros de dreno e de leitura de capacidade em servidores com usuário de banco personalizado.

***

### v4.0.2

#### 🚀 UPDATE OFICIAL (HOMOLOG) | 02/07/2026

#### ⚠️ BREAKING CHANGE

* Bloqueio de transferência para canal não liberado ao usuário — passa a valer para interações manuais, chatbot e rotas de API externa.

#### ⚙️ Superadmin, Planos e Faturamento

* Catálogo de **preços de planos** e configurações de planos expandidas.
* Controle por tenant: **menus visíveis** e **quantidade de canais por tipo**.
* Listagem de **usuários** no Superadmin e correção na **edição de tenant**.
* **Trial** alinhado ao pagamento (gateway — cobrança inteligente).
* **Revalidação** de status de pagamento na tela de pagamento em atraso.
* Autoinstalador: **update all backends**.

#### 💬 Atendimento e Tickets

* **Filtro de atendimento** expandido para usuários comuns (`NotViewAssignedTickets` e `restrictedUser` deixam de aparecer) + status **"Fechados"** fica inativo quando "Incluir tickets fechados" está desmarcado.
* **Multiencaminhar flutuante** e **mensagens rápidas** com botão e lista.
* **Trava no botão de fechamento** (evita múltiplas ações) e **fechar forçado** em resolução de ticket (com avaliação automática) e em **tickets pendentes**.
* **Transferência sem fila**; correção na mensagem de transferência; ao remover convite, o ticket some.
* **Motivos de fechamento** com opção de definir **demanda automática**; forçar demanda ao resolver.
* Reações com **estado preservado**; marcação em grupos com `@`; editar contato liberado para **grupos**.
* **Manutenção de tickets** — filtro de etiquetas + novas mensagens recebidas.
* Exportar conversas / espiar / mini-CRM com **visualização alinhada ao histórico e permissões**.
* **Popup automático** para mensagens de sistema não lidas; despausar quando o cliente responder.

#### 📊 Kanban, Funil e Mini-CRM

* **Mini-CRM** nos cards de Kanban e Funil; **suporte a Kanban para todos os canais**.
* **Notificações por etapa** do funil e **log de ações** do funil.
* Uso de **variáveis** no funil de ação e em **ações com mídias**.
* Enviar mensagem de oportunidade com **filtragem por canais permitidos** ao usuário.
* **Google Calendar** no funil/oportunidade (botão + criação de evento).
* Filtro de **tag inativa** no Kanban.

#### 🤖 IA, Chatbot e Chatflow

* **Chatflow (estilo n8n):** conexão de bubbles, envio de **template**, **nó automático** (condição sem guardar resposta), **condição por variável**, **webhook avançado roteável**, captura de variável + webhook, criação de nota, disparo na **primeira interação** com o nó e correção da tabela de horários.
* **Chatbot:** Messenger e Instagram, horário de funcionamento próprio, destino **fora do horário** com fila null, bloquear chatbot em ticket pendente, `fromMe` na mensagem de transferência, correção de subfluxo e de botões no Instagram.
* **IA:** **Wizard de template com IA**, **GroqCloud** como Global Provider, relabel **apiKey × apiUrl** nas integrações, correção do botão de teste do Copiloto + IA customizada.

#### 📢 Campanhas e Disparo em Massa

* **Limite diário** de campanhas e opção de **criar mensagem** para campanha.
* Disparo em massa com **variável `name`** em templates e **aviso de números incompatíveis** (nono dígito).
* **Filtro por data** no relatório de disparos.

#### 📱 Canais Oficiais Meta (WABA / Instagram / Messenger)

* **WABA:** palavra-chave para **fechar atendimento**, filtro de template por **categoria**, **PDF (document)** em templates, **webhooks primário e secundários unificados**, **tabela de custos** com dimensions e totalizadores, transferência entre canais **fecha a janela de 24h**, `validateNumber` em rotas de API externa (ignora validação do nono dígito), ocultar mensagem da janela de 24h.
* **Instagram:** envio de template (inclusive imagem da galeria), **automações** no menu automação, correção de IGSID longos (>2^53) e de instagramPK longos.
* **Messenger:** mensagem de **utilidade**, mensagem de **despedida**.
* **Techprovider Google** definitivamente **depreciado** — mantido apenas o uso de app próprio.
* **Dialog360:** outbound de PDF + MOV. **Gupshup:** templates.

#### 🔌 Integrações Não Oficiais (Baileys, Uazapi, Evo, WWebJS, Passkey)

* **Baileys:** RC13/infinite (correção de grupos), suporte a **SQLite**, receber mensagem editada, ajustes de carrossel e **persistência de sessão**, timeout de consolidação de LID expandido, novas `.envs` avançadas (`BAILEYS_CONNECT_TIMEOUT_MS`, `BAILEYS_QUERY_TIMEOUT_MS`, `BAILEYS_KEEPALIVE_MS`).
* **Uazapi:** correção de desconexão, socket ao editar mensagem, mensagem de aniversário.
* **Evo:** envio/recebimento e render de mídias e áudios, recebimento de edição.
* **WWebJS:** envio com `@lid`.
* **Passkey:** importar sessões não oficiais e conexão com **Baileys, Meow e Uazapi**.

#### 🔗 Integrações Externas e API

* Expansão do uso da **API** para Messenger, Instagram e outros canais; novas rotas (`toDos`, `updateQueue` sem marcar como lido).
* **Community Nodes** para n8n (`n8n-nodes-zpro` e `n8n-nodes-zpro-admin`).
* Correção de envio via **Telegram** (API externa) e **extensão de suporte à API do TikTok**.

#### 🛒 E-commerce

* Integração **Nuvemshop (beta)**.
* Correção no envio de produtos (`ERR_OUTSIDE_24H_WINDOW`).

#### 👥 Contatos e Etiquetas

* **Busca inteligente de contatos** expandida a outras áreas da ZPRO.
* Criação de contato **sem canal WhatsApp** (Instagram/Messenger only).
* Listar **carteira**, exportação com filtros e correção de cidade/estado/CEP/CNPJ na visualização.
* **Etiquetas:** atualizar cor ao setar, tag em mensagem encaminhada.

#### 📈 Relatórios e Avaliações (NPS)

* Relatórios de **NPS**, **coluna de agente** nas avaliações, avaliação com **link externo**.
* Relatório de atendimento por parâmetros (dados do usuário); correção na exportação de histórico e no dashboard (filas + personalização).

#### 📅 Agendamento e Aniversários

* **Agendamento público multi-país**; reabrir/rotear ticket com mensagem agendada.
* **Aniversários:** normalização e revisão de datas, mensagem com data correta.

#### ✉️ E-mail (SMTP)

* **Assinatura** e **remetente** no e-mail, persistir corpo dos enviados, abrir link em **popup dedicado**, envio via Gmail com nome contendo `@` e expansão de dados SMTP (nome e usuário).

#### 🖼️ Mídias e Galeria

* **Quota** para a galeria e correção de galeria + templates (busca, listagem e uso).
* Recebimento de **PDF com acentos**.

#### 🎨 Interface, Notificações e Permissões

* **Notificações:** correção de HTML, limite sonoro em tickets de grupos.
* **Perfil customizado** habilitado para gerir tags; supervisor restrito ao canal; supervisão de chat privado sem limitação para admin/supervisor.
* Signup com máscara de **CPF/CNPJ**, cálculo de luminância no ícone do sidebar (hover), scroll em modais e seleção de tags, correção da ordem dos tickets, limite de listagem de tutoriais.

#### 🔧 Sistema e Infra

* **Listagem de backups**, `disableExternalIntegration` em conversa avulsa, auto-desligar integrações ao aceitar, ficar offline ao fechar a aba, ignorar horário de atendimento (expandido).

***

### v4.0.1

#### **🚀 UPDATE OFICIAL (HOMOLOG) | 26/05/2026**

#### ⚙️ Superadmin e Configurações

* Customização White-Label:
  * Tela de Signup padrão internacional (agora customizável).
  * Link do Postman (agora customizável).
  * Customização de cores para o Dark Mode.
  * Adicionada visualização prévia da tipografia.
* Global Providers: Liberado Global Provider para integrações da Meta.
* OAuth: Opção de usar o app padrão do Google OAuth liberada na edição do tenant pelo Superadmin.
* Gestão do Sistema e Usuários:
  * Opções de distribuição nas filas.
  * Novas configurações de restrição de usuários.
  * Compartilhamento de acesso por convite.
  * Link de reset de senha adicionado.
  * Controle de features na tela de configuração.
  * Adicionada a rotina 6 no autoinstalador.

#### 💬 Atendimento, Funil e Kanban

* Novas Regras de Operação e Tickets:
  * Configuração Receptivo apenas por fila: Quando ativado, os atendentes recebem tickets entrantes apenas com base nas filas atribuídas (sem exigir vínculo ao canal). Envios em Nova Conversa continuam exigindo o canal vinculado ao usuário.
  * Configuração Reabrir toma posse do atendimento: Quando ativado, reabrir um ticket finalizado por outro atendente atribui o ticket ao usuário que clicou em Reabrir, em vez de mantê-lo com o atendente anterior.
  * Transferir múltiplos tickets simultaneamente para as filas.
  * Fechar todos os tickets diretamente no painel de atendimento.
* Painel de Conversas:
  * Busca global de mensagens expandida no atendimento.
  * Filtro para buscar mensagem rápida pelo atalho.
  * Filtro "Mostrar todos" no painel de atendimento.
  * Correções de filtros (novas mensagens + combinação de filas).
  * Validação de existência de ticket antes de iniciar conversa avulsa.
* Kanban e Funil:
  * Visualizar conversa diretamente no card do Kanban.
  * Visualizar conversa diretamente no card do funil.
  * Reordenar etapas do funil.
  * Novo "Modo Monitor" de atendimento (Kanban).
  * Correção no filtro do Kanban.
* Notificações: "Sino" de notificações remodelado para separar: Tarefas + Mensagens Internas + Tutoriais. Aviso sonoro passou a respeitar os filtros. Adicionado aviso de erros para webpushs.
* Horários e Status:
  * Horário do usuário agora permite configurar intervalo (*range*).
  * O Superadmin foi excluído da regra de bloqueio de horário.
  * Adicionada opção de setar como Offline ao sair do sistema.
  * Status na abertura de conversa avulsa.
* Chat Privado (Interno): Adicionada chamada (ligação de áudio e vídeo) entre usuários. Ajustada a largura da tela do chat privado.
* Geral do Atendimento: Relatório de conversa exportável em PDF, botão imprimir em relatórios, scroll aprimorado nos logs do ticket, opção de editar contato dentro da tela de atendimento, listar usuários na tela de transferência, e mensagem opcional na transferência de fila.

#### 🤖 Inteligência Artificial e Chatbot

* Integração Dify: Os campos enviados agora devem estar dentro de inputs. No Dify (Studio → app → Variáveis de entrada), adicione as variáveis como `text-input` (opcionais):
  * `ticketId` (string) — `String(ticket.id)`
  * `tenantId` (string) — `String(ticket.tenantId)`
  * `contactNumber` (string) — `ticket.contact?.number ?? ""`
  * `whatsappId` (string) — `String(ticket.whatsappId ?? "")`
* Integração ChatGPT / Copilot: Suporte ao ChatGPT com `baseUrl` genérico (permite uso de LLMs genéricos). Copiloto agora atua na reescrita de mensagens e recebeu extensão de idioma.
* Funcionalidades do Fluxo:
  * Node condicional de dia/horário no chatbot.
  * Condição para transferência de canal.
  * Interação "Delay" (pausa) no chatbot.
  * Definição de audiência para o chatbot.
* Ações do Chatbot:
  * Iniciar chatbot avulso na transferência de atendimento.
  * Transferir chatbot (detalhes do atendimento).
  * Adicionada mensagem de transferência "fora do horário".
  * Legenda disponível para arquivos enviados via chatbot.
  * Fechamento automático de ticket inativo associado ao chatbot (reabertura/reaproveitamento de atendimento).

#### 📱 Integrações e Canais Oficiais (Meta)

* WhatsApp API Oficial (WABA):
  * Suporte a Grupos.
  * Disparo em massa via WABA com opção de definir fila/usuário.
  * Envio de mensagem agendada.
  * Variável de `body` + `header` para template WABA.
  * Suporte a "Palavra-gatilho" no botão.
  * Exclusão de templates WABA.
  * Adicionado webhook para o canal.
  * Controle e roteamento de ligações no WABA.
  * Layer de normalização do nono dígito.
  * Adicionado aviso de número pendente de PIN.
  * Correção no fluxo de adição manual do WABA.
* Redes Sociais: Suporte ao Facebook Page, e tela de diagnóstico de sessões otimizada para Instagram e Messenger.
* Novas Integrações (Beta): Gupshup e Dialog360. Inclusão de recebimento de mídia (inbound) e comando para desconectar/reconectar nesses provedores.

#### 🔌 Integrações e APIs Não Oficiais

* Motor Baileys: Atualizado para a versão `v7rc10`. O usuário agora tem opção de escolher entre: fork, rc10 ou infinite. Nova ferramenta adicionada para "Consolidar LIDs" no Baileys.
* Uazapi: Disparo em massa via arquivo. Recebimento de lista via Uazapi + n8n. Agendamento de mensagem via Uazapi contendo arquivos. Suporte a Grupos no Uazapi. O nome do arquivo recebido na integração foi corrigido.
* QR Codes: Adicionada leitura de QRCode para motores Z-API e Meow.
* WWebJS: Tratamento para início de conversa avulsa + correção de LID.

#### 🛒 E-commerce e Automação

* WooCommerce: Permite consumir os produtos do e-commerce direto na conversa e enviar mensagem vinculada a um pedido específico.
* Telefonia: SIP UDP Bridge.
* ADS: Trackeamento de erros nas conversões de ADS.

#### 🛠️ Melhorias Técnicas e Correções Gerais

* Contatos e Etiquetas: Listagem de etiquetas inativas. Opção para deletar etiqueta que já foi atribuída. Detalhes de contato agora mostra protocolos/avaliações. Correção na importação de contatos via CSV.
* Mídias e Anexos: Limite no carregamento de mídias na Galeria. Paginamento e busca integrados na Galeria. Correção no apontamento de mídia no Storage do frontend. Opção de rolar mídias ao criar template na galeria. Adicionado suporte a colar vídeo Screencast com `Ctrl+V` no atendimento.
* Tickets: Rotina para mover tickets órfãos (whatsapp deletado) para o status `closed`. Correção na funcionalidade de Pause de ticket.
* Sistema e Interface: Truncate (corte) do nome do canal na tela. Contador de não lidas na aba pendentes. Contador de mensagens em grupo. Normalização BR (nono dígito) tornou-se opcional para envio de mensagem avulsa.
* Correções pontuais: Erro de CORS do widget de webchat (quando incorporado em outros sites). Correção ao usar número de teste no chatflow. AutoReassign liberado na edição do canal. Correção ao editar número de telefone. Linguagem padrão para leitura de imagens via IA ajustada.

***

### v4.0.0

**🚀 UPDATE OFICIAL (HOMOLOG) | 04/05/2026**

⚛️ Novo front end React Next.js - interface mais rápida e moderna\
🔗 Integrações nativas com [Instagram, Facebook](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/instagram-e-facebook-messenger-via-oauth-login) e [WhatsApp API oficial ](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/whatsapp-oficial-oauth-app-zpro-com-coexistencia)- Oauth próprio do Zpro\
🤖 [Copiloto de I.A](/configuracao-administrador/configuracoes-painel-admin/bots-e-ia/copiloto-de-ia) - Resumos, sugestões de respostas, análises de sentimento...\
📱 Novos canais - Mercado Livre, Woocommerce, OLX, Tiktok, Youtube, Linkedin, Rocket.Chat\
📈 Rastreamento de conversões Pixel Meta e Google GA4\
🎧 Novos recursos de [atendimento](/configuracao-administrador/gestao-comercial/analises-e-registros/painel-de-atendimentos)\
👤 [Perfil personalizado de usuários](/configuracao-administrador/administracao-painel-admin/usuarios/perfis-de-acesso)\
🔌 Novos [Endpoints API](/central-do-assinante/referencia-da-api)\
🎨 [Personalizações](/configuracao-superadmin/configuracoes/customizar-white-label)\
☁️ Armazenamento externo ([Storage AmazonS3](/configuracao-superadmin/sistema/sistema-dados-e-configuracao/storage-s3), etc)\
⚡️ [Autoinstalador melhorado](https://portal.zdg.com.br/270021-sistema-zpro/5179464-instalacao-automatica-z-pro-pacote-ultima-versao)\
💳 Novos gateways de pagamento (stripe, mercadopago, etc)\
🚀 Modo Cluster - Infraestrutura para escala com múltiplos núcleos de processamento\
📧 Integração com [SMTP](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/e-mail-imap-smtp) para envio e recebimento de email nos tickets\
✨ Recursos premium baileys / uazapi - botões, listas, etc

### Histórico das versões antigas (antes da v4.0)

Nas páginas seguintes você encontra o histórico completo das versões anteriores.&#x20;


# 3.1.5.x

Esta página é o registro oficial e cronológico de todas as atualizações lançadas para a plataforma Z-PRO. As versões mais recentes estão sempre no topo.

### 3.1.5.4

**🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.5.4 - 17/03/2026**

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

**⚠️ BREAKING CHANGES /** **NOVIDADES**

* Ligação de áudio e vídeo entre usuários (chat interno)
* Adicionado rota para criar ticket para canal webmail (CreateTicketWebmail)
* Inativar usuário
* Campanha com WABA (Templates)
* Agendamento para WABA na tela de Automação > Agendamentos (Templates)
* Rota API: GetAllSessionApis
* Responder e-mail na tela de atendimento (webmail nativo)
* Horário de envio das campanhas
* Envio de template WABA nas ações do funil
* Aviso de carregamento do histórico (ao espiar conversa)
* Opção de otimização de performance para uso com muitos usuários (Superadmin - Customizar - Marca - Modelo de Socket)

**🛠 AJUSTES:**

* correção encaminhar mensagem
* correção groq cloud global provider
* correção campanhas waba com botões
* correção rota showcontacts API (Z-API)
* correção carregamento de cores Galeria
* correção contador de não lidos WABA
* correção disparo em massa em grupos + UAZAPI
* correção adição de tempalte na ação (fluxo)
* correção estilo mensagem rapida (darkmode)
* correção editar/deletar mensagem chat interno
* correção invalid token (relogar)
* correção kanban iniciar conversa
* correção botão + chatgpt WABA Chatbot
* correção kanban iniciar conversa

***

### 3.1.5.3

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.5.3 - 24/02/2026

**⚠️ BREAKING CHANGES**&#x20;

* Global provider para WABA depreciado

#### 🆕 Novidades

* Suporte recebimento do revoke com coex (mensagem deletada)
* Adicionado gravação e mensagem de ligação no atendimento usando WAVOIP
* Adicionado nome + id do canal na tela de APIs
* Nova interface de carregamento dos emails no atendimento (novos emails recebidos)
* Campo de dados no contato melhorado (tabs - atendimento)
* Adicionado suporte ao campo name (nome) para templates WABA
* Adicionado opção para setar APP ID na configuração do canal WABA (facilitar criação de template)
* Adicionado opção para enviar mensagem de aviso de fechamento de janela com WABA
* Envio de mídias WABA usando o media\_id (weblink será usado caso o primeiro método falhe)
* Dados de faturamento e dados extra de uso para WABA (configurações - meta - facebook login - waba)
* Recebimento do evento edit para COEX e WABA
* Visibilidade de menus opção para ocultar contatos (usuário)
* Suporte para GPT-5 e superiores

<br>

**🛠 AJUSTES:**

* correção ordenação da lista de mensagens antigas da WABA
* correção uso das rotas de API com UAZAPI e grupos com hífen na id
* correção socket na transferência de filas dentro do chatbot (atualização do front)
* correção renderização de mensagem com link + salto de linha
* correção migração de tenants entre VPS
* novos logs para acompanhar upload de media (uso de media ID) para WABA
* correção gravação do WAVOIP (por token)
* renderização de vídeos no atendimento
* recebimento de mensagens para gpt-5 ou superiores

### 3.1.5.2

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.5.2 - 06/02/2026

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

#### 🆕 Novidades

* **API Externa:**
  * Nova rota: `RequestNewQrCode` (Solicita novo QR Code programaticamente).
  * Nova rota: `GetMessageByMessageId` (Busca detalhes de uma mensagem específica).
* **Chatbot Nativo:**
  * Novas interações disponíveis: Botões (WABA), Transferência entre filas/usuários, Envio de Localização, vCard (Contato), Link de reunião e Figurinhas (Stickers).
  * **WABA:** Palavra-gatilho agora pode corresponder a uma frase inteira.
* **Disparo em Massa:**
  * Opção para selecionar múltiplos canais simultaneamente.
  * Opção para fechar o ticket automaticamente após o envio (WABA).
  * Relatórios de envio integrados à tela.
* **Atendimento e Operação:**
  * **Transferência Ágil:** Permite transferir tickets entre filas e canais diretamente pelo painel de atendimento.
  * **Ordenação:** Nova opção para ordenar tickets por "Respondidos".
  * **Album Message:** Suporte para envio/recebimento de álbuns de mídia (WhatsApp Web, Baileys, Wuzapi e Evolution).
  * **Scroll Automático:** Opção para desativar a rolagem automática ao receber nova mensagem.
  * **Leitura de Tickets:** O sistema não marca mais como "lido" automaticamente durante a seleção múltipla de tickets.
  * **Notas Internas:** Adicionado suporte para anexar mídias nas notas.
* **Sistema e Integrações:**
  * **Groq Cloud:** Adicionado Global Provider para integração de IA.
  * **WAVOIP:** Controle de ligações via token (sem necessidade de login de usuário).
  * **Home:** Popup de notificações não lidas ao acessar a dashboard.
  * **Uazapi:** Melhoria no status de conexão e revalidação.
  * **Contatos:** Alerta de duplicidade ao tentar inserir um contato manual que já existe.

#### 🔧 Ajustes e Correções

* **WABA:**
  * Correção de socket na marcação de mensagens.
  * Correção na transferência entre chatbots nativos.
  * Correção nas listagens em Configurações > Meta.
  * Correção do fechamento automático (Configurações Gerais).
* **Canais Não Oficiais (Uazapi/Z-API/Evolution):**
  * Correção na criação de mensagem de mídia e arquivos URL em grupos (Uazapi).
  * Correção na função `listGroupInfo` (Uazapi).
  * Correção no envio de mensagem rápida com mídia (Z-API).
  * Correção no envio de Base64 (Evolution).
* **Chatbot:**
  * Correção no bloqueio do chatbot para Instagram Nativo.
  * Correção na interação de palavra-chave para fechamento automático.
  * Correção na formatação de números no Typebot (Canais não oficiais).
* **Geral:**
  * Correção no socket de compartilhamento de grupos.
  * Correção no campo de horário de atendimento.
  * Correção no serviço de e-mail (Gmail).
  * Correção na transferência entre canais no painel.
  * Correção na abertura de ticket já existente via tela de Contatos.
  * Correção no disparo em massa via WAVOIP.

### 3.1.5.1

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.5.1 - 22/01/2026

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES

* Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.
* Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

#### 🆕 Novidades

* **Autenticação de 2 fatores:** Disponível em Configurações > Configurações Gerais > Autenticação 2FA.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fs6WNqsryY9nQOun7V7lG%2Fimage.png?alt=media&amp;token=87d84a97-2f38-4c14-bd7e-bcf037268e1d" alt=""><figcaption></figcaption></figure>

* **Webhook secundário para Waba COEX:** Permite setar uma url secundária.
* **Melhoria visual menu configurações PWA:** Ajustes de layout.
* **Listagem de mensagens:** Opções padrão, por ticket, por fila e completo (beta).
* **Ações no chat interno:** Deletar, editar, reagir e encaminhar mensagens.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FBrZBmu8UDNL7ibtAgfRu%2Fimage.png?alt=media&amp;token=321945c9-4900-4af6-ad5f-497479471014" alt=""><figcaption></figcaption></figure>

* **Variável {{ticketId}}:** Disponível no chatbot interno.
* **Catálogo de mídias:** Visualização de links e documentos no atendimento.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F6vE8ubcq6qiSo4K18oQR%2Fimage.png?alt=media&amp;token=e6affbc6-9c93-4227-91b0-8a94d3e83522" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FhsfJPmi9vKjS1PXG0d6x%2Fimage.png?alt=media&amp;token=0ba28e2c-d26b-4948-92a4-606351176c13" alt="" width="375"><figcaption></figcaption></figure>

* **Setagem do user no envio da mensagem avulsa:** Define usuário caso não exista no ticket.
* **Nome do arquivo recebido:** Mantém original se disponível + código aleatório.
* **Webpush e notificações no browser para chat interno:** Configurações Gerais. *⚠️ Para ativar: alterar o arquivo `frontend\src-pwa\custom-service-worker.js` e rodar o `npm run build`.*

#### 🔧 Ajustes e Correções

* Correções chatbot WABA, Baileys, Insta, Evo e Telegram.
* Correção ack uazapi.
* Melhoria no controle de updates da página de sessões.
* Correção campos extra no contato.
* Mensagem rápida na troca do ticket.
* Ajuste na variável {{ticketId}} no chatbot interno.
* Resetar password tela de login.
* Listagem das tarefas apenas por data.
* Correção download arquivos uazapi e zapi.

### 3.1.5.0

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.5.0 - 15/01/2026

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES

* Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.
* Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

#### 🆕 Novidades

* **BSUID (WABA):** *Implementada a compatibilidade com o **Business Solution User ID**. Essa mudança prepara o sistema para a futura atualização do WhatsApp (prevista para 2026) onde usuários poderão ocultar seus números de telefone e interagir através de **Nomes de Usuário**. O sistema agora está apto a processar identificadores `user_id` para garantir que o atendimento continue funcionando mesmo quando o número não for compartilhado.*
* **Nova Página Home:** Implementação de uma nova tela inicial ao realizar o login no sistema.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fe3VkmQRripfXB3Bqq2lC%2Fimage.png?alt=media&amp;token=345378c8-86c6-43bb-830e-5930d486196c" alt=""><figcaption></figcaption></figure>

* **Visualização Admin:** Nova opção de filtro para administradores visualizarem "Todos os Tickets + Fechados"

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FSh24vd2tci7if2YJwZMG%2Fimage.png?alt=media&amp;token=da2ebd3f-373f-4366-8df6-5cf0e84b942e" alt=""><figcaption></figcaption></figure>

#### 🔧 Ajustes e Correções

* Interação de boas vindas chatbot + instagram nativo
* Recebimento de PDF no insta nativo
* Histórico de mensagens nos tickets
* Atualização de oportunidade no atendimento (status)
* Correção de índices críticos Waba
* Chatbot + captura de variável
* Contagem de mensagens recebidas no chat interno
* Correções gerais chatbot
* Correção migração entre vps + tabela settings
* Correção API botões e listas WABA
* Correção atualizar nomes ao receber mensagem (waba)


# 3.1.4.x

Esta página é o registro oficial e cronológico de todas as atualizações lançadas para a plataforma Z-PRO. As versões mais recentes estão sempre no topo.

### 3.1.4.9

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.4.9 - 06/01/2026

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES&#x20;

\- Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.&#x20;

\- Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

🆕  NOVIDADES:

\- Normatização @lid para Evolution

\- Normatização @lid para WWEBJS

\- Loggers do backend removidos, liberados apenas para debug setando credenciais no env do back:

&#x20;    LOGGER\_INFO=true

&#x20;    LOGGER\_WARN=true

&#x20;    LOGGER\_ERROR=true

\- Alteração do nome do logo padrão de zpro.png para logo.png e zpro\_dark.png para logo\_dark.png (disponível na pasta public)

\- Nova distribuição do menu principal (agrupados e expansíveis)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F69ep4N9bvlu1cBftN2GK%2Fimage.png?alt=media&amp;token=0d78f279-3b05-44b3-b5a8-9fe975429036" alt=""><figcaption></figcaption></figure>

\- Novas indexações e melhoria na performance do banco

\- Importar contato com opção para adicionar ou sobrescrever etiquetas

\- Novas rotas de API (+26)

\- Opção para configurar infra: heap, logrotate e node args via autoinstalador (pm2)

<br>

🛠 AJUSTES:

\- rota SendMessageAPIFile + evo

\- envio de arquivos mensagem rápida e chatbot + evo

\- criação de canal evo + global provider

\- distribuição de atendimento na transferência da fila com uazapi, zapi, insta/messenger nativos

\- auto distribuição do canal sanitizada (superadmin)

\- cadastro de grupos para whatsapp-web.js

\- remoção de índices duplicados

\- redirect oauth do instagram após criação do canal

\- removida preferência de uso do @lid com whatsapp-web.js

\- uso da evolution + global provider em alguns serviços

### 3.1.4.8

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.4.8 - 24/12/2025

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES&#x20;

\- Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.&#x20;

\- Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

🆕  NOVIDADES:

\- Adicionado suporte para Docker

&#x20; \- essa instalação não faz parte do escopo do suporte

&#x20; \- arquivos docker-compose.yml, DockerFile disponíveis dentro de zpro.zip

\- Facebook e Instagram nativo

\- Novo webphone Wavoip (deverá ler o qrcode da wavoip mesmo que usando baileys)

\- Provedor global para Z-API, UAZAPI, EVO, WUZAPI, HUB e APPs Meta (superadmin)

\- message\_echoes para Coex + WABA

🛠 AJUSTES:

\- recebimento de listas e botões com uazapi

\- filtro da galeria pós clicar em carregar mais

\- mensagem rápida com mídia + uazapi

\- migração de tenants entre vps (tabela equipe chat interno)

\- webhook create-update-contact + uazapi

\- url de origem popup cadastro incorporado para facebook, instagram e waba nativos

\- janela de envio de mensagens para instagram quando a mensagem vem de fora da zpro

\- tipos (zapi, uazapi, meow e evo) liberados para adição de canal apenas com configuração global ativadas

\- listagem de mensagens rápidas com usuário null

\- url de origem popup cadastro incorporado para facebook, instagram e waba nativos

\- listagem de mensagens rápidas com usuário null<br>

⚠️ Documentação suporte para instalação em ambiente Docker:

docker:

<https://ajuda.zdg.com.br/central-do-assinante/recursos-tecnicos/boas-praticas-de-infraestrutura/guia-para-instalacao-com-docker>

traefik:

<https://ajuda.zdg.com.br/central-do-assinante/recursos-tecnicos/boas-praticas-de-infraestrutura/configuracao-do-traefik-com-nginx>

### 3.1.4.7

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.4.7 - 16/12/2025

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES

* Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.
* Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

#### 🆕 Novidades

* **contingência de APIs não oficiais** *Permite manter o mesmo número conectado em mais de uma API. Se inativo, o canal permanece conectado como backup mas não recebe mensagens.*

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FetalsELxpF1acI1viyrg%2Fphoto_2025-11-28_14-33-44.jpg?alt=media&amp;token=cbe7a847-44a7-4a3d-9891-faf623a04ec3" alt=""><figcaption></figcaption></figure>

Se ativo: o canal está ativo e receberá mensagens.

Se inativo: o canal permanecerá conectado, mas não receberá mensagens.

Mantenha o mesmo número conectado em mais de uma API Não Oficial

* **migração de tenants entre VPS (superadmin)** *Nova ferramenta para trazer tenants de outros servidores configurando acesso SSH e banco de dados da origem.*

{% embed url="<https://youtu.be/iBm9v6lmX4k>" %}

* **Login do Facebook Incorporado (WABA):** Autenticação simplificada para criação de canais WABA utilizando o Login do Facebook, eliminando a manipulação manual de tokens.

{% embed url="<https://youtu.be/0Whyjg5VHec>" %}

* **selecionar multiplos tickets no atendimento para ações em massa** *Nova funcionalidade na listagem de tickets que permite selecionar vários atendimentos e executar ações conjuntas.*
* **cadastro incorporado da WABA (coexistência)** *Fluxo de "Embedded Signup" para criar contas de WhatsApp Business API diretamente pelo painel.*
* **canal instagram nativo (BETA)** *Conexão de contas do Instagram Direct via API Oficial da Meta (requer configuração de caso de uso no Facebook Developers).*

{% embed url="<https://www.loom.com/share/6ece54ce3410460c81a16fa89f33f40d>" %}

{% embed url="<https://www.loom.com/share/837bdedc497243cf9ea890cc39159aab>" %}

#### 🔧 Ajustes e Correções

* **WABA:** Recebimento de multi-vcard e padronização no envio de localização.
* **WABA:** Criação de template de autenticação.
* **Uazapi:** Controle do `updateName` em grupos e envio de arquivos `.mpeg`.
* **Uazapi:** Opção para ignorar abertura de ticket se houver apenas reação na mensagem.
* **Uazapi + Chatbot:** Integração ChatGPT agora suporta áudio.
* **Mobile:** Ajustes visuais no Chat Interno para dispositivos móveis.
* **VUE3:** Correção no modal Wavoip, importação de JSON do Chatbot, download de relatório PDF e duplicação de campanhas com mídia.
* **Geral:** WWebJS com suporte a mensagem rápida de áudio.
* **API:** Correção de CORS na Z-API, bloqueio de resposta de status e nova rota `tenantApiCreateSession`.
* **Correção:** Ajuste na exibição do nome do plano ao ser criado.

### 3.1.4.6

🚀 UPDATE OFICIAL (HOMOLOG) | v3.1.4.6 - 27/11/2025

🛑 BACKUP OBRIGATÓRIO! Crie um ponto de recuperação ou faça backup da VPS/Banco de Dados antes de rodar este update.

⚠️ BREAKING CHANGES

* Baileys: Atualize fora do expediente. Pode ser necessário reler o QRCode.
* Frontend: Suporte a VUE2 descontinuado. Apenas VUE3 agora.

#### 🆕 Novidades

* **Galeria Interna:** Nova funcionalidade para armazenar e enviar arquivos recorrentes. [Detalhamento aqui](https://zpro.passaportezdg.com.br/organizacao-interna/galeria)
* **Encaminhamento de Mensagens.**
  * Encaminhar para outro canal.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FMzmYEdu7QT1JrK7ixeUS%2Fphoto_2025-11-27_14-45-20.jpg?alt=media&amp;token=2b99a49e-dab1-47a2-b962-d5dcc86bcadd" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FiZx9LRdFjX2VfYT5fWoL%2Fphoto_2025-11-27_14-45-43.jpg?alt=media&amp;token=413debfd-e407-4ee2-88fa-a1a544506ffa" alt="" width="375"><figcaption></figcaption></figure>

* Encaminhar para o chat interno.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FyCRVOq901p2s7Rc1fQHy%2Fphoto_2025-11-27_14-44-52.jpg?alt=media&amp;token=a9c02db9-5ee3-4dac-ae03-d62e920119e2" alt="" width="227"><figcaption></figcaption></figure>

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FPGuQ0oK6oG9aBk5oSxNL%2Fphoto_2025-11-27_14-45-04.jpg?alt=media&amp;token=cb324f63-0ad9-431e-9c11-53c74f648e87" alt="" width="375"><figcaption></figcaption></figure>

* **Visual do Kanban:** Novo ajuste visual com listagem vertical.
* **VueFlow:** Integrado ao construtor de fluxos interno.

{% embed url="<https://youtu.be/4DJjZrhc254>" %}

* **Novas Telas de Acesso:** Redesign das páginas de Login, Cadastro (Signup) e Recuperação de Senha.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FTGCpKsekV1e9xKRLfk6T%2Fimage.png?alt=media&amp;token=95a66732-43c7-42c2-9f3e-9edcc37a2853" alt=""><figcaption></figcaption></figure>

* **Customização da Tela de Login:** Agora configurável através do menu "Customizar" no Superadmin.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FB97J4koY1xozGY79uPeH%2FWhatsApp%20Image%202025-11-26%20at%2015.00.03.jpeg?alt=media&amp;token=692de979-bbcd-4f9e-bf95-75776f726584" alt=""><figcaption></figcaption></figure>

* **Wavoip Expandido:** Suporte adicionado para as APIs WWebJS, Meow, Uazapi e Z-API.
* **Seletor de Emojis:** Ajuste visual no "picker" da reação de mensagens.
* **Horário de Atendimento:** Nova opção para ignorar o horário de atendimento por canal.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FtaN7assmNAbPBh4qDHdL%2Fimage.png?alt=media&amp;token=e748bc8f-f1a6-4950-a58a-5c6ca7315379" alt="" width="375"><figcaption></figcaption></figure>

* **Chatbot:** Distribuição sequencial implementada. [Detalhamento Aqui](/configuracao-administrador/automacao/chat-flow/distribuicao-sequencial-chatflow)

#### 🔧 Ajustes e Correções

* Filtro para mostrar grupos a todos os usuários
* Ajustes na integração Gemini
* Envio de avaliação automática com Uazapi
* Encaminhamento de mensagens utilizando Uazapi
* Edição de mensagem rápida contendo arquivos (Geral e Vue3)
* Disparo de template sem variável e botão de chamada (Call)
* Mensagem rápida WABA (Vue3)
* Correção de CORS na Z-API
* Ajuste na rota `tenantApiCreateSession`
* Bloqueio de resposta de status Z-API
* Limite de caracteres liberado na mensagem de ausência da fila

**Depreciação:** Função de rascunho foi descontinuada.

### 3.1.4.5

<< UPDATE v3.1.4.5 - 18/11/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Frontend VUE3: o suporte a versões com VUE2 foi descontinuado

#### 🆕 Novidades

* **Restrição para usuários (Acesso a informações de contatos)** *Agora é possível ocultar dados sensíveis e o menu de contatos para usuários específicos.* [Confira a documentação detalhada](https://zpro.passaportezdg.com.br/central-do-assinante/recursos-tecnicos/funcionalidades-z-pro/restricao-de-acesso-a-contatos)
* **Horário de atendimento por Fila** *Defina horários específicos por departamento. O sistema agora checa a fila primeiro.* [Confira a documentação detalhada](https://zpro.passaportezdg.com.br/configuracao-inicial-e-estrutural-admin/horarios-de-atendimento)
* **Ações para ticket sem resposta (Follow-up Automático)** *Automação para reengajar clientes que não respondem após X horas.* [Confira a documentação detalhada](https://zpro.passaportezdg.com.br/funil-de-oportunidades/5.-acoes-em-tickets-follow-up-automatico)
* **Opção para escutar mensagens enviadas pelo HUB via API** *Nova opção disponível nas configurações gerais.*
* **Definição de padrões no Canal** *Agora é possível definir Chatbot, Fila e Usuário padrão diretamente no modal de edição do canal.*

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FozKioqjHqNqAtrB6ngiO%2Fimage.png?alt=media&amp;token=560a58c6-3c9b-4627-9006-152d3dd014fa" alt="" width="229"><figcaption></figcaption></figure>

* **Mensagem rápida pública** *Opção para tornar mensagens rápidas visíveis para todos os usuários.*

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FCAs4ft59L7umz1bKjH5L%2Fimage.png?alt=media&amp;token=63335258-350e-4985-b789-cd24c698a4fb" alt="" width="321"><figcaption></figcaption></figure>

* **Título para os Planos** *Novo campo de identificação na criação de planos.*
* **Data customizada na opção de agendamento** *Permite definir intervalos personalizados de dias para recorrência.*
* **Compartilhar ticket / contato de grupo** *Facilita o compartilhamento de informações de grupos com outros usuários durante o atendimento.*

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FfNvgG0LMJHKX8fAA2Nkr%2Fimage.png?alt=media&amp;token=be172402-d6a6-4c0a-95d1-350995ae7e30" alt="" width="346"><figcaption></figcaption></figure>

* **Botão espiar no card de oportunidade** *Recurso adicionado para administradores visualizarem o chat diretamente pelo Funil.*

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FlgdOKudK7h5sAt3IbVHb%2Fimage.png?alt=media&amp;token=574bb641-732b-4917-aea2-beb97dc36d6c" alt="" width="283"><figcaption></figcaption></figure>

* **Filtro de tickets no socket (Configuração Geral)** *Nova configuração para ativar filtro de tickets no socket. Recomendável para operações com alto volume (> 1000 atendimentos/dia).*

#### 🔧 Ajustes e Correções

* Mensagem rápida Uazapi + arquivo
* Espiar conversas na tela de contatos
* Criação de template e edição (Vue3) com suporte a header de vídeo/docs
* Disparo em massa + variável (Vue3)
* Reply de mensagem no dispositivo com Meow (Wuzapi)
* Message upsert no Hub Notificame
* Fluxo de ações para oportunidades (necessário recriar o fluxo)
* Webchat nativo + chatbot
* Disparo em massa com WABA (agora fecha o ticket e define usuário como null)
* Horário da campanha (Vue3)
* OAuth Gmail (Vue3)
* Transbordo humano + ChatGPT (Chatbot)
* Disparo em massa selecionando contato + Baileys
* Transferência chatbot na tela de atendimento (Uazapi)
* Criação de filas (correção ao salvar horário ao criar fila no Vue3)
* Iniciar conversa via Kanban com etiqueta
* Avaliação + mensagem de despedida WWebJS (correção na reabertura)
* Avaliação WABA + fechamento automático
* Rotear atendimento para atendimento pendente via mensagem avulsa

### 3.1.4.4

<< UPDATE v3.1.4.4 - 04/11/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Frontend VUE3: o suporte a versões com VUE2 foi descontinuado

#### 🆕 Novidades

* Limitado mensagens rápidas (uso/criação/edição) por usuário (liberado no painel User, removido do painel Admin / Supervisor)
* Limitado listagem de tarefas para User comum

#### 🔧 Ajustes e Correções

* Chatbot + PDF com Uazapi
* Caption (legenda) no envio de documentos com Uazapi
* Caption (legenda) na api SendMessageAPITextBase64 com Uazapi
* Dify + Uazapi
* Mensagens via API para grupos com MEOW
* Mensagem rápida com MEOW + arquivo (Vue3)
* Modal WhatsApp (Vue3)
* Avatar e nome no "bubble" da mensagem enviada / recebida

### 3.1.4.3

<< UPDATE v3.1.4.3 - 30/10/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!&#x20;

1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Frontend VUE3: o suporte a versões com VUE2 foi descontinuado

#### 🆕 Novidades

* Ativar/desativar validação de contato (nono dígito) com WABA
* Escutar mensagens enviadas pela api do hub notificame

#### 🔧 Ajustes e Correções

* Deletar notas vue3
* Data relatórios vue3
* Botões adicionar em ações em massa para grupos vue3
* Recebimento de mensagens via hub notificame
* Página de pagamentos no superadmin vue3
* Editar / criar template vue3
* Encaminhar mensagem vue3
* Zapi envio e recebimento de áudio
* Sendclose uazapi + api
* Status sended ao enviar mensagem via api wwebjs

### 3.1.4.2

<< UPDATE v3.1.4.2 - 24/10/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### Frontend VUE3: o suporte a versões com VUE2 foi descontinuado

#### 🆕 Novidades

* Disparo de áudio gravado em ligações com Wavoip (Vue3)
* Nome para fechamento personalizado de ticket
* Nó N8N adicionado ao chatbot
* Opção para repetir a mensagem de ausência na metade do tempo no chatbot
* Listar etiquetas, kanbans e demandas por ordem alfabética
* Opção para pular mensagem na campanha

#### 🔧 Ajustes e Correções

* Sincronização de contatos / grupos para Uazapi
* Validação de contato ao iniciar conversa avulsa com Uazapi e Z-API
* Botão adicionar / editar tutoriais (Vue3)
* Selecionar colunas na tela de contatos (Vue3)
* Envio de protocolo com Waba (Vue3)
* Listagem de contatos para marcação em grupos com Baileys
* Chatbot + arquivo Hub Notificame (Vue3)
* Inserção de emoji nas configurações do chatbot (Vue3)
* Ações no fluxo do funil (Vue3)
* Horário de atendimento do usuário (Vue3)

### 3.1.4.1

<< UPDATE v3.1.4.1 - 20/10/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* Tempo para recebimento de avaliação

{% embed url="<https://youtu.be/3aYOwuzhj4s>" %}

* Deletar mensagem com Uazapi
* Importação de contatos por arquivo com Uazapi e Z-API
* Recebimento de localização Z-API
* Envio de vCard Uazapi
* Webhook geral no envio de mensagens Uazapi e Z-API

#### 🔧 Ajustes e Correções

* Busca de mensagem nos tickets Vue3
* Validação de data no formulário de oportunidade Vue3
* Visual da página API no PWA Vue3
* Visual do modal de QR Code Vue3
* Botão "Atualizar LID e Nome" no modal de contato Vue3
* Variáveis de aniversário / despedida no modal do canal Vue3
* Validação de vCard Z-API
* Agendamento com mídias e WWebJS
* Abertura de ticket no PWA Vue3

### 3.1.4.0

<< UPDATE v3.1.4.0 - 14/10/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* Padronizada a versão Vue3 no frontend
* Configuração para controle de atualização de nomes com Uazapi e Z-API
* Controle de grupos e bloqueios com Uazapi e Z-API
* Reação, edição, localização, recebimento de link, responder mensagem, mensagens enviadas pelo dispositivo com Uazapi
* Opção para usar proxy na Evolution
* Criptografia de senha no frontend
* Separação das pastas de mídias para: chatbot, mensagem rápida e mensagem de aniversário

#### 🔧 Ajustes e Correções

* Encaminhamento de mensagens com Uazapi
* Mensagem rápida da Meow (Wuzapi) + PDF
* Chatbot + áudio com Meow (Wuzapi)
* Chatbot inativo não aciona palavra gatilho
* Mensagem de aniversário com arquivo
* Darkmode, mensagem rápida e scroll na tela de atendimento Vue3
* Página de Masterkey Vue3
* Envio de contato Vue3
* Disparo em massa com Meow (Wuzapi)


# 3.1.3.x

### 3.1.3.9

<< UPDATE v3.1.3.9 - 01/10/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* **Integrações ZAPI e Uazapi (Develop)** *Adicionadas duas novas integrações de API não oficial para conexão com o WhatsApp: ZAPI e Uazapi (ambas da Develop).*
* **Transferência para canal WABA fora da janela de 24h** *Agora é possível transferir um atendimento para um canal da API Oficial (WABA) mesmo que a janela de conversa de 24 horas do contato já tenha expirado.*
* **Filtro avançado para avaliação de atendimentos** *Implementado um novo filtro avançado na seção de relatórios de avaliação, permitindo uma análise mais detalhada dos feedbacks.*
* **Limitar canais liberados por Tenant (Superadmin)** *O Superadmin agora pode definir quais tipos de canais (ex: Baileys, WABA, ZAPI) cada cliente (tenant) terá permissão para conectar.*
* **Separação de Funil e Etapa no formulário de oportunidade** *No formulário de criação de oportunidades, os campos "Funil" e "Etapa" foram separados para uma melhor usabilidade.*
* **Reescrita de IA com base no idioma** *A funcionalidade de reescrita por Inteligência Artificial agora considera o idioma selecionado para gerar respostas mais precisas.*
* **Notificação de convite na tela de atendimento** *O sistema agora exibe uma notificação na tela de atendimentos quando um usuário é convidado para participar de uma conversa.*
* **Padronização dos webhooks do n8n** *Realizada uma padronização na estrutura dos dados enviados pelos webhooks para o n8n, melhorando a consistência das integrações.*
* **Botão para buscar mensagens dentro do atendimento** *Implementado um novo botão dentro da tela de atendimento que permite buscar por mensagens específicas no histórico daquela conversa.*
* **Botão para gerenciar grupos dentro do atendimento** *Adicionado um botão que facilita o gerenciamento de grupos de WhatsApp diretamente pela tela de atendimento.*

#### 🔧 Ajustes e Correções

* **Encaminhamento de mensagens com Baileys** *Corrigido o comportamento da função de encaminhar mensagens em canais que utilizam a API Baileys.*
* **Envio de PDF com WABA** *Realizado um ajuste para garantir o envio correto de arquivos PDF em canais da API Oficial (WABA).*
* **Envio de vCard com WABA (nono dígito)** *Corrigido o envio de contatos (vCard) em canais WABA, garantindo a inclusão correta do nono dígito em números de telefone brasileiros.*
* **Integração do Google Agenda com o chatbot interno** *Realizado um ajuste na interação entre a criação de eventos no Google Agenda e o chatbot interno.*
* **Reprodução de áudio gravado no Android para WWEBJS** *Corrigido um problema que impedia a correta reprodução de áudios gravados em dispositivos Android em canais que utilizam a API WWEBJS.*
* **Envio de áudio em campanha para WWEBJS** *Corrigido o envio de mensagens de áudio em campanhas para canais que utilizam a API WWEBJS.*
* **Edição de tutoriais no Superadmin** *Realizada uma correção na funcionalidade de editar os links dos vídeos de tutoriais no painel Superadmin.*
* **Interação do Chatbot com a API Evolution em números de teste** *Corrigido o comportamento do chatbot ao interagir com números de teste em canais que utilizam a API Evolution.*
* **Correções gerais no Vue3** *Implementadas diversas correções e otimizações gerais nos componentes do frontend (Vue3) para melhorar a estabilidade da interface.*

### 3.1.3.8

<< UPDATE v3.1.3.8 - 16/09/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. **Necessário reler o QRCode ou recriar o canal, se você está migrando da versao 3.1.3.6 ou inferior.**

#### 🆕 Novidades

* **Transbordo para atendimento humano (Chatbot e ChatGPT)** *Implementada a funcionalidade de "transbordo humano", que permite transferir a conversa para um atendente caso o Chatbot Interno ou a integração com o ChatGPT não consigam resolver a demanda do cliente.*

#### 🔧 Ajustes e Correções

* **Compatibilização do "isLid" com Baileys** *Realizado um ajuste para garantir a compatibilidade e o correto funcionamento da identificação de contatos temporários (LID) em canais que utilizam a API Baileys.*
* **Notificações Web Push para WABA** *Corrigido o envio de notificações Web Push (para o aplicativo PWA no celular)*
* **Envio de avaliação após reabertura de atendimento**&#x20;
* **Notificação do chat interno com valores decimais**&#x20;
* **Integração do Telegram com o horário de atendimento** *Realizado um ajuste para que os canais do Telegram respeitem corretamente as regras de horário de atendimento configuradas na plataforma.*
* **Correções gerais no Vue3** *Implementadas diversas correções e otimizações gerais nos componentes do frontend (Vue3) para melhorar a estabilidade da interface.*

### 3.1.3.7

<< UPDATE v3.1.3.7 - 10/09/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* **Notificação de ticket compartilhado no painel** *Agora o sistema exibe uma notificação no painel do atendente quando um ticket é compartilhado com ele.*
* **Envio de mensagem avulsa para WABA** *Implementada a funcionalidade de envio de mensagem avulsa para contatos em canais da API Oficial (WABA). A ação abre um novo ticket e permite o envio de um template para iniciar a conversa.*

#### 🔧 Ajustes e Correções

* **Cálculo de TMA e TME negativos** *Realizada uma correção nos relatórios para impedir o cálculo de Tempo Médio de Atendimento (TMA) e Tempo Médio de Espera (TME) com valores negativos.*
* **Correções gerais no Vue3** *Implementadas diversas correções e otimizações gerais nos componentes do frontend (Vue3) para melhorar a estabilidade da interface.*
* &#x20;**Formato de data ao exportar Relatórios de Atendimento** *Corrigido o formato da data no arquivo de exportação (Excel) dos Relatórios de Atendimento.*

### 3.1.3.6

<< UPDATE v3.1.3.6 - 04/09/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

🆕 Novidades

* **Adicionado: Campo de "Admin Token" para Wuzapi** *Esta nova configuração permite que uma instância da API Meow, hospedada em qualquer VPS, se conecte ao Z-PRO via webhooks, sem a necessidade de compartilhar o mesmo banco de dados da plataforma.*
* **Adicionado: Novas Interações para o Chatbot Interno (Beta)** *O chatbot interno recebeu um grande pacote de novas funcionalidades, expandindo suas capacidades de automação.*&#x20;

*Detalhes:*

***Novas Ações:** Agora é possível criar ações para `bloquear o chatbot para um contato`, `criar oportunidade`, `criar evento no Google Agenda`, `agendar mensagem`, `executar webhooks (POST/PUT/DELETE/GET)`, `enviar SMS` e `criar nota`.*&#x20;

***Novas Condições:** Adicionados novos operadores lógicos para validação das respostas, como `contém`, `começa com`, `termina com` e `regex`.*

***Captura de Variáveis:** Agora é possível capturar uma informação em um nó do fluxo e reutilizá-la em nós subsequentes. Para usar a variável capturada (ex: `var1`), utilize a sintaxe `{var1}` ou `{{var1}}` no texto dos próximos passos.*

#### 🔧 Ajustes e Correções

* **Ajuste: Envio de Mídias na Resposta Rápida (WABA)** *Realizada uma correção de CORS que afetava o envio de arquivos de mídia através das respostas rápidas em canais da API Oficial (WABA).*
* **Ajuste: Performance do Banco de Dados** *Adicionadas novas indexações entre as tabelas e realizadas melhorias nas configurações do Postgres e Redis, resultando em uma melhoria geral de performance da plataforma.*

### 3.1.3.5

<< UPDATE v3.1.3.5 - 26/08/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

🆕 Novidades

* **Canal Nativo para Recebimento de E-mails (Gmail):**
  * Adicionamos a funcionalidade para receber e-mails diretamente pelo Gmail
  * VÍDEO EXPLICATIVO NA ÁREA DE MEMBROS, [CLIQUE AQUI](https://app.greenn.club/curso/30288/modulo/217545/aula/772962).
* **Envio de Localização para APIs Não Oficiais:**
  * Agora é possível enviar a localização através de coordenadas de latitude e longitude em atendimentos com APIs não oficiais.
* **Novos Botões para WABA:**
  * Implementamos novos tipos de botões para envio via WABA:
    * Botão CTA URL
    * Botão enriquecido com imagem/arquivo/vídeo
    * Envio de endereço
    * Envio de localização
    * Solicitação de localização
* **Gerenciamento do Webhook do WABA:**
  * Adicionamos a opção para desativar o "keep alive" (a sobrescrita automática) do webhook do WABA. Para isso, adicione a seguinte linha ao seu arquivo `.env` no backend:

    ```
    WABA_WH_OVERRRIDE=0
    ```

***

#### Detalhes Adicionais sobre o Webhook do WABA:

A opção `WABA_WH_OVERRRIDE=0` desativa o comportamento automático do sistema de sobrescrever o webhook configurado na API da WABA. Normalmente, o sistema realiza um "keep alive" – uma verificação e reconfiguração periódica – para garantir que o webhook esteja sempre apontando para o endereço padrão da plataforma.

**Implicações de Desativar a Sobrescrita Automática:**

* **Múltiplos Números WABA:** Se mais de um número WABA estiver conectado ao mesmo aplicativo, o sistema poderá sobrescrever o webhook de todos os números, apontando para o mesmo endpoint.
* **Webhooks Personalizados:** Caso você utilize webhooks personalizados para diferentes números (integrando com sistemas distintos ou ambientes separados), desativar esta opção pode evitar que essas integrações sejam quebradas.
* **Respeito ao Webhook Configurado:** Com `WABA_WH_OVERRRIDE=0`, o sistema respeitará o webhook já configurado no número, prevenindo conflitos ou substituições indesejadas.

***

#### Como Obter Credenciais OAuth2 para Gmail API:

1. Acesse <https://console.cloud.google.com>.
2. Crie um novo projeto ou selecione um existente.
3. Habilite a Gmail API.
4. Crie suas credenciais OAuth2.
5. Configure as URLs autorizadas.

### 3.1.3.4

<< UPDATE v3.1.3.4 - 19/08/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

🆕 Novidades

* **Adicionado: Opção para logotipo em modo escuro (Dark Mode)** *O Superadmin agora pode definir um logotipo específico para o modo escuro.*
* **Adicionado: Status "Gravando" e "Digitando" (Beta)** *Implementado o envio dos status "digitando" e "gravando" nos atendimentos (funcionalidade em Beta).*
* **Adicionado: Novo gateway de SMS (Livison)** *Adicionado o provedor Livison como uma nova opção para integração de envio de SMS.*
* **Adicionado: Recebimento de Ligações na API Oficial (WABA + SIP)** *Implementada a funcionalidade para receber chamadas de voz da API Oficial. Para utilizar, é necessário atender aos seguintes pré-requisitos:* *1. Ativar o webhook `calls` dentro do painel Facebook Developers (na rota: `APP do Facebook > WhatsApp > Configurações`).* *2. Estar com um webphone previamente configurado e recebendo ligações via SIP.*

{% embed url="<https://youtu.be/nYU4OdUUVlU>" %}

* **Adicionado: Webhook para Webchat no envio de mensagens** *Implementado um webhook para escutar as mensagens que são enviadas através do webchat nativo, permitindo integrações com o n8n.*

#### 🔧 Ajustes e Correções

* **Ajuste: Envio em massa de template WABA com variável e botão de telefone** *Realizada uma correção no disparo em massa para o envio de templates da API Oficial (WABA) que utilizam simultaneamente variáveis e botões de telefone.*

### 3.1.3.3

<< UPDATE v3.1.3.3 - 12/08/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* Adicionado: Suporte para Catálogos (Baileys) *Implementado o recebimento de mensagens do tipo catálogo em canais que utilizam a API Baileys.*
* Adicionado: Variável no Cabeçalho de Templates (Cloud API) *Adicionada a funcionalidade para envio de variável no cabeçalho (header) de templates da API Oficial (Cloud API).*
* Adicionado: Botão para copiar URI de Callback (Google Calendar) *Incluído um botão para copiar a URI de callback na tela de configuração da integração com o Google Calendar.*

#### 🔧 Ajustes e Correções

* Ajuste: Disparo em Massa com Seletor de Contatos *Realizada uma correção na funcionalidade do seletor de contatos ("toggle") na tela de Disparo em Massa.*
* Ajuste: Criação de Template com Botão de URL *Corrigido o processo de criação de templates que utilizam botões do tipo URL.*
* Ajuste: Otimização de Memória do Frontend *Realizada uma melhoria no código do frontend para otimizar o consumo de memória.*

### 3.1.3.2

<< UPDATE v3.1.3.2 - 05/08/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* Adicionado: Janela de conversa global para WABA e Hub *Para canais WABA e Hub, o sistema agora considera a última mensagem enviada pelo cliente em qualquer ticket para gerenciar a janela de 24 horas. Se a janela de conversa estiver aberta, o campo de resposta ficará liberado, mesmo que um novo ticket seja criado para o mesmo contato.*
* Adicionado: Paginação em Campanhas *Implementada a paginação na tela de listagem de Campanhas, melhorando a performance e reduzindo o tempo de carregamento em ambientes com grande volume de dados.*
* Adicionado: Integração com Google Calendar *Nova integração com o Google Calendar, permitindo criar e gerenciar eventos diretamente pela plataforma. Para mais detalhes, consulte os vídeos tutoriais.*

Passo a passo para integrar o Google Calendar:

<https://app.greenn.club/curso/30288/modulo/217545/aula/758514>\
<https://app.greenn.club/curso/30288/modulo/217545/aula/758517>

* Adicionado: Rotina "Keep Alive" para Webhook da CloudAPI *Criada uma rotina automática que renova o webhook da API Oficial (WABA) a cada 3 horas, garantindo maior estabilidade na conexão e prevenindo a perda de mensagens.*

#### 🔧 Ajustes e Correções

* Ajuste: Envio de áudio .mp3 via Chatbot (Baileys) *Corrigido o problema que impedia o envio de arquivos de áudio no formato `.mp3` através do chatbot em canais que utilizam a API Baileys.*
* Ajuste: Edição de Template *Realizada uma correção no editor de templates para garantir que as alterações e salvamentos sejam aplicados corretamente.*

### 3.1.3.1

< UPDATE v3.1.3.1 - 30/07/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

#### 🆕 Novidades

* **Adicionado: Masterkey para acesso do Superadmin usando qualquer login.** *(Vídeo demonstrativo da nova função Masterkey abaixo)*&#x20;

{% embed url="<https://youtu.be/amIQEDcrnNY>" %}

* **Adicionado: Opção para criar/editar templates WABA (Configurações > Integração > Meta).** *(Vídeo demonstrativo das novas configurações Meta abaixo)*

{% embed url="<https://youtu.be/FEJdb5V9ZM8>" %}

* **Adicionado: Opção para verificar/registrar telefones WABA (Configurações > Integração > Meta).**
* **Adicionado: Enviar mensagem assinada em marcação de grupos, botões, listas e envio de arquivo único.**
* **Adicionado: Nome do participante do grupo na listagem para marcação (se o contato já for cadastrado no ZPRO).**
* **Adicionado: Compatibilidade com produtos/catálogo WABA.**

#### 🔧 Ajustes e Correções

* **Ajuste: Correção no recebimento de `adsMessage` na Baileys.**

### 3.1.3.0

<< UPDATE v3.1.3.0 - 23/07/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

### Adicionado:

#### 🆕 Novidades

* **Adicionado: Tela para exportar dados das empresas no Superadmin** *Foi criada a Central de Dados no painel Superadmin, uma nova seção que permite a exportação de informações e dados dos seus tenants (clientes).* *(Vídeo demonstrativo abaixo)*&#x20;

{% embed url="<https://youtu.be/90jZXWyZTTI>" %}

* **Adicionado: Convidar usuário para participar de um atendimento** *Agora é possível convidar outro membro da equipe para visualizar e interagir no mesmo atendimento, facilitando a colaboração para resolver o problema do cliente em tempo real.* *(Vídeo demonstrativo abaixo)*

{% embed url="<https://youtu.be/wzCRdLzvF-4>" %}

#### 🔧 Ajustes e Correções

* **Ajuste: Salvar nome na criação do Fluxo / Ação** *Corrigido o comportamento no Funil de Oportunidades para que o nome definido pelo usuário para o "Fluxo" seja salvo corretamente, em vez de ser sobrescrito pelo nome da primeira "Ação" criada dentro dele.*
* **Ajuste: Busca de mensagens limitada nos tickets** *A busca de mensagens dentro de um atendimento agora respeita a configuração de "dias de visualização" definida para os tickets. Isso otimiza a performance em bases de dados com grande volume de mensagens.*
* **Ajuste: Retorno do filtro de visualização por fila** *Restaurado o comportamento do filtro que limita a visualização de mensagens por fila para usuários com perfil de Admin, revertendo uma alteração de uma versão anterior e garantindo as permissões corretas de acesso.*


# 3.1.2.x

Controle de versões

### 3.1.2.9

<< UPDATE v3.1.2.9 - 17/07/2025 >>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

### Adicionado:

* **Definição de domínio no Superadmin:** Agora é possível configurar o domínio da aplicação diretamente pelo painel do superadmin.

{% embed url="<https://youtu.be/NM525hfx6b8>" %}

* **Agrupamento de contato via @lid (Baileys):** Na tela de atendimento, foi incluída a opção de agrupar contatos com `@lid`, localizada acima da função de sanitizar contato.
* **Fluxo dentro de Ações:** Foi adicionada a capacidade de criar fluxos personalizados dentro do módulo de "Ações" da plataforma.

{% hint style="warning" %}
**Importante sobre a função "Fluxo em Ações"**

Ao utilizar a nova funcionalidade de Fluxo dentro de Ações, a mudança de etapa da oportunidade deve ser sempre a última ação configurada, pois todas as outras ações do fluxo dependem da etapa atual para serem executadas corretamente.
{% endhint %}

**Ajustado:**

* **Duplicação de mensagem do Meet (Evolution):** Corrigido o envio duplicado de mensagens do Meet em atendimentos via canais Evolution.
* **Autodistribuição de canal WABA:** Ajustada a rotina de autodistribuição para definir corretamente o atendente (usuário) ao receber um novo ticket.
* **Ocultação do botão "Pausar" no mobile:** Realizadas melhorias de layout para a visualização da tela de atendimento em dispositivos móveis.
* **Tooltip no modo escuro (Dashboard):** Corrigido o contraste do texto das tooltips (dicas de tela) para melhor leitura no dark mode do dashboard.
* **Componentes no WABA (Botões / Lista / Flow):** Resolvido um problema de loop e renderização que afetava o funcionamento destes componentes em canais WABA.
* **Contagem de mensagens não lidas no WABA:** A contagem de mensagens pendentes agora exibe o número exato.

### 3.1.2.8

<< UPDATE v3.1.2.8 - 09/07/2025 >>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

* Adicionado: adicionado template de catálogo para Cloud API
* Ajuste: visualização dos botões na tela de canais (Mobile)
* Ajuste: correção chatgpt assistant + telegram
* Ajuste: liberação da visualização de todos os atendimentos para o admin/supervisor, mesmo que esteja marcado Não visualizar Tickets já atribuídos à outros usuários

### 3.1.2.7

<< UPDATE v3.1.2.7 - 06/07/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática) > acessar a VPS com deployzdg > alterar o arquivo quasar.conf.js na pasta frontend > cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa > pm2 restart all

* Adicionado: limitação para resincronia de mensagens já recebidas com WWEBJS
* Ajuste: liberação da pasta Public + CORS para Webchat nativo (sem necessidade de liberação do parâmetro SECURE\_URL)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.7 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.1.2.6

<< UPDATE v3.1.2.6 - 04/07/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática) > acessar a VPS com deployzdg > alterar o arquivo quasar.conf.js na pasta frontend > cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa > pm2 restart all

* Adicionado: permissão para salvar o campo nome e lid sem precisar validar o contato
* Adicionado: temas e personalização do dashboard principal
* Adicionado: limitação do excluir forçado apenas ao admin

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.6 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.1.2.5

<< UPDATE v3.1.2.5 - 01/07/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática) > acessar a VPS com deployzdg > alterar o arquivo quasar.conf.js na pasta frontend > cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa > pm2 restart all

* Adicionado: sessão única onde usuários serão desconectados ao fazer login em outro dispositivo (Menu Customizar > Forçar Logout - SUPERADMIN)
* Adicionado: deletar contatos em massa
* Adicionado: remoção forçada de contatos (mesmo que já tenha tickets/mensagens na plataforma)
* Adicionado: listar canal do wavoip para realizar a chamada
* Adicionado: botão para resetar conexão da Baileys quando em loop (Configurações > Sessões > Listar Sessões - ADMIN)
* Ajuste: correção disparo de ação no funil (mudar status)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.5 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.1.2.4

<< UPDATE v3.1.2.4 - 26/06/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática) > acessar a VPS com deployzdg > alterar o arquivo quasar.conf.js na pasta frontend > cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa > pm2 restart all

* Adicionado: update versão da WWEBJS
* Ajuste: envio de mensagens rápidas com arquivos

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.4 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.1.2.3

<< UPDATE v3.1.2.3 - 25/06/2025 >> CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE! 1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal. Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática) > acessar a VPS com deployzdg > alterar o arquivo quasar.conf.js na pasta frontend > cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa > pm2 restart all

* Adicionado: otimização no disparo usando etiquetas
* Adicionado: liberação do serviço de ações para oportunidades
* Adicionado: dify + webchat nativo
* Adicionado: integração VAPI
* Adicionado: reescrita com ChatGPT (tela de atendimento)
* Adicionado: parametro no env para liberar acesso a midias por outras urls . Adicionar ao .env do backend o parametro SECURE\_URL com qualquer valor e reiniciar o seu backend . exmeplo: SECURE\_URL=\*
* Adicionado: ao salva/editar/adicionar o sistema dará prioridade ao canal setado como padrão
* Adicionado: transferência de fila/usuário/canal na interação fora do horário de atendimento do chatbot irá enviar mensagem apenas se o atendimento estiver na fila/usuário/canal diferente da opção de transferência
* Ajuste: envio de mp4 usando WWEBJS
* Ajuste: envio de mídia para WABA
* Ajuste: seleção de canal na mensagem avulsa (tela de atendimento)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.3 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.1.2.2

<< UPDATE v3.1.2.2 - 20/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar para 3.1.2.0 ou superior > Atualizar quasar.conf.js (caso realize atualização automática)\
\> acessar a VPS com deployzdg\
\> alterar o arquivo quasar.conf.js na pasta frontend\
\> cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa\
\> pm2 restart all

* Adicionado: opção para usar horário de atendimento do usuário (ativar em configurações gerais)  \
  . ticket sem user, seguirá horário do sistema  \
  . ticket com user checará os dois horários, se horário permitido para o user, a mensagem não será enviada
* Adicionado: opção para limitar o uso do pausar atendimento (ativar em configurações gerais)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.2 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.2.1

<< UPDATE v3.1.2.1 - 20/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficial

2- Atualizar quasar.conf.js (caso realize atualização automática)\
\> acessar a VPS com deployzdg\
\> alterar o arquivo quasar.conf.js na pasta frontend\
\> cd zpro.io && cd frontend && export NODE\_OPTIONS=--openssl-legacy-provider && npx quasar build -P -m pwa\
\> pm2 restart all

* Adicionado: adicionado o pausar atendimento
* Adicionado: histórico de chamadas SIP
* Adicionado: segurança para acesso das mídias (apenas front)
* Adicionado: liberado envio de arquivos com até 1.9gb (Whatsapp Não Oficiais)
* Ajustes: forçar demanda ajustado apenas para fechamento de ticket
* Ajustes: correção visual arrastar card no Kanban

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.0 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.2.0

<< UPDATE v3.1.2.0 - 17/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: melhoria nas interações com @lid para Baileys (captura de dados no evento de notificação)
* Adicionado: envio de vCard para Whatsapp
* Adicionado: filtro para templates aprovados na Waba
* Adicionado: suporte a flows Waba
* Adicionado: ação para funil
* Ajustes: correção listagem de canais Hub
* Ajustes: mensagem de saudação e transferência no chatbot interno (Baileys)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.2.0 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json


# 3.1.1.x

Controle de versões

### 3.1.1.9

<< UPDATE v3.1.1.9 - 13/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: extensão do suporte para @lid na Baileys
* Adicionado: webhook envio waba
* Ajustes: recebimento áudio telegram

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.8 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.8

<< UPDATE v3.1.1.8 - 11/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: suporte para @lid na Baileys
* Adicionado: editar o valor do @lid no contato
* Adicionado: limitação do webpush por fila e whatsapp liberado (supervisor e user, admin continua recebendo tudo)
* Adicionado: botão para cancelar campanha
* Adicionado:
* Ajustes: arredondamento de valor da média do ticket médio (funil)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.8 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.7

<< UPDATE v3.1.1.7 - 05/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: mudança da sessão tutorial e configuração do link do postman para o superadmin (Customizar)
* Ajustes: correção resposta do botão WABA
* Ajustes: configuração SMTP na recuperação de senha

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.7 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.6

<< UPDATE v3.1.1.6 - 03/06/2025 >>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: seção tutoriais (configuração > crm)
* Adicionado: definir link do postman (configuração > gerais)
* Adicionado: integrações diversas com webchat (chatbot, ias, interação com mídias e mais)
  * Obrigatório g erar novo widget!
* Ajustes: encerramento de ligação com SIP

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.6 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.5

<< UPDATE v3.1.1.5 - 29/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.\
Nessa versão alteramos o pacote da Baileys, portanto, instabilidades poderão acontecer nos primeiros momentos com essa API Não Oficia.

* Adicionado: nova versão WhiskeySockets/Baileys
* Adicionado: telefonia SIP WEBRTC/WSS (Asterisk, FreeSwitch e outros)
* Adicionado: opção de listar tickets pela última mensagem recebida (configurações gerais)
* Adicionado: opção para forçar definição do campo demanda ao encerrar o atendimento
* Adicionado: melhoria no relatório da campanha
* Adicionado: melhoria no campo de enviar mensagem no atendimento
* Adicionado: enviar arquivo com legenda
* Adicionado: no chatbot ao transferir para um canal, caso existe usuário e fila setado no canal essas informações serão definidas no novo atendimento
* Ajustes: correção de contato bloqueado para WWEBJs

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.5 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.4

<< UPDATE v3.1.1.4 - 22/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: adicionado opção para listar participantes da equipe no chat interno
* Adicionado: limitação de notificação sonora apenas para participantes do grupo do chat interno
* Adicionado: aumento do campo do prompt do deepseek, ollama, lm, grok, gemini e claude
* Adicionado: aumento do tamanho da mensagem personalizada de avaliação
* Ajustes: correção mensagem de despedida ao clica em ticket fechado

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.4 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.3

<< UPDATE v3.1.1.3 - 20/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: resposta personalizada para cada avaliação
* Adicionado: notificação de transferência (ticket para pendente com notificação enviada)
* Adicionado: feriado mensagem de ausência
* Adicionado: ao espiar, modal rola para ultima mensagem recebida
* Adicionado: palavra gatilho do chatbot interno interagindo com WABA
* Adicionado: estatística de uso de empresa (página tenant no superadmin)
* Adicionado: planos de até 5 reais não são geradas faturar no ASASS (permite criar teste gratuito sem cobrança)
* Ajustes: comportamento enviar e-mail teste na tela de Configs SMTP

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.3 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.2

<< UPDATE v3.1.1.2 - 16/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: opção para atualizar status online/offline (tela usuários admin)
* Adicionado: rota para atualizar e deletar oportunidade via API
* Adicionado: removida marcações ZPRO na criação do widget (contabilidade whitelabel)
* Adicionado: campanha liberada para usuário
* Adicionado: mudança na ordem dos itens no menu do usuário
* Adicionado: controle de features do usuário espiar e fechar forçado (configurações admin)
* Ajustes: comportamento do funil na tela de atendimento

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.2 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.1

<< UPDATE v3.1.1.1 - 13/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: liberado funil avançado

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.1 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.1.0

<< UPDATE v3.1.1.0 - 08/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: webchat nativo
* Adicionado: indexação tabela settings banco de dados
* Ajuste: correção horário de atendimento para novos usuários

\================= ATUALIZAÇÃO RÁPIDA para 3.1.1.0 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json


# 3.1.0.x

Controle de versões

### 3.1.0.9

<< UPDATE v3.1.0.9 - 01/05/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: filtro salvo no cache para o usuário
* Adicionado: customizar vídeo da home no superadmin
* Adicionado: groqcloud para transcrição de áudios
* Adicionado: adicionado supervisor na distribuição de atendimento do chatbot
* Adicionado: restrição de acesso do usuário por horário
* Ajuste: modal do perfil na barra superior

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.9 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.8

<< UPDATE v3.1.0.8 - 23/04/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: notificação sonora chat interno (som icq)
* Adicionado: enviar arquivos com ctrl+c no chat interno
* Adicionado: acesso ao histórico dos atendimentos na tela de contatos (apenas admins)
* Adicionado: adicionar monitor de uso do servidor (superadmin)
* Adicionado: opção para corrigir as conversas importadas no histórico para WWEBJS e Baileys (configurações)
  * apenas para novas mensagens importadas a partir da versão 3108
* Ajuste: correções chatbot waba
* Ajuste: correção envio mensagem de horário de funcionamento Evo

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.8 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.7

<< UPDATE v3.1.0.7 - 15/04/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: controle de módulos por tenant (página Tenants - SuperAdmin)
* Adicionado: controle de páginas por usuário (página Usuário - Admin)
* Adicionado: envio de webhook na mudança de status da conexão (Webhook Atualizar canal/conexão)
* Adicionado: configuração para ativar o módulo de áudio com ondas
* Adicionado: tratar nono dígito de contatos BR (página Contatos)
* Adicionado: log de chamadas na página do Wavoip
* Ajuste: avaliação mais mensagem de despedida com variáveis
* Ajuste: reações waba (interação com chatbot)
* Ajuste: correção filtro de data no protocolo

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.7 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.6

<< UPDATE v3.1.0.6 - 08/04/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: api liberada pra Evolution
* Adicionado: ocultação de licença no painel do superadmin (assinatura)
* Adicionado: controle de expiração das versões no painel do superadmin (assinatura)

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.6 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.5

<< UPDATE v3.1.0.5 - 02/04/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA\
2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução.\
3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado.\
4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: foto de perfil instagram
* Ajuste: SMTP recuperação de senha
* Ajuste: recebimento de mídias Hub Notificame

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.5 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.4

<< UPDATE v3.1.0.4 - 28/03/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA\
2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução.\
3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado.\
4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: tratamento do nono dígito para WABA
* Adicionado: caption ao receber mídias com WABA
* Adicionado: recebimento de templates com Baileys
* Adicionado: gráfico de demandas e valores no dashboard do atendimento
* Adicionado: suporte a multiVcard com WWEBJS
* Adicionado: rota para envio de templates com WABA via ZPRO
* Adicionado: caption adicionado no envio de mídias via API com Baileys na rota SendMessageAPIFileURL
* Adicionado: atualização rápida no superadmin (Beta)
* Ajuste: encaminhar áudio com Evolution

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.4 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.3

<< UPDATE v3.1.0.3 - 24/03/2025>>

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar a chave do ZPRO no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

* Adicionado: duplicação de campanha considerando mídia
* Adicionado: tratamento automático do nono dígito no envio de mensagens com Waba
* Adicionado: caption inserido no envio da imagem via API Waba
* Adicionado: mudança no autodistribuir balanceado do chatbot (considera a etapa da fila e não mais a fila padrão do canal)

### 3.1.0.2

<< UPDATE v3.1.0.2 - 17/03/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA\
2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução.\
3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado.\
4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: Chatgpt interpretando imagens pelo Vision
* Adicionado: Chatgpt respondendo em áudio
* Adicionado: mídia do story no recebimento da interação
* Ajuste: setagem do canal padrão

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.2 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.1

<< UPDATE v3.1.0.1 - 14/03/2025>>\
CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO\
PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA!\
A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE!\
1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA\
2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução.\
3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado.\
4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: redução na quantidade de logs de back e front
* Adicionado: agente Dify (Stream)
* Adicionado: Dify para evolution
* Adicionado: configuração para desabilitar persistência no download de mídias inválidas para Baileys
* Adicionado: envio de arquivo com WWEBJs (aniversário manual)
* Adicionado: adicionado persistência na validação dos números WWEBJS (rotas de APIS)
* Ajuste: sanitização na ordenação das mensagens carregadas

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.1 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND\
a. substituir pasta src\
b. substituir package.json e babel.config.js\
c. npm install --force\
d. export NODE\_OPTIONS=--openssl-legacy-provider\
e. npx quasar build -P -m pwa

2- PASTA BACKEND\
a. substituir pasta dist\
b. substituir package.json\
c. apagar pasta node\_modules e arquivo package-lock.json\
d. npm install\
e. npx sequelize db:migrate\
f. npx sequelize db:seed:all

3- su deployzdg\
pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND\
substituir pasta dist completamente\
backend/package.json

FRONTEND\
substituir pasta src completamente\
frontend/package.json

### 3.1.0.0

<< UPDATE v3.1.0.0 - 10/03/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: mensagem respondida sendo buscada ao clicar
* Adicionado: filtro do admin não é mais carregado como Visualizar todos na tela de atendimento
* Adicionado: nome da fila na mensagem de transferência
* Adicionado: confirmação de leitura da mensagem WABA
* Ajuste: mensagem agendada e encaminhada (arquivos) com WWEBJS + Envio Rápido
* Ajuste: horário de atendimento Baileys

\================= ATUALIZAÇÃO RÁPIDA para 3.1.0.0 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json


# 3.0.9.x

Controle de versões

### 3.0.9.9

<< UPDATE v3.0.9.9 - 07/03/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: demanda e valor na rota createTicket
* Adicionado: tratamento nono dígito rotas da API
* Adicionado: mudanças de estilo no ticket e mensagem

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.9 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.8

<< UPDATE v3.0.9.8 - 06/03/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: socket nas mensagens para Meow e Evo (nome do usuário)
* Adicionado: chamadas múltiplas wavoip
* Adicionado: liberação do microfone após encerramento da gravação
* Adicionado: notificação de áudio suprimida durante gravação do áudio
* Adicionado: melhoria interna na consulta de tickets e contatos

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.8 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.7

<< UPDATE v3.0.9.7 - 04/03/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: deepseek, claude e qwen nativos
* Adicionado: melhoria na interface do chatbot interno
* Adicionado: melhoria na interface do kanban
* Adicionado: página de avaliação com nome do contato
* Adicionado: listagem de canais com nome da empresa (superadmin)
* Adicionado: listagem dos usuários com nome da empresa (superadmin)
* Adicionado: melhoria interface da página dados internos (superadmin)
* Adicionado: chat interno enviando áudio

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.7 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.6

<< UPDATE v3.0.9.6 - 28/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ ATENÇÃO CAMPANHAS PENDENTES COM DATA VENCIDA SERÃO PROCESSADAS FORA DO REDIS, CASO ESTEJA USANDO O ENVIO RÁPIDO!

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: modelo para ChatGPT
* Adicionado: Gemini e Grok
* Adicionado: mensagem de despedida + avaliação
* Adicionado: sanitização do nono dígito e queueId na rota do createTicket
* Adicionado: notas no relatório de atendimento
* Adicionado: infos extrar no relatório de contatos
* Adicionado: Dify para waba
* Ajuste: vcard Evolution
* Ajuste: listagem participantes para grupos Baileys

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.6 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.5

<< UPDATE v3.0.9.5 - 25/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: delimitação no tamanho das colunas de notas
* Adicionado: envio de mensagem de aniversário por multicanais
* Adicionado: botão interagindo no chatbot interno com Waba
* Adicionado: recebimento de botões na WWEBJs
* Adicionado: ignorar stories (configurações)
* Adicionado: kanban e chatbot na rota da api createTicket
* Adicionado: integração ollama
* Ajuste: despedida na API Evolution

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.5 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.4

<< UPDATE v3.0.9.4 - 19/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: envio e recebimento de áudio, txt e csv com Meow
* Adicionado: sanitização de contatos na Meow (profilePicture)
* Adicionado: recebimento de caption nas mídias com Meow
* Adicionado: interação com stories do Instagram via Hub
* Adicionado: opção para definir mensagens de avaliação
* Adicionado: adicionado status na rota createTicket
* Adicionado: redimensionamento nos campos do firstName, lastName e businessName no modal dos contato
* Adicionado: alteração no tema do tooltip dos gráficos

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.4 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.3

<< UPDATE v3.0.9.3 - 17/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: sanitização configuração dify

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.3 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.2

<< UPDATE v3.0.9.2 - 14/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: envio de txt e csv pela evolution
* Adicionado: espiar em buscar mensagens, protocolo, notas e avaliação
* Adicionado: tradução avaliação automática
* Adicionado: opção para trocar plugin de gravação de áudio (beta)

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.2 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.1

<< UPDATE v3.0.9.1 - 11/02/2025>>

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: desativar processamento cadenciado de mensagens com integrações externas (configuração do canal)
* Adicionado: quoted para Waba
* Adicionado: transferência para os canais evo, meow e waba
* Adicionado: liberar grupos para todos (configurações)
* Adicionado: liberar fechado para todos (configurações)
* Adicionado: trava de segurança ao clicar no envio de mensagem mais de uma vez seguida

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.1 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json

### 3.0.9.0

<< UPDATE v3.0.9.0 - 06/02/2025>>&#x20;

CRIE UM PONTO DE RECUPERAÇÃO OU FAÇA UM BACKUP DA VPS ANTES DE RODAR A UPDATE

VERSÃO DO AUTOINSTALADOR JÁ ESTÁ NESSE FORMATO PROCEDIMENTO PARA QUEM QUISER ATUALIZAR

Para usar o autoinstalador, substituir toda a pasta do zpro\_passaporte\_shell no root

⚠️ CONTROLE DE ASSINATURA! A partir da versão 3.0.7.0 é obrigatório informar o e-mail de compra do passaporte no painel do Super Admin - Assinatura para validação da sua instalação, assegurando a segurança da sua instalação.

⚠️ BREAKING CHANGE! 1- Na versão 3.0.8.8 a pasta src-pwa foi substituída para o recebimento do WebPush no aplicativo PWA 2- Na versão 3.0.7.9 o quasar.conf foi substituído para recebimento da folha de tradução. 3- Na versão 3.0.7.5 o APP.vue foi substituído sendo necessário a alteração do nome do APP após atualização rápida, caso você use um nome customizado. 4- Para usuários BAILEYS: Atualize fora do horário de expediente, versão da Baileys atualizada. Pode ser necessário reler o QRCode ou recriar o canal.

* Adicionado: opção para definir o chatflowId na rota setTicketInfo via API
* Adicionado: tratamento do nono dígito nas rotas ShowContact, CreateContact, UpdateContact (exceto waba) via API
* Adicionado: opção isClosed na rota sendAudio via API
* Adicionado: envio de templates sem variáveis para Waba Hub Notificame
* Adicionado: opção para validar contatos na importação
* Adicionado: suporte a importação de .txt separados por ;

\================= ATUALIZAÇÃO RÁPIDA para 3.0.9.0 =================

* USAR O ZPRO.ZIP DA PASTA zpro\_passaporte\_shell

1- PASTA FRONTEND a. substituir pasta src b. substituir package.json e babel.config.js c. npm install --force d. export NODE\_OPTIONS=--openssl-legacy-provider e. npx quasar build -P -m pwa

2- PASTA BACKEND a. substituir pasta dist b. substituir package.json c. apagar pasta node\_modules e arquivo package-lock.json d. npm install e. npx sequelize db:migrate f. npx sequelize db:seed:all

3- su deployzdg pm2 restart all

\================= CHANGELOG =================

ARQUIVOS MODIFICADOS

BACKEND substituir pasta dist completamente backend/package.json

FRONTEND substituir pasta src completamente frontend/package.json


# Validade das versões

Expiração de versão da API

Para garantir a segurança, a estabilidade e a evolução contínua da plataforma, as versões do Z-PRO possuem um ciclo de vida definido.

Quando uma versão atinge sua data de fim, ela é "depreciada". Isso significa que a comunicação com nossos servidores de licença será encerrada para aquela versão e, como resultado, **a plataforma deixará de funcionar**.

**Por este motivo, é mandatório que a atualização para uma nova versão seja realizada antes da data de expiração indicada na tabela abaixo, a fim de evitar a interrupção do seu serviço.**

***

### Nosso Sistema de Versionamento (X.Y.Z.W)

Utilizamos um sistema de versionamento baseado no formato X.Y.Z.W

X (Major)

Y (Minor)

Z (Patch)

W (Commit)

***

### Ciclo de Vida e Versões Depreciadas

Para concentrar nossos esforços de desenvolvimento nas versões mais recentes e seguras, as versões mais antigas do Z-PRO eventualmente chegam ao fim de seu ciclo de vida.

{% hint style="info" %}

### <mark style="color:red;">Previsão sujeita a mudanças conforme atualizações lançadas pelos canais.</mark>

{% endhint %}

### 4.0.2.0 \~ superiores

{% hint style="info" %}
Válido até 01/13/2027
{% endhint %}

### 3.1.5.2 \~ 4.0.1.13

{% hint style="warning" %}
Válido até 01/11/2026
{% endhint %}

### 3.1.1.1  \~ 3.1.5.1

{% hint style="danger" %}
Depreciada
{% endhint %}

#### Tabela de versões depreciadas

| Versão                | Depreciação           |
| --------------------- | --------------------- |
| 4.0.2.0 \~ superiores | Válido até 01/13/2027 |
| 3.1.5.2 \~ 4.0.1.13   | Válido até 01/11/2026 |
| 3.1.1.1 \~ 3.1.5.1    | Depreciada            |
| 3.0.9.7 \~ 3.1.1.0    | Depreciada            |
| 3.0.9.0 \~ 3.0.9.6    | Depreciada            |
| 3.0.8.6 \~ 3.0.8.9    | Depreciada            |
| 3.0.8.0 \~ 3.0.8.5    | Depreciada            |
| 3.0.7.6 \~ 3.0.7.9    | Depreciada            |
| 3.0.7.0 \~ 3.0.7.5    | Depreciada            |
| 3.0.6.5 \~ 3.0.6.9    | Depreciada            |
| 3.0.6.0 \~ 3.0.6.4    | Depreciada            |
| 3.0.5.x               | Depreciada            |
| 3.0.4.x               | Depreciada            |
| 3.0.3.x               | Depreciada            |
| 3.0.2.x               | Depreciada            |
| 3.0.1.x               | Depreciada            |
|                       |                       |

*(Esta tabela será atualizada conforme novas versões principais forem lançadas).*


# Procedimento Padrão de Atualização

Como atualizar o Z-PRO: atualização automática via script ou manual via terminal. Diferença entre versão Homolog e Hotfix e quando usar cada uma.

Manter o Z-PRO atualizado garante segurança, estabilidade e acesso às novas funcionalidades. Este guia cobre os dois métodos disponíveis: atualização automática (recomendada para a maioria) e atualização manual (para ambientes com customizações).

Antes de iniciar, leia as notas da nova versão no Changelog para verificar se há **Breaking Changes** ou ações manuais necessárias.

{% content-ref url="/pages/9DHSTWtSbsPvYR8zkUAE" %}
[Changelog (4.0.x última versão)](/central-do-assinante/atualizacoes-e-status-do-z-pro/changelog-4.0.x-ultima-versao)
{% endcontent-ref %}

***

### Versões disponíveis para download

O Z-PRO é distribuído em duas versões:

<table><thead><tr><th width="103.5">Versão</th><th width="233.5">Para quem</th><th>Quando usar</th></tr></thead><tbody><tr><td><strong>Homolog</strong></td><td>Operação padrão</td><td>Versão estável, recomendada para a maioria das instalações. Passou pela homologação antes do lançamento</td></tr><tr><td><strong>Hotfix</strong></td><td>Quem precisa de correções recentes</td><td>Contém correções e melhorias lançadas nos últimos dias. Mais recente que a Homolog, mas com ciclo de testes mais curto</td></tr></tbody></table>

Os pacotes de download estão disponíveis na área de membros:

[**Portal do assinante → Módulo de Instalação**](https://portal.zdg.com.br/)

{% hint style="warning" %}
O pacote de instalação/atualização (`zpro_passaporte_shell`) é de uso exclusivo do assinante. É proibido compartilhá-lo em grupos ou com terceiros.
{% endhint %}

***

### Passo 1 — Backup (obrigatório antes de qualquer atualização)

{% hint style="danger" %}
**Faça um snapshot do servidor antes de continuar.**

Acesse o painel do seu provedor de VPS e crie um snapshot completo do servidor. Essa é a única garantia de reverter o sistema ao estado anterior em caso de falha durante a atualização. Não prossiga sem um backup recente.
{% endhint %}

***

### Método 1 — Atualização automática via terminal

Recomendado para a maioria das instalações. Um script cuida de todo o processo automaticamente.

{% hint style="info" %}
O vídeo completo desta aula está disponível no [portal do assinante](https://portal.zdg.com.br/270021-sistema-zpro/5179468-atualizacao-automatica-via-terminal).
{% endhint %}

#### Pré-requisitos

1. Faça o download do pacote da versão desejada (Homolog ou Hotfix) na área de membros
2. Descompacte o arquivo `.zip` no seu computador

#### Passo 2 — Upload e substituição dos arquivos

1. Conecte-se ao servidor via **SFTP** (usando Bitvise ou outro cliente)
2. Envie a pasta `zpro_passaporte_shell` descompactada para o diretório `/root` do servidor
3. **Substitua completamente** a pasta antiga e todos os seus arquivos

#### Passo 3 — Execute o atualizador via SSH

Conecte-se ao servidor via SSH e execute os comandos em ordem:

```bash
sudo chmod +x ./zpro_passaporte_shell/zpro
cd ./zpro_passaporte_shell
sudo ./zpro
```

No menu interativo que aparecer, pressione `2` + `Enter` para selecionar **"Atualizar instância primária"**.

O script executará o processo completo de atualização. Ao final, o terminal confirmará a conclusão e o sistema estará na versão mais recente.

***

### Método 2 — Atualização manual via terminal

Para usuários com instalações customizadas ou que realizaram a instalação com parâmetros diferentes do auto-instalador padrão.

{% hint style="danger" %}
**Faça o snapshot antes de iniciar** (ver Passo 1). A atualização manual envolve substituição de arquivos e alterações no banco de dados — sem backup, não há como reverter em caso de erro.
{% endhint %}

{% hint style="info" %}
O vídeo completo desta aula está disponível no [portal do assinante](https://portal.zdg.com.br/270021-sistema-zpro/5179469-atualizacao-manual-via-terminal-v4).
{% endhint %}

#### Passo 2 — Acesso e preparação do ambiente

Acesse o servidor via SSH com o usuário da aplicação (geralmente `deployzdg`) e navegue até o diretório raiz da instalação do Z-PRO.

#### Passo 3 — Upload e substituição do frontend

1. Faça upload do pacote de atualização (`update.zip`) para a raiz da instalação
2. Renomeie a pasta do frontend atual para preservar o backup local:

```bash
mv frontend frontend_old
```

3. Extraia o novo pacote:

```bash
unzip update.zip
```

#### Passo 4 — Configuração do novo frontend (Next.js)

1. Acesse o novo diretório do frontend
2. Identifique a porta de execução no arquivo `server.js`
3. Crie o arquivo de variáveis de ambiente:

```bash
cp .env.example .env.local
```

4. Edite `.env.local` e configure a URL da API, a porta identificada e demais variáveis necessárias

#### Passo 5 — Build do frontend

```bash
npm install
npm run build
```

{% hint style="warning" %}
O `npm run build` exige processamento intenso. Verifique se a VPS tem RAM e swap adequados — memória insuficiente pode interromper o build por travamento.
{% endhint %}

#### Passo 6 — Atualização dos serviços no PM2

```bash
pm2 list
```

1. Identifique e remova o processo do frontend antigo (Vue):

```bash
pm2 delete [nome_ou_id_do_processo_antigo]
```

2. Inicie o novo frontend conforme as diretrizes da nova versão
3. Salve as configurações:

```bash
pm2 save
```

#### Passo 7 — Atualização do backend e banco de dados

1. Acesse o diretório do backend
2. Instale as dependências:

```bash
npm install
```

3. Execute as migrações e seeders do banco de dados:

```bash
npx sequelize db:migrate
npx sequelize db:seed:all
```

4. Reinicie o backend:

```bash
pm2 restart [nome_ou_id_do_backend]
```

#### Passo 8 — Validação e limpeza

1. Acesse o painel pelo navegador e verifique:
   * A nova interface carregou corretamente
   * Os canais estão respondendo
2. Após confirmar o pleno funcionamento, remova os arquivos temporários:

```bash
rm update.zip
rm -rf frontend_old
```


# Conexão com Passkey — APIs não oficiais

Em 30/06/2025, o WhatsApp ativou uma nova camada de segurança que exige uma **Chave de Acesso (Passkey)** durante o processo de vinculação de novos dispositivos. Isso quebrou o fluxo tradicional de leitura de QR Code utilizado pelas bibliotecas não oficiais — o problema **não é específico do Z-PRO** e afeta todo o ecossistema de APIs não oficiais.

***

### Status de compatibilidade por biblioteca

| Biblioteca        | Status                                              |
| ----------------- | --------------------------------------------------- |
| **Baileys**       | ✅ Compatível — já disponível no Z-PRO               |
| **WhatsMeow**     | ✅ Compatível — já disponível no Z-PRO               |
| **UAZAPI**        | ✅ Compatível — disponível via Hotfix                |
| **Z-API**         | 🟡 Conector próprio — sem suporte nativo no momento |
| **wwebjs**        | 🟠 Aguardando atualização da biblioteca oficial     |
| **Evolution API** | 🟠 Aguardando atualização da biblioteca base        |

{% hint style="info" %}
Se a sua sessão já está conectada e funcionando, **não desconecte nem recrie a sessão** sem necessidade até que sua biblioteca esteja homologada.
{% endhint %}

***

### Solução: extensão Passkey Linker

A ZDG desenvolveu e disponibiliza gratuitamente a extensão **Passkey Linker** para o Google Chrome. Ela autentica via WhatsApp Web e exporta automaticamente as credenciais para o Z-PRO — reproduzindo o fluxo tradicional de QR Code de forma transparente para o usuário final.

{% embed url="<https://www.youtube.com/watch?v=VkQrL06yUiw>" %}
Milhares de APIs Foram Impactadas pela Nova Atualização do WhatsApp
{% endembed %}

***

### Passo a passo para usuários Z-PRO

#### Passo 1 — Instale a extensão Passkey Linker

Acesse a Chrome Web Store e instale a versão mais recente da extensão:

{% embed url="<https://chromewebstore.google.com/detail/passkey-linker/hehoacnepmncbjckgnfekfcgdijpigaj>" %}
Passkey Linker — Chrome Web Store
{% endembed %}

{% hint style="warning" %}
**Versão mínima recomendada: 3.6.0.** Se você já utilizava a extensão, verifique se ela foi atualizada para essa versão na Chrome Web Store antes de prosseguir.
{% endhint %}

#### Passo 2 — Autentique no WhatsApp Web

Abra o [WhatsApp Web](https://web.whatsapp.com/) no Chrome e faça o login normalmente com o celular:

1. Leia o QR Code com o aplicativo do WhatsApp
2. Se o WhatsApp solicitar a verificação de Passkey, complete o processo de autenticação exigido (Google Authenticator, chave de segurança ou chave salva no Chrome)
3. Aguarde o WhatsApp Web carregar completamente

#### Passo 3 — Conecte o canal no Z-PRO

1. No painel, acesse **Administração → Canais**
2. Clique em **Adicionar canal** e selecione o tipo **Baileys** ou **WhatsMeow**
3. Dê um nome ao canal e salve
4. Na tela de conexão do canal, clique no botão **WhatsApp Web**

O Z-PRO detectará automaticamente a sessão autenticada do WhatsApp Web e importará as credenciais. Basta confirmar a conexão.

{% hint style="success" %}
Processo concluído. A partir da versão 3.6.0 **não é mais necessário clicar em "Extrair Sessão"** — a integração com o Z-PRO é automática.
{% endhint %}

***

### Usando a extensão com outros sistemas (não Z-PRO)

A extensão Passkey Linker é white-label e pode ser usada com qualquer sistema compatível com Baileys ou WhatsMeow.

1. Instale a extensão conforme o Passo 1
2. Abra o WhatsApp Web e autentique normalmente (com Passkey, se exigido)
3. Clique no ícone da extensão na barra do Chrome
4. Clique em **Extrair sessão** e copie as credenciais exibidas
5. Cole-as no backend ou sistema que você utiliza para autenticação

{% hint style="info" %}
**Revendedores Z-PRO:** a extensão é gratuita e white-label — pode ser indicada livremente aos seus clientes.
{% endhint %}

***

### Perguntas frequentes

**Minha sessão já está conectada. Preciso fazer algo?** Não. O Passkey Linker é necessário apenas para conectar **novas** sessões. Sessões existentes e ativas não são afetadas — não as desconecte sem necessidade.

**A extensão funciona com wwebjs ou Evolution?** Ainda não. Essas bibliotecas aguardam atualização dos seus respectivos mantenedores. Assim que estiver disponível, publicaremos um Hotfix do Z-PRO com a compatibilidade.

**A extensão tem custo?** Não. É gratuita e disponibilizada pela ZDG para toda a comunidade.


# Referência da API

Documentação da API REST do Z-PRO: endpoints disponíveis, autenticação, webhooks e exemplos para integração com sistemas externos.


# 📅 Agendamentos E Lembretes

## POST /v2/api/external/{apiId}/appointment/create

> AppointmentCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/appointment/create":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"AppointmentCreate","operationId":"AppointmentCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"contactId":{"type":"string"},"contactName":{"type":"string"},"contactPhone":{"type":"string"},"whatsappId":{"type":"string"},"startAt":{"type":"string"},"endAt":{"type":"string"},"status":{"type":"string"},"notes":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/appointment/delete/{id}

> AppointmentDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/appointment/delete/{id}":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"AppointmentDelete","operationId":"AppointmentDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/appointment/list

> AppointmentList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/appointment/list":{"get":{"tags":["📅 Agendamentos e Lembretes"],"summary":"AppointmentList","operationId":"AppointmentList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"description":"pending | confirmed | cancelled | completed","schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/appointment/show/{id}

> AppointmentShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/appointment/show/{id}":{"get":{"tags":["📅 Agendamentos e Lembretes"],"summary":"AppointmentShow","operationId":"AppointmentShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/appointment/update/{id}

> AppointmentUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/appointment/update/{id}":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"AppointmentUpdate","operationId":"AppointmentUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"contactId":{"type":"string"},"contactName":{"type":"string"},"contactPhone":{"type":"string"},"whatsappId":{"type":"string"},"startAt":{"type":"string"},"endAt":{"type":"string"},"status":{"type":"string"},"notes":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/scheduleReminder/create

> ScheduleReminderCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/scheduleReminder/create":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"ScheduleReminderCreate","operationId":"ScheduleReminderCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"hoursBeforeEvent":{"type":"integer"},"messageType":{"type":"string"},"messageContent":{"type":"string"},"whatsappId":{"type":"string"},"active":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/scheduleReminder/delete/{id}

> ScheduleReminderDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/scheduleReminder/delete/{id}":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"ScheduleReminderDelete","operationId":"ScheduleReminderDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/scheduleReminder/list

> ScheduleReminderList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/scheduleReminder/list":{"get":{"tags":["📅 Agendamentos e Lembretes"],"summary":"ScheduleReminderList","operationId":"ScheduleReminderList","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/scheduleReminder/toggle/{id}

> ScheduleReminderToggle

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/scheduleReminder/toggle/{id}":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"ScheduleReminderToggle","operationId":"ScheduleReminderToggle","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/scheduleReminder/update/{id}

> ScheduleReminderUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📅 Agendamentos e Lembretes"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/scheduleReminder/update/{id}":{"post":{"tags":["📅 Agendamentos e Lembretes"],"summary":"ScheduleReminderUpdate","operationId":"ScheduleReminderUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"hoursBeforeEvent":{"type":"integer"},"messageType":{"type":"string"},"messageContent":{"type":"string"},"whatsappId":{"type":"string"},"active":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📣 Campanhas

## POST /v2/api/external/{apiId}/campaign/cancel/{campaignId}

> CampaignCancel

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/cancel/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignCancel","operationId":"CampaignCancel","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/contacts/add/{campaignId}

> CampaignContactsAdd

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/contacts/add/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignContactsAdd","operationId":"CampaignContactsAdd","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"number":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/campaign/contacts/{campaignId}

> CampaignContactsList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/contacts/{campaignId}":{"get":{"tags":["📣 Campanhas"],"summary":"CampaignContactsList","operationId":"CampaignContactsList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/contacts/remove/{campaignId}/{contactId}

> CampaignContactsRemove

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/contacts/remove/{campaignId}/{contactId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignContactsRemove","operationId":"CampaignContactsRemove","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."},{"name":"contactId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/contacts/removeAll/{campaignId}

> CampaignContactsRemoveAll

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/contacts/removeAll/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignContactsRemoveAll","operationId":"CampaignContactsRemoveAll","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/create

> CampaignCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/create":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignCreate","operationId":"CampaignCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"message1":{"type":"string"},"message2":{"type":"string"},"message3":{"type":"string"},"sessionId":{"type":"string"},"delay":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/delete/{campaignId}

> CampaignDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/delete/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignDelete","operationId":"CampaignDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/duplicate/{campaignId}

> CampaignDuplicate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/duplicate/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignDuplicate","operationId":"CampaignDuplicate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/campaign/list

> CampaignList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/list":{"get":{"tags":["📣 Campanhas"],"summary":"CampaignList","operationId":"CampaignList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/pause/{campaignId}

> CampaignPause

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/pause/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignPause","operationId":"CampaignPause","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/campaign/report/{campaignId}

> CampaignReport

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/report/{campaignId}":{"get":{"tags":["📣 Campanhas"],"summary":"CampaignReport","operationId":"CampaignReport","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/resume/{campaignId}

> CampaignResume

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/resume/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignResume","operationId":"CampaignResume","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/skip/{campaignId}

> CampaignSkip

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/skip/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignSkip","operationId":"CampaignSkip","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/start/{campaignId}

> CampaignStart

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/start/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignStart","operationId":"CampaignStart","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/campaign/update/{campaignId}

> CampaignUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📣 Campanhas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/campaign/update/{campaignId}":{"post":{"tags":["📣 Campanhas"],"summary":"CampaignUpdate","operationId":"CampaignUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"campaignId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"start":{"type":"string"},"message1":{"type":"string"},"message2":{"type":"string"},"message3":{"type":"string"},"sessionId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🔌 Canais E Sessões

## POST /v2/api/external/{apiId}/createtSession

> CreateSession

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createtSession":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"CreateSession","operationId":"CreateSession","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nome da instância do WhatsApp"},"status":{"type":"string","description":"Status inicial da sessão (DISCONNECTED, CONNECTED)"},"type":{"type":"string","description":"Tipo da sessão"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteSession

> DeleteSession

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteSession":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"DeleteSession","operationId":"DeleteSession","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"integer","description":"ID da sessão do WhatsApp que será deletada"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/requestNewQrCodeSession

> RequestNewQrCode

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/requestNewQrCodeSession":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"RequestNewQrCode","operationId":"RequestNewQrCode","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"integer","description":"ID da sessão do WhatsApp que terá um novo QR Code gerado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showChannel

> ShowChannelInformation

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showChannel":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"ShowChannelInformation","operationId":"ShowChannelInformation","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do canal (formato: 5511999999999)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showChannelById

> ShowChannelInformationById

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showChannelById":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"ShowChannelInformationById","operationId":"ShowChannelInformationById","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"ID do canal que será consultado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/qrCodeSession

> ShowQrCode

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/qrCodeSession":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"ShowQrCode","operationId":"ShowQrCode","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"integer","description":"ID da sessão do WhatsApp que terá o QR Code gerado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/startSession

> StartSession

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔌 Canais e Sessões"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/startSession":{"post":{"tags":["🔌 Canais e Sessões"],"summary":"StartSession","operationId":"StartSession","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"integer","description":"ID da sessão do WhatsApp que será iniciada"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 👤 Contatos

## POST /v2/api/external/{apiId}/blockContact

> BlockContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/blockContact":{"post":{"tags":["👤 Contatos"],"summary":"BlockContact","operationId":"BlockContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"ID do contato que será bloqueado/desbloqueado"},"blocked":{"type":"boolean","description":"true para bloquear, false para desbloquear"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/createContact

> CreateContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createContact":{"post":{"tags":["👤 Contatos"],"summary":"CreateContact","operationId":"CreateContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nome completo do contato"},"number":{"type":"string","description":"Número do WhatsApp (formato: 5511999999999)"},"email":{"type":"string","description":"Email do contato"},"cpf":{"type":"string","description":"CPF do contato (formato: 000.000.000-00)"},"firstName":{"type":"string","description":"Primeiro nome do contato"},"lastName":{"type":"string","description":"Sobrenome do contato"},"businessName":{"type":"string","description":"Nome da empresa do contato"},"birthdayDate":{"type":"string","description":"Data de nascimento (formato: DD/MM/AAAA)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/getContactExtraInfo

> GetContactExtraInfo

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/getContactExtraInfo":{"get":{"tags":["👤 Contatos"],"summary":"GetContactExtraInfo","operationId":"GetContactExtraInfo","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"contactId","in":"query","required":false,"description":"ID do contato","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/contacts/search

> SearchContacts

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/contacts/search":{"post":{"tags":["👤 Contatos"],"summary":"SearchContacts","operationId":"SearchContacts","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"searchParam":{"type":"string","description":"Parâmetro de busca textual (opcional) - busca em nome, número, CPF, etc"},"page":{"type":"integer","description":"Número da página (padrão: 1)"},"limit":{"type":"integer","description":"Limite de resultados por página (padrão: 40)"},"tagId":{"type":"integer","description":"ID de uma tag para filtrar (opcional)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showcontact

> ShowContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showcontact":{"post":{"tags":["👤 Contatos"],"summary":"ShowContact","operationId":"ShowContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do contato (formato: 5511999999999)"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateContact

> UpdateContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateContact":{"post":{"tags":["👤 Contatos"],"summary":"UpdateContact","operationId":"UpdateContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nome completo do contato"},"number":{"type":"string","description":"Número do WhatsApp (formato: 5511999999999)"},"email":{"type":"string","description":"Email do contato"},"cpf":{"type":"string","description":"CPF do contato (formato: 000.000.000-00)"},"firstName":{"type":"string","description":"Primeiro nome do contato"},"lastName":{"type":"string","description":"Sobrenome do contato"},"businessName":{"type":"string","description":"Nome da empresa do contato"},"birthdayDate":{"type":"string","description":"Data de nascimento (formato: DD/MM/AAAA)"},"kanban":{"type":"integer","description":"ID do kanban do contato"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateContactExtraInfo

> UpdateContactExtraInfo

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateContactExtraInfo":{"post":{"tags":["👤 Contatos"],"summary":"UpdateContactExtraInfo","operationId":"UpdateContactExtraInfo","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"ID do contato que terá as informações adicionais atualizadas"},"extraInfo":{"type":"array","description":"Array de campos personalizados (extraInfo)","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateContactKanban

> UpdateContactKanban

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateContactKanban":{"post":{"tags":["👤 Contatos"],"summary":"UpdateContactKanban","operationId":"UpdateContactKanban","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"ID do contato que terá o kanban (carteira) alterado"},"kanban":{"type":"integer","description":"ID do kanban (carteira) que será atribuído ao contato"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateContactWallet

> UpdateContactWallet

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateContactWallet":{"post":{"tags":["👤 Contatos"],"summary":"UpdateContactWallet","operationId":"UpdateContactWallet","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"ID do contato que será carteirizado"},"walletId":{"type":"integer","description":"ID da wallet que será atribuída ao contato (pode usar walletId ou walletIds)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/mergecontacts

> MergeContacts

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/mergecontacts":{"post":{"tags":["👤 Contatos"],"summary":"MergeContacts","operationId":"MergeContacts","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pairs":{"type":"array","description":"Pares a mesclar (max 150 por requisicao — use chunking). Cada par aceita IDs OU numeros. Por numero: resolucao exato-primeiro; se ambiguo, a linha retorna ERR_NUMBER_AMBIGUOUS com os candidatos.","items":{"type":"object","properties":{"primaryId":{"type":"integer"},"duplicateId":{"type":"integer"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/findduplicatecontacts

> FindDuplicateContacts

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/findduplicatecontacts":{"post":{"tags":["👤 Contatos"],"summary":"FindDuplicateContacts","operationId":"FindDuplicateContacts","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"integer","description":"Limite de pares retornados (padrao 500)"},"matchKinds":{"type":"array","description":"Heuristicas (padrao: variante do 9o digito + cross-collision LID)","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/unmergecontacts

> UnmergeContacts

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👤 Contatos"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/unmergecontacts":{"post":{"tags":["👤 Contatos"],"summary":"UnmergeContacts","operationId":"UnmergeContacts","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"duplicateIds":{"type":"array","description":"Desfaz mesclagens registradas (ordem inversa: a mais recente primeiro). Max 150 por requisicao.","items":{"type":"integer"}},"mergeLogIds":{"type":"array","description":"Alternativa: ids do log de mesclagem","items":{"type":"object"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🏗️ CRM Pipeline

## POST /v2/api/external/{apiId}/pipeline/create

> PipelineCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/pipeline/create":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"PipelineCreate","operationId":"PipelineCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/pipeline/delete/{id}

> PipelineDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/pipeline/delete/{id}":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"PipelineDelete","operationId":"PipelineDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/pipeline/list

> PipelineList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/pipeline/list":{"get":{"tags":["🏗️ CRM - Pipeline"],"summary":"PipelineList","operationId":"PipelineList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/pipeline/show/{id}

> PipelineShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/pipeline/show/{id}":{"get":{"tags":["🏗️ CRM - Pipeline"],"summary":"PipelineShow","operationId":"PipelineShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/pipeline/update/{id}

> PipelineUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/pipeline/update/{id}":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"PipelineUpdate","operationId":"PipelineUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/stage/create

> StageCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/stage/create":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"StageCreate","operationId":"StageCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"pipelineId":{"type":"string"},"order":{"type":"integer"},"color":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/stage/delete/{id}

> StageDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/stage/delete/{id}":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"StageDelete","operationId":"StageDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/stage/list

> StageList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/stage/list":{"get":{"tags":["🏗️ CRM - Pipeline"],"summary":"StageList","operationId":"StageList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"pipelineId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/stage/show/{id}

> StageShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/stage/show/{id}":{"get":{"tags":["🏗️ CRM - Pipeline"],"summary":"StageShow","operationId":"StageShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/stage/update/{id}

> StageUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏗️ CRM - Pipeline"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/stage/update/{id}":{"post":{"tags":["🏗️ CRM - Pipeline"],"summary":"StageUpdate","operationId":"StageUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📊 Dashboard

## GET /v2/api/external/{apiId}/dash/ticketsAndTimes

> DashTicketsAndTimes

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsAndTimes":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsAndTimes","operationId":"DashTicketsAndTimes","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsChannels

> DashTicketsChannels

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsChannels":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsChannels","operationId":"DashTicketsChannels","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsEvolution

> DashTicketsEvolution

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsEvolution":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsEvolution","operationId":"DashTicketsEvolution","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsEvolutionByValue

> DashTicketsEvolutionByValue

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsEvolutionByValue":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsEvolutionByValue","operationId":"DashTicketsEvolutionByValue","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsEvolutionChannelsName

> DashTicketsEvolutionChannelsName

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsEvolutionChannelsName":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsEvolutionChannelsName","operationId":"DashTicketsEvolutionChannelsName","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsPerUser

> DashTicketsPerUser

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsPerUser":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsPerUser","operationId":"DashTicketsPerUser","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsQueue

> DashTicketsQueue

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsQueue":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsQueue","operationId":"DashTicketsQueue","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsReasons

> DashTicketsReasons

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsReasons":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsReasons","operationId":"DashTicketsReasons","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsStatus

> DashTicketsStatus

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsStatus":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsStatus","operationId":"DashTicketsStatus","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/dash/ticketsUser

> DashTicketsUser

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Dashboard"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/dash/ticketsUser":{"get":{"tags":["📊 Dashboard"],"summary":"DashTicketsUser","operationId":"DashTicketsUser","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"startDate","in":"query","required":false,"schema":{"type":"string"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📤 Envio Em Lote

## POST /v2/api/external/{apiId}/bulkDispatch/incrementProgress/{dispatchId}

> BulkDispatchIncrementProgress

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkDispatch/incrementProgress/{dispatchId}":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkDispatchIncrementProgress","operationId":"BulkDispatchIncrementProgress","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"dispatchId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/bulkDispatch/list

> BulkDispatchList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkDispatch/list":{"get":{"tags":["📤 Envio em Lote"],"summary":"BulkDispatchList","operationId":"BulkDispatchList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/bulkDispatch/show/{dispatchId}

> BulkDispatchShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkDispatch/show/{dispatchId}":{"get":{"tags":["📤 Envio em Lote"],"summary":"BulkDispatchShow","operationId":"BulkDispatchShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"dispatchId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/bulkDispatch/update/{dispatchId}

> BulkDispatchUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkDispatch/update/{dispatchId}":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkDispatchUpdate","operationId":"BulkDispatchUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"dispatchId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"cancellationReason":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## BulkFastMessage

> v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie "skipActiveTicketCheck": false no body.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkFastMessage":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkFastMessage","operationId":"BulkFastMessage","description":"v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"whatsappType":{"type":"string"},"arrayNumbers":{"type":"array","items":{"type":"string"}},"message":{"type":"string"},"min":{"type":"integer"},"max":{"type":"integer"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/bulkIndividual

> BulkIndividual

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkIndividual":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkIndividual","operationId":"BulkIndividual","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"number":{"type":"string"},"message":{"type":"string"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## BulkSendMessage

> v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie "skipActiveTicketCheck": false no body.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkSendMessage":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkSendMessage","operationId":"BulkSendMessage","description":"v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, destinatarios com ticket aberto ou pendente (em qualquer canal) NAO recebem o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"arrayNumbers":{"type":"array","items":{"type":"string"}},"message":{"type":"string"},"min":{"type":"integer"},"max":{"type":"integer"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## BulkSendMessageWithVariable

> v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, o destinatario com ticket aberto ou pendente (em qualquer canal) NAO recebe o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie "skipActiveTicketCheck": false no body.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📤 Envio em Lote"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/bulkSendMessageWithVariable":{"post":{"tags":["📤 Envio em Lote"],"summary":"BulkSendMessageWithVariable","operationId":"BulkSendMessageWithVariable","description":"v2 crossChannelTicketCheck: quando a flag 'Verificar conversa em outros canais' do tenant esta ligada, o destinatario com ticket aberto ou pendente (em qualquer canal) NAO recebe o disparo. A resposta inclui skipped (contagem) e skippedNumbers (lista). Para ignorar a checagem nesta chamada, envie \"skipActiveTicketCheck\": false no body.","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"message":{"type":"string"},"dataInput":{"type":"string"},"min":{"type":"integer"},"max":{"type":"integer"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🎯 Envio Por Ticket

## SendMessageByTicket

> Endpoint com mais de um formato de payload na coleção oficial: \*\*SendMessageByTicketText\*\*, \*\*SendMessageByTicketFile\*\*, \*\*SendMessageByTicketMediaUrl\*\*, \*\*SendMessageByTicketBase64\*\*. Veja os exemplos do corpo para escolher a variante.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎯 Envio por Ticket"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendMessageByTicket":{"post":{"tags":["🎯 Envio por Ticket"],"summary":"SendMessageByTicket","operationId":"SendMessageByTicketText","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket (conversa) que recebera a mensagem"},"body":{"type":"string","description":"Texto da mensagem (obrigatorio quando nao ha midia)"},"externalKey":{"type":"string","description":"Chave unica p/ idempotencia (recomendado)"},"reopen":{"type":"boolean","description":"Reabrir ticket fechado antes de enviar (sem isto, ticket fechado retorna 409)"},"isClosed":{"type":"boolean","description":"Fechar o ticket apos o envio"}},"required":["body"]}},"multipart/form-data":{"schema":{"type":"object","properties":{"media":{"type":"string","format":"binary"},"ticketId":{"type":"string"},"body":{"type":"string"},"externalKey":{"type":"string"},"reopen":{"type":"string"},"isClosed":{"type":"string"}},"required":["media"]}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}},"description":"Endpoint com mais de um formato de payload na coleção oficial: **SendMessageByTicketText**, **SendMessageByTicketFile**, **SendMessageByTicketMediaUrl**, **SendMessageByTicketBase64**. Veja os exemplos do corpo para escolher a variante."}}}}
```


# 📂 Galeria

## POST /v2/api/external/{apiId}/gallery/delete/{id}

> GalleryDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📂 Galeria"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/gallery/delete/{id}":{"post":{"tags":["📂 Galeria"],"summary":"GalleryDelete","operationId":"GalleryDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/gallery/list

> GalleryList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📂 Galeria"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/gallery/list":{"get":{"tags":["📂 Galeria"],"summary":"GalleryList","operationId":"GalleryList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"pageNumber","in":"query","required":false,"schema":{"type":"integer"}},{"name":"fileType","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/gallery/upload

> GalleryUpload

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📂 Galeria"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/gallery/upload":{"post":{"tags":["📂 Galeria"],"summary":"GalleryUpload","operationId":"GalleryUpload","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 👥 Grupos Whats App

## POST /v2/api/external/{apiId}/group/addParticipant

> GroupAddParticipant

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/addParticipant":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupAddParticipant","operationId":"GroupAddParticipant","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/changeDescription

> GroupChangeDescription

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/changeDescription":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupChangeDescription","operationId":"GroupChangeDescription","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"description":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/changePicture

> GroupChangePicture

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/changePicture":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupChangePicture","operationId":"GroupChangePicture","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"picture":{"type":"string","description":"exemplo.com/foto.jpg\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/changeTitle

> GroupChangeTitle

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/changeTitle":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupChangeTitle","operationId":"GroupChangeTitle","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"title":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/create

> GroupCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/create":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupCreate","operationId":"GroupCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"titles":{"type":"array","items":{"type":"string"}},"number":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/demote

> GroupDemote

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/demote":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupDemote","operationId":"GroupDemote","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/getInviteLink

> GroupGetInviteLink

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/getInviteLink":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupGetInviteLink","operationId":"GroupGetInviteLink","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/list

> GroupList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/list":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupList","operationId":"GroupList","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/listParticipants

> GroupListParticipants

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/listParticipants":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupListParticipants","operationId":"GroupListParticipants","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/promote

> GroupPromote

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/promote":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupPromote","operationId":"GroupPromote","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/removeParticipant

> GroupRemoveParticipant

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/removeParticipant":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupRemoveParticipant","operationId":"GroupRemoveParticipant","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"participants":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/setAdminsOnly

> GroupSetAdminsOnly

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/setAdminsOnly":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupSetAdminsOnly","operationId":"GroupSetAdminsOnly","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupIds":{"type":"array","items":{"type":"string"}},"adminsOnly":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/showById

> GroupShowById

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/showById":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupShowById","operationId":"GroupShowById","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"string"},"groupId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/listGroupInfo

> ListGroupsInfo

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listGroupInfo":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"ListGroupsInfo","operationId":"ListGroupsInfo","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"listGroups":{"type":"boolean","description":"lista todos os grupos"},"listParticipants":{"type":"boolean","description":"lista todos os grupos e adiciona o array de participantes"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/group/leave

> GroupLeave

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Grupos WhatsApp"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group/leave":{"post":{"tags":["👥 Grupos WhatsApp"],"summary":"GroupLeave","operationId":"GroupLeave","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"whatsappId":{"type":"integer","description":"ID da sessao (canal WABA oficial — outros tipos retornam ERR_LEAVE_GROUP_WABA_ONLY)"},"groupId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🟢 Interativo Baileys

## POST /v2/api/external/{apiId}/sendInteractive/baileys/quickReply

> BaileysQuickReply

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/quickReply":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysQuickReply","operationId":"BaileysQuickReply","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"buttons":{"type":"array","items":{"type":"object","properties":{"display_text":{"type":"string"},"id":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/baileys/singleSelect

> BaileysSingleSelect

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/singleSelect":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysSingleSelect","operationId":"BaileysSingleSelect","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"list":{"type":"object","properties":{"title":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}}}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/baileys/pixButton

> BaileysPixButton

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/pixButton":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysPixButton","operationId":"BaileysPixButton","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"pixType":{"type":"string"},"pixKey":{"type":"string"},"pixName":{"type":"string"},"bodyText":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/baileys/ctaCopy

> BaileysCtaCopy

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/ctaCopy":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysCtaCopy","operationId":"BaileysCtaCopy","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"copyCode":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/baileys/ctaUrl

> BaileysCtaUrl

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/ctaUrl":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysCtaUrl","operationId":"BaileysCtaUrl","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"url":{"type":"string","description":"exemplo.com\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/baileys/ctaCall

> BaileysCtaCall

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Baileys"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/baileys/ctaCall":{"post":{"tags":["🟢 Interativo Baileys"],"summary":"BaileysCtaCall","operationId":"BaileysCtaCall","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"phoneNumber":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🟢 Interativo Zapo

## POST /v2/api/external/{apiId}/sendInteractive/zapo/quickReply

> ZapoQuickReply

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/quickReply":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoQuickReply","operationId":"ZapoQuickReply","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"buttons":{"type":"array","items":{"type":"object","properties":{"display_text":{"type":"string"},"id":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/singleSelect

> ZapoSingleSelect

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/singleSelect":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoSingleSelect","operationId":"ZapoSingleSelect","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"list":{"type":"object","properties":{"title":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}}}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/pixButton

> ZapoPixButton

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/pixButton":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoPixButton","operationId":"ZapoPixButton","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"pixType":{"type":"string"},"pixKey":{"type":"string"},"pixName":{"type":"string"},"bodyText":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/ctaCopy

> ZapoCtaCopy

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/ctaCopy":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoCtaCopy","operationId":"ZapoCtaCopy","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"copyCode":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/ctaUrl

> ZapoCtaUrl

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/ctaUrl":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoCtaUrl","operationId":"ZapoCtaUrl","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"url":{"type":"string","description":"exemplo.com\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/ctaCall

> ZapoCtaCall

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/ctaCall":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoCtaCall","operationId":"ZapoCtaCall","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"object","properties":{"text":{"type":"string"}}},"footer":{"type":"object","properties":{"text":{"type":"string"}}},"displayText":{"type":"string"},"phoneNumber":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/zapo/poll

> ZapoPoll

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟢 Interativo Zapo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/zapo/poll":{"post":{"tags":["🟢 Interativo Zapo"],"summary":"ZapoPoll","operationId":"ZapoPoll","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"name":{"type":"string"},"options":{"type":"array","items":{"type":"string"}},"selectableCount":{"type":"integer"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📷 Interativo Instagram

## POST /v2/api/external/{apiId}/sendInteractive/instagram/quickReply

> Quick Reply

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📷 Interativo Instagram"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/instagram/quickReply":{"post":{"tags":["📷 Interativo Instagram"],"summary":"Quick Reply","operationId":"Quick_Reply","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"message":{"type":"string"},"quickReplies":{"type":"array","items":{"type":"object","properties":{"content_type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/instagram/buttonTemplate

> Button Template

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📷 Interativo Instagram"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/instagram/buttonTemplate":{"post":{"tags":["📷 Interativo Instagram"],"summary":"Button Template","operationId":"Button_Template","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"message":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/instagram/genericTemplate

> Generic Template (cards)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📷 Interativo Instagram"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/instagram/genericTemplate":{"post":{"tags":["📷 Interativo Instagram"],"summary":"Generic Template (cards)","operationId":"Generic_Template_cards","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"elements":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"image_url":{"type":"string","description":"...\","},"buttons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/instagram/iceBreakers

> Ice Breakers (get/set/delete)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📷 Interativo Instagram"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/instagram/iceBreakers":{"post":{"tags":["📷 Interativo Instagram"],"summary":"Ice Breakers (get/set/delete)","operationId":"Ice_Breakers_get_set_delete","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"iceBreakers":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/instagram/persistentMenu

> Persistent Menu (get/set/delete)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📷 Interativo Instagram"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/instagram/persistentMenu":{"post":{"tags":["📷 Interativo Instagram"],"summary":"Persistent Menu (get/set/delete)","operationId":"Persistent_Menu_get_set_delete","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"composerInputDisabled":{"type":"boolean"},"menuItems":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 💬 Interativo Messenger

## POST /v2/api/external/{apiId}/sendInteractive/messenger/quickReply

> Quick Reply

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/quickReply":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Quick Reply","operationId":"Quick_Reply_2","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"message":{"type":"string"},"quickReplies":{"type":"array","items":{"type":"object","properties":{"content_type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/buttonTemplate

> Button Template

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/buttonTemplate":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Button Template","operationId":"Button_Template_2","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"message":{"type":"string"},"buttons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/genericTemplate

> Generic Template (cards)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/genericTemplate":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Generic Template (cards)","operationId":"Generic_Template_cards_2","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"elements":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"subtitle":{"type":"string"},"image_url":{"type":"string","description":"...\","},"buttons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/mediaTemplate

> Media Template (image/video + botões)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/mediaTemplate":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Media Template (image/video + botões)","operationId":"Media_Template_image_video_botões","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"mediaType":{"type":"string"},"mediaUrl":{"type":"string","description":"exemplo.com/imagem.jpg\","},"buttons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"title":{"type":"string"},"payload":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/receiptTemplate

> Receipt Template (recibo)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/receiptTemplate":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Receipt Template (recibo)","operationId":"Receipt_Template_recibo","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"receipt":{"type":"object","properties":{"recipient_name":{"type":"string"},"order_number":{"type":"string"},"currency":{"type":"string"},"payment_method":{"type":"string"},"summary":{"type":"object","properties":{"total_cost":{"type":"number"}}},"elements":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"price":{"type":"number"},"quantity":{"type":"integer"}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/messageTag

> Message Tag (Marketing/Utility)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/messageTag":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Message Tag (Marketing/Utility)","operationId":"Message_Tag_Marketing_Utility","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"message":{"type":"string"},"tag":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/messenger/customerFeedback

> Customer Feedback Template (NPS/CSAT)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/messenger/customerFeedback":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Customer Feedback Template (NPS/CSAT)","operationId":"Customer_Feedback_Template_NPS_CSAT","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"title":{"type":"string"},"subtitle":{"type":"string"},"business_privacy_url":{"type":"string","description":"exemplo.com/privacidade\","},"expires_in_days":{"type":"integer"},"feedback_screens":{"type":"array","items":{"type":"object","properties":{"questions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/messenger/greeting

> Greeting Text (get/set/delete)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/messenger/greeting":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Greeting Text (get/set/delete)","operationId":"Greeting_Text_get_set_delete","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"greetings":{"type":"array","items":{"type":"object","properties":{"locale":{"type":"string"},"text":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/messenger/personas

> Personas (list/create/delete)

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💬 Interativo Messenger"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/messenger/personas":{"post":{"tags":["💬 Interativo Messenger"],"summary":"Personas (list/create/delete)","operationId":"Personas_list_create_delete","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string"},"name":{"type":"string"},"profilePictureUrl":{"type":"string","description":"exemplo.com/ana.jpg\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🟩 Interativo Uaz API

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/button

> UazapiButton

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/button":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiButton","operationId":"UazapiButton","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"text":{"type":"string"},"choices":{"type":"array","items":{"type":"string"}},"footerText":{"type":"string"},"imageButton":{"type":"string","description":"exemplo.com/img.png\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/list

> UazapiList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/list":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiList","operationId":"UazapiList","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"text":{"type":"string"},"choices":{"type":"array","items":{"type":"string"}},"listButton":{"type":"string"},"footerText":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/poll

> UazapiPoll

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/poll":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiPoll","operationId":"UazapiPoll","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"text":{"type":"string"},"choices":{"type":"array","items":{"type":"string"}},"selectableCount":{"type":"integer"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/carousel

> UazapiCarousel

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/carousel":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiCarousel","operationId":"UazapiCarousel","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"text":{"type":"string"},"carousel":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"image":{"type":"string","description":"exemplo.com/a.png\","},"buttons":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"type":{"type":"string"}}}}}}}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/pixButton

> UazapiPixButton

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/pixButton":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiPixButton","operationId":"UazapiPixButton","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"pixType":{"type":"string"},"pixKey":{"type":"string"},"pixName":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/locationButton

> UazapiLocationButton

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/locationButton":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiLocationButton","operationId":"UazapiLocationButton","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"text":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendInteractive/uazapi/requestPayment

> UazapiRequestPayment

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🟩 Interativo UazAPI"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendInteractive/uazapi/requestPayment":{"post":{"tags":["🟩 Interativo UazAPI"],"summary":"UazapiRequestPayment","operationId":"UazapiRequestPayment","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"amount":{"type":"number"},"title":{"type":"string"},"text":{"type":"string"},"footer":{"type":"string"},"itemName":{"type":"string"},"invoiceNumber":{"type":"string"},"pixType":{"type":"string"},"pixKey":{"type":"string"},"pixName":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🔘 Interativo Waba

## POST /v2/api/external/{apiId}/sendButtonWABA

> SendButtonWABA

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔘 Interativo Waba"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendButtonWABA":{"post":{"tags":["🔘 Interativo Waba"],"summary":"SendButtonWABA","operationId":"SendButtonWABA","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"message":{"type":"string","description":"Mensagem que acompanhará os botões"},"button1":{"type":"string","description":"Texto do primeiro botão"},"button2":{"type":"string","description":"Texto do segundo botão"},"button3":{"type":"string","description":"Texto do terceiro botão (opcional)"},"ticketId":{"type":"integer","description":"ID do ticket"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendListWABA

> SendListWABA

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔘 Interativo Waba"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendListWABA":{"post":{"tags":["🔘 Interativo Waba"],"summary":"SendListWABA","operationId":"SendListWABA","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"header":{"type":"string","description":"Cabeçalho da lista"},"body":{"type":"string","description":"Corpo da lista"},"footer":{"type":"string","description":"Rodapé da lista"},"button_text":{"type":"string","description":"Texto do botão"},"sections":{"type":"array","description":"Seções da lista (array de objetos)","items":{"type":"object","properties":{"title":{"type":"string"},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"}}}}}}},"ticketId":{"type":"integer","description":"ID do ticket"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🏷️ Kanban / Tags / Motivos / Filas

## POST /v2/api/external/{apiId}/createKanban

> CreateKanban

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createKanban":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"CreateKanban","operationId":"CreateKanban","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/createQueueData

> CreateQueueData

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createQueueData":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"CreateQueueData","operationId":"CreateQueueData","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"queue":{"type":"string"},"isActive":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/createReason

> CreateReason

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createReason":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"CreateReason","operationId":"CreateReason","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/createTag

> CreateTag

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createTag":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"CreateTag","operationId":"CreateTag","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"string"},"color":{"type":"string"},"isActive":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteKanban/{id}

> DeleteKanban

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteKanban/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"DeleteKanban","operationId":"DeleteKanban","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteQueueData/{id}

> DeleteQueueData

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteQueueData/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"DeleteQueueData","operationId":"DeleteQueueData","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteReason/{id}

> DeleteReason

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteReason/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"DeleteReason","operationId":"DeleteReason","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteTag/{id}

> DeleteTag

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteTag/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"DeleteTag","operationId":"DeleteTag","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listKanban

> ListKanban

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listKanban":{"get":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"ListKanban","operationId":"ListKanban","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listReasons

> ListReasons

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listReasons":{"get":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"ListReasons","operationId":"ListReasons","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateKanban/{id}

> UpdateKanban

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateKanban/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"UpdateKanban","operationId":"UpdateKanban","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateQueueData/{id}

> UpdateQueueData

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateQueueData/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"UpdateQueueData","operationId":"UpdateQueueData","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"queue":{"type":"string"},"isActive":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateReason/{id}

> UpdateReason

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateReason/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"UpdateReason","operationId":"UpdateReason","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateTagData/{id}

> UpdateTagData

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏷️ Kanban / Tags / Motivos / Filas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateTagData/{id}":{"post":{"tags":["🏷️ Kanban / Tags / Motivos / Filas"],"summary":"UpdateTagData","operationId":"UpdateTagData","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tag":{"type":"string"},"color":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📊 Listagens

## GET /v2/api/external/{apiId}/getAllSessionApis

> GetAllSessionApis

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/getAllSessionApis":{"get":{"tags":["📊 Listagens"],"summary":"GetAllSessionApis","operationId":"GetAllSessionApis","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listChannels

> ListChannels

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listChannels":{"get":{"tags":["📊 Listagens"],"summary":"ListChannels","operationId":"ListChannels","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listContacts

> ListContacts

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listContacts":{"get":{"tags":["📊 Listagens"],"summary":"ListContacts","operationId":"ListContacts","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"pageNumber","in":"query","required":false,"description":"Número da página","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listOpportunities

> ListOpportunities

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listOpportunities":{"get":{"tags":["📊 Listagens"],"summary":"ListOpportunities","operationId":"ListOpportunities","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"description":"Número da página","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Limite de resultados por página","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listQueues

> ListQueues

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listQueues":{"get":{"tags":["📊 Listagens"],"summary":"ListQueues","operationId":"ListQueues","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listSessions

> ListSessions

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listSessions":{"get":{"tags":["📊 Listagens"],"summary":"ListSessions","operationId":"ListSessions","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listTags

> ListTags

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listTags":{"get":{"tags":["📊 Listagens"],"summary":"ListTags","operationId":"ListTags","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"isActive","in":"query","required":false,"description":"Filtrar por tags ativas (true/false)","schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listTickets

> ListTickets

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📊 Listagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listTickets":{"get":{"tags":["📊 Listagens"],"summary":"ListTickets","operationId":"ListTickets","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"pageNumber","in":"query","required":false,"description":"Número da página","schema":{"type":"integer"}},{"name":"status","in":"query","required":false,"description":"Status do ticket (open, pending, closed)","schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🔍 Listagens Utilitárias

## GET /v2/api/external/{apiId}/listAutoReplies

> ListAutoReplies

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔍 Listagens Utilitárias"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listAutoReplies":{"get":{"tags":["🔍 Listagens Utilitárias"],"summary":"ListAutoReplies","operationId":"ListAutoReplies","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listChatFlows

> ListChatFlows

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔍 Listagens Utilitárias"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listChatFlows":{"get":{"tags":["🔍 Listagens Utilitárias"],"summary":"ListChatFlows","operationId":"ListChatFlows","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listFastReplies

> ListFastReplies

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🔍 Listagens Utilitárias"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listFastReplies":{"get":{"tags":["🔍 Listagens Utilitárias"],"summary":"ListFastReplies","operationId":"ListFastReplies","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📞 Logs De Chamadas

## GET /v2/api/external/{apiId}/callLog/list

> CallLogList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📞 Logs de Chamadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/callLog/list":{"get":{"tags":["📞 Logs de Chamadas"],"summary":"CallLogList","operationId":"CallLogList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/callLog/show/{id}

> CallLogShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📞 Logs de Chamadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/callLog/show/{id}":{"get":{"tags":["📞 Logs de Chamadas"],"summary":"CallLogShow","operationId":"CallLogShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/wavoip/calls

> WavoipCallList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📞 Logs de Chamadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/wavoip/calls":{"get":{"tags":["📞 Logs de Chamadas"],"summary":"WavoipCallList","operationId":"WavoipCallList","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/wavoip/calls/{id}

> WavoipCallShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📞 Logs de Chamadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/wavoip/calls/{id}":{"get":{"tags":["📞 Logs de Chamadas"],"summary":"WavoipCallShow","operationId":"WavoipCallShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📨 Mensagens

## GET /v2/api/external/{apiId}/getMessageByMessageId

> GetMessageByMessageId

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/getMessageByMessageId":{"get":{"tags":["📨 Mensagens"],"summary":"GetMessageByMessageId","operationId":"GetMessageByMessageId","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"messageId","in":"query","required":false,"description":"ID da mensagem retornado pela Meta (ex: wamid.xxxxx)","schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## SendMessageAPI

> Endpoint com mais de um formato de payload na coleção oficial: \*\*SendMessageAPIFile\*\*, \*\*SendMessageAPIText\*\*. Veja os exemplos do corpo para escolher a variante.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}":{"post":{"tags":["📨 Mensagens"],"summary":"SendMessageAPI","operationId":"SendMessageAPIFile","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"media":{"type":"string","format":"binary","description":"Arquivo a ser enviado (imagem, documento, etc)"},"body":{"type":"string","description":"Texto da mensagem que acompanhará o arquivo"},"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"string","description":"Define se o ticket será fechado após o envio"},"validateNumber":{"type":"string","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA)."}},"required":["media"]}},"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"Texto da mensagem que será enviada"},"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}},"description":"Endpoint com mais de um formato de payload na coleção oficial: **SendMessageAPIFile**, **SendMessageAPIText**. Veja os exemplos do corpo para escolher a variante."}}}}
```

## POST /v2/api/external/{apiId}/url

> SendMessageAPIFileURL

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/url":{"post":{"tags":["📨 Mensagens"],"summary":"SendMessageAPIFileURL","operationId":"SendMessageAPIFileURL","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mediaUrl":{"type":"string","description":"URL do arquivo que será enviado (imagem, documento, etc)"},"body":{"type":"string","description":"Texto da mensagem que acompanhará o arquivo"},"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/base64

> SendMessageAPITextBase64

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/base64":{"post":{"tags":["📨 Mensagens"],"summary":"SendMessageAPITextBase64","operationId":"SendMessageAPITextBase64","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"Texto da mensagem que acompanhará o arquivo"},"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"base64Data":{"type":"string","description":"Arquivo codificado em base64"},"mimeType":{"type":"string","description":"Tipo MIME do arquivo (ex: image/png, application/pdf)"},"fileName":{"type":"string","description":"Nome do arquivo que será exibido"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/voice

> SendMessageAPIVoice

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/voice":{"post":{"tags":["📨 Mensagens"],"summary":"SendMessageAPIVoice","operationId":"SendMessageAPIVoice","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"audio":{"type":"string","description":"URL do arquivo de áudio que será enviado"},"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/params/

> SendMessageParams

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/params/":{"get":{"tags":["📨 Mensagens"],"summary":"SendMessageParams","operationId":"SendMessageParams","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"body","in":"query","required":false,"description":"Texto da mensagem que será enviada","schema":{"type":"string"}},{"name":"number","in":"query","required":false,"description":"Número do WhatsApp do destinatário (formato: 5511999999999)","schema":{"type":"integer"}},{"name":"externalKey","in":"query","required":false,"description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)","schema":{"type":"string"}},{"name":"bearertoken","in":"query","required":false,"description":"Token de autenticação","schema":{"type":"string"}},{"name":"isClosed","in":"query","required":false,"description":"Define se o ticket será fechado após o envio","schema":{"type":"string"}},{"name":"validateNumber","in":"query","required":false,"description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA).","schema":{"type":"string"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📨 Mensagens Avançadas

## GET /v2/api/external/{apiId}/searchMessages

> SearchMessages

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens Avançadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/searchMessages":{"get":{"tags":["📨 Mensagens Avançadas"],"summary":"SearchMessages","operationId":"SearchMessages","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"query","required":false,"schema":{"type":"string"}},{"name":"searchParam","in":"query","required":false,"schema":{"type":"string"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendLocation

> SendLocation

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens Avançadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendLocation":{"post":{"tags":["📨 Mensagens Avançadas"],"summary":"SendLocation","operationId":"SendLocation","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"name":{"type":"string"},"address":{"type":"string"},"ticketId":{"type":"string","nullable":true},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendVcard

> SendVcard

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📨 Mensagens Avançadas"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendVcard":{"post":{"tags":["📨 Mensagens Avançadas"],"summary":"SendVcard","operationId":"SendVcard","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string"},"contact":{"type":"array","items":{"type":"object","properties":{"fullName":{"type":"string"},"wuid":{"type":"string"},"phoneNumber":{"type":"string"}}}},"ticketId":{"type":"string","nullable":true},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 👥 Mensagens Em Grupo

## SendGroupMessageAPI

> Endpoint com mais de um formato de payload na coleção oficial: \*\*SendGroupMessageAPIFile\*\*, \*\*SendGroupMessageAPIText\*\*. Veja os exemplos do corpo para escolher a variante.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Mensagens em Grupo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/group":{"post":{"tags":["👥 Mensagens em Grupo"],"summary":"SendGroupMessageAPI","operationId":"SendGroupMessageAPIFile","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"media":{"type":"string","format":"binary","description":"Arquivo(s) a ser enviado (imagem, documento, etc)"},"body":{"type":"string","description":"Texto da mensagem que acompanhará o arquivo"},"number":{"type":"string","description":"ID do grupo do WhatsApp"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"string","description":"Define se o ticket será fechado após o envio"}},"required":["media"]}},"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"Texto da mensagem que será enviada"},"number":{"type":"string","description":"ID do grupo do WhatsApp"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}},"description":"Endpoint com mais de um formato de payload na coleção oficial: **SendGroupMessageAPIFile**, **SendGroupMessageAPIText**. Veja os exemplos do corpo para escolher a variante."}}}}
```

## POST /v2/api/external/{apiId}/groupMediaUrl

> SendMessageAPIFileURLGroup

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Mensagens em Grupo"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/groupMediaUrl":{"post":{"tags":["👥 Mensagens em Grupo"],"summary":"SendMessageAPIFileURLGroup","operationId":"SendMessageAPIFileURLGroup","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mediaUrl":{"type":"string","description":"URL do arquivo que será enviado (imagem, documento, etc)"},"body":{"type":"string","description":"Texto da mensagem que acompanhará o arquivo"},"number":{"type":"string","description":"ID do grupo do WhatsApp"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 💼 Oportunidades

## POST /v2/api/external/{apiId}/createOpportunity

> CreateOpportunity

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💼 Oportunidades"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createOpportunity":{"post":{"tags":["💼 Oportunidades"],"summary":"CreateOpportunity","operationId":"CreateOpportunity","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Campos do contato"},"contactName":{"type":"string","description":"nome do contato"},"email":{"type":"string","description":"email do contato"},"name":{"type":"string","description":"Campos da oportunidade"},"value":{"type":"number","description":"valor da oportunidade"},"status":{"type":"string","description":"pode ser: \"open\", \"win\", \"lose\""},"pipelineId":{"type":"integer","description":"ID do pipeline"},"stageId":{"type":"integer","description":"ID do estágio"},"responsibleId":{"type":"integer","description":"ID do responsável"},"closingForecast":{"type":"string","description":"data esperada de fechamento"},"description":{"type":"string","description":"descrição da oportunidade"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/deleteOpportunity

> DeleteOpportunity

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💼 Oportunidades"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/deleteOpportunity":{"post":{"tags":["💼 Oportunidades"],"summary":"DeleteOpportunity","operationId":"DeleteOpportunity","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"opportunityId":{"type":"integer","description":"Campos da oportunidade"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateOpportunity

> UpdateOpportunity

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"💼 Oportunidades"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateOpportunity":{"post":{"tags":["💼 Oportunidades"],"summary":"UpdateOpportunity","operationId":"UpdateOpportunity","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"opportunityId":{"type":"integer","description":"Campos da oportunidade"},"name":{"type":"string","description":"nome da oportunidade"},"value":{"type":"number","description":"valor da oportunidade"},"status":{"type":"string","description":"pode ser: \"open\", \"win\", \"lose\""},"pipelineId":{"type":"integer","description":"ID do pipeline"},"stageId":{"type":"integer","description":"ID do estágio"},"responsibleId":{"type":"integer","description":"ID do responsável"},"closingForecast":{"type":"string","description":"data esperada de fechamento"},"description":{"type":"string","description":"descrição da oportunidade"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 📋 Templates WABA

## SendTemplateWaba

> A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { "success": true, "data": { "message": "Message sent successfully", "ticketId": 123 } }

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📋 Templates WABA"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/template":{"post":{"tags":["📋 Templates WABA"],"summary":"SendTemplateWaba","operationId":"SendTemplateWaba","description":"A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"templateData":{"type":"object","description":"Dados do template do WhatsApp Business API","properties":{"messaging_product":{"type":"string","description":"Produto de mensageria (sempre whatsapp)"},"to":{"type":"string","description":"Número do destinatário (mesmo do campo number)"},"type":{"type":"string","description":"Tipo da mensagem (sempre template)"},"template":{"type":"object","description":"Configurações do template","properties":{"name":{"type":"string","description":"Nome do template aprovado"},"language":{"type":"object","description":"Configurações de idioma","properties":{"code":{"type":"string","description":"Código do idioma (ex: en_US, pt_BR)"}}}}}}},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## SendTemplateWabaBody

> A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { "success": true, "data": { "message": "Message sent successfully", "ticketId": 123 } }

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📋 Templates WABA"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/templateBody":{"post":{"tags":["📋 Templates WABA"],"summary":"SendTemplateWabaBody","operationId":"SendTemplateWabaBody","description":"A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"templateData":{"type":"object","description":"Dados do template do WhatsApp Business API","properties":{"messaging_product":{"type":"string","description":"Produto de mensageria (sempre whatsapp)"},"to":{"type":"string","description":"Número do destinatário (mesmo do campo number)"},"type":{"type":"string","description":"Tipo da mensagem (sempre template)"},"template":{"type":"object","description":"Configurações do template","properties":{"name":{"type":"string","description":"Nome do template aprovado"},"language":{"type":"object","description":"Configurações de idioma","properties":{"code":{"type":"string","description":"Código do idioma (ex: en_US, pt_BR)"}}}}}}},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## SendTemplateWabaMarketing

> A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { "success": true, "data": { "message": "Message sent successfully", "ticketId": 123 } }

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"📋 Templates WABA"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/templateMarketingBody":{"post":{"tags":["📋 Templates WABA"],"summary":"SendTemplateWabaMarketing","operationId":"SendTemplateWabaMarketing","description":"A resposta retorna o ticketId do atendimento criado ou reutilizado. Exemplo: { \"success\": true, \"data\": { \"message\": \"Message sent successfully\", \"ticketId\": 123 } }","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do destinatário (formato: 5511999999999)"},"isClosed":{"type":"boolean","description":"Define se o ticket será fechado após o envio"},"templateData":{"type":"object","description":"Dados do template do WhatsApp Business API","properties":{"messaging_product":{"type":"string","description":"Produto de mensageria (sempre whatsapp)"},"to":{"type":"string","description":"Número do destinatário (mesmo do campo number)"},"type":{"type":"string","description":"Tipo da mensagem (sempre template)"},"template":{"type":"object","description":"Configurações do template","properties":{"name":{"type":"string","description":"Nome do template aprovado"},"language":{"type":"object","description":"Configurações de idioma","properties":{"code":{"type":"string","description":"Código do idioma (ex: en_US, pt_BR)"}}}}}}},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🏢 Tenant API

## POST /tenantCreateApi

> CreateApi

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantCreateApi":{"post":{"tags":["🏢 Tenant API"],"summary":"CreateApi","operationId":"CreateApi","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"Nome da API que será criada"},"sessionId":{"type":"integer","description":"ID da sessão do WhatsApp associada"},"urlServiceStatus":{"type":"string","description":"URL para receber atualizações de status do serviço (opcional)","nullable":true},"urlMessageStatus":{"type":"string","description":"URL para receber atualizações de status das mensagens (opcional)","nullable":true},"userId":{"type":"integer","description":"ID do usuário que está criando a API"},"authToken":{"type":"string","description":"Token de autenticação para a API"},"tenant":{"type":"integer","description":"ID do tenant que terá a API"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## CreateSessionTenant

> Endpoint com mais de um formato de payload na coleção oficial: \*\*CreateSessionTenant\*\*, \*\*CreateSessionTenant (Híbrido)\*\*. Veja os exemplos do corpo para escolher a variante.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantApiCreateSession":{"post":{"tags":["🏢 Tenant API"],"summary":"CreateSessionTenant","operationId":"CreateSessionTenant","description":"Endpoint com mais de um formato de payload na coleção oficial: **CreateSessionTenant**, **CreateSessionTenant (Híbrido)**. Veja os exemplos do corpo para escolher a variante.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tenant":{"type":"integer","description":"Tenant"},"name":{"type":"string","description":"Nome da instância do WhatsApp"},"status":{"type":"string","description":"Status inicial da sessão (DISCONNECTED, CONNECTED)"},"type":{"type":"string","description":"Tipo da sessão (whatsapp, baileys, zapo, meow, evo, uazapi, zapi)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /tenantDeleteApi

> DeleteApi

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantDeleteApi":{"post":{"tags":["🏢 Tenant API"],"summary":"DeleteApi","operationId":"DeleteApi","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"integer","description":"ID da sessão do WhatsApp associada à API"},"userId":{"type":"integer","description":"ID do usuário que está deletando a API"},"tenant":{"type":"integer","description":"ID do tenant que possui a API"},"apiId":{"type":"string","description":"ID da API que será deletada"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /tenantApiListTenants

> ListTenants

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantApiListTenants":{"get":{"tags":["🏢 Tenant API"],"summary":"ListTenants","operationId":"ListTenants","responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /tenantApiShowTenant

> ShowTenant

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantApiShowTenant":{"post":{"tags":["🏢 Tenant API"],"summary":"ShowTenant","operationId":"ShowTenant","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"integer","description":"ID do tenant que será consultado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /tenantApiStoreTenant

> StoreTenant

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantApiStoreTenant":{"post":{"tags":["🏢 Tenant API"],"summary":"StoreTenant","operationId":"StoreTenant","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Status do tenant (active, inactive)"},"name":{"type":"string","description":"Nome da empresa/tenant"},"maxUsers":{"type":"integer","description":"Número máximo de usuários permitidos"},"maxConnections":{"type":"integer","description":"Número máximo de conexões WhatsApp permitidas"},"acceptTerms":{"type":"boolean","description":"Confirmação de aceite dos termos"},"email":{"type":"string","description":"Email do administrador do tenant"},"password":{"type":"string","description":"Senha do administrador (mínimo 8 caracteres, incluindo números e caracteres especiais)"},"userName":{"type":"string","description":"Nome completo do administrador"},"profile":{"type":"string","description":"Perfil do administrador (admin, user)"},"paymentGateway":{"type":"string","description":"Vinculo de gateway de pagamento (OPCIONAL). Define qual gateway o webhook usa para atualizar o status de pagamento do tenant automaticamente. Valores: asaas, stripe, pagarme, mercadopago."},"stripeCustomerId":{"type":"string","description":"Credenciais do gateway informado acima (envie apenas o par do gateway escolhido). Exemplo Stripe: Customer ID + Secret Key."},"stripeToken":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /tenantApiUpdateTenant

> UpdateTenant

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🏢 Tenant API"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"superAdminAuth":[]}],"components":{"securitySchemes":{"superAdminAuth":{"type":"http","scheme":"bearer","description":"Token de super admin, exigido pelas rotas de Tenant API (na coleção Postman: `SuperAdminToken`)."}}},"paths":{"/tenantApiUpdateTenant":{"post":{"tags":["🏢 Tenant API"],"summary":"UpdateTenant","operationId":"UpdateTenant","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"identity":{"type":"string","description":"Identidade do tenant (CPF/CNPJ) - identificador usado para reconhecer qual tenant será atualizado"},"status":{"type":"string","description":"Status do tenant (active, inactive)"},"maxUsers":{"type":"integer","description":"Número máximo de usuários permitidos"},"maxConnections":{"type":"integer","description":"Número máximo de conexões permitidas"},"paymentGateway":{"type":"string","description":"Gateway de pagamento (none, asaas, mercadopago, stripe, pagarme)"},"supportChatEnabled":{"type":"string","description":"Credenciais do gateway (OPCIONAL) — envie o par correspondente ao paymentGateway. Ao trocar para um gateway nao-Asaas, o modo Asaas legado e desligado automaticamente. Stripe:       \"stripeCustomerId\": \"cus_xxx\",      \"stripeToken\": \"sk_live_xxx\" Pagar.me:     \"pagarmeCustomerId\": \"cus_xxx\",     \"pagarmeToken\": \"sk_xxx\" Mercado Pago: \"mercadopagoCustomerId\": \"123456\",  \"mercadopagoToken\": \"APP_USR-xxx\" Chat de suporte habilitado (enabled, disabled)"},"menuVisibility":{"type":"array","description":"Menus visíveis — array de strings com os menus habilitados Opções: Groups, MassDispatch, Kanban, Tasks, Api, ChatBot, Reports, Campaigns, PrivateChat, Teams, AllowedChannels","items":{"type":"string"}},"allowedChannels":{"type":"array","description":"Canais permitidos — array de strings com os canais habilitados Opções: waba, baileys, zapo, whatsapp, meow, evo, zapi, uazapi, telegram, hub, webchat, webmail, wabaoauth, instagramoauth, facebookoauth","items":{"type":"string"}},"channelConnectionLimits":{"type":"object","description":"Limite máximo de conexões por tipo de canal. Use 0 para ilimitado.","properties":{"waba":{"type":"integer"},"baileys":{"type":"integer"},"zapo":{"type":"integer"},"whatsapp":{"type":"integer"},"meow":{"type":"integer"},"evo":{"type":"integer"},"zapi":{"type":"integer"},"uazapi":{"type":"integer"},"telegram":{"type":"integer"},"hub":{"type":"integer"},"webchat":{"type":"integer"},"webmail":{"type":"integer"},"wabaoauth":{"type":"integer"},"instagramoauth":{"type":"integer"},"facebookoauth":{"type":"integer"}}},"oauthEnabled":{"type":"boolean","description":"OAuth (Meta Embedded Signup) OAuth habilitado (true/false)"},"oauthProxyUrl":{"type":"string","description":"URL do Proxy OAuth"},"instagramWebhookProxyUrl":{"type":"string","description":"URL do Proxy de Webhook Instagram"},"instagramWebhookProxySecret":{"type":"string","description":"Segredo do Proxy Instagram"},"messengerWebhookProxyUrl":{"type":"string","description":"URL do Proxy de Webhook Messenger"},"messengerWebhookProxySecret":{"type":"string","description":"Segredo do Proxy Messenger"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🎫 Tickets

## POST /v2/api/external/{apiId}/addTag

> AddTag

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/addTag":{"post":{"tags":["🎫 Tickets"],"summary":"AddTag","operationId":"AddTag","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que receberá a tag"},"tagId":{"type":"integer","description":"ID da tag que será adicionada (pode usar tagId ou tagIds)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/addTagContact

> AddTagContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/addTagContact":{"post":{"tags":["🎫 Tickets"],"summary":"AddTagContact","operationId":"AddTagContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"contactId":{"type":"integer","description":"Atribui tag(s) ao CONTATO sem precisar de ticket. Informe contactId OU number para localizar o contato."},"tagId":{"type":"integer","description":"OU localize pelo numero (aceita variantes BR) \"number\": \"5511999999999\", ID da tag a adicionar (use tagId ou tagIds). Mantem as tags existentes."},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/removeTagContact

> RemoveTagContact

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/removeTagContact":{"post":{"tags":["🎫 Tickets"],"summary":"RemoveTagContact","operationId":"RemoveTagContact","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Remove tag(s) do CONTATO sem precisar de ticket. Informe contactId OU number para localizar o contato."},"tagIds":{"type":"array","description":"OU localize pelo ID do contato \"contactId\": 123, ID(s) da tag a remover (use tagId ou tagIds)","items":{"type":"integer"}},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/createNotes

> CreateNotes

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createNotes":{"post":{"tags":["🎫 Tickets"],"summary":"CreateNotes","operationId":"CreateNotes","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"notes":{"type":"string","description":"Texto da nota que será adicionada ao ticket"},"ticketId":{"type":"integer","description":"ID do ticket que receberá a nota"},"userId":{"type":"integer","description":"ID do usuário que está criando a nota"},"idFront":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## CreateTicket

> Endpoint com mais de um formato de payload na coleção oficial: \*\*CreateTicket\*\*, \*\*CreateTicketFile\*\*, \*\*CreateTicketWebmail\*\*. Veja os exemplos do corpo para escolher a variante.

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createTicket":{"post":{"tags":["🎫 Tickets"],"summary":"CreateTicket","operationId":"CreateTicket","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","description":"Texto da mensagem inicial do ticket"},"number":{"type":"string","description":"Para canais WhatsApp/outros: número do contato (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Para canal WEBMAIL: email do contato (obrigatório quando channelId for de um canal webmail) \"email\": \"contato@exemplo.com\", ID do canal (opcional). Para webmail: envie o id do canal webmail (não vem do APIConfig) \"channelId\": 17841443941506797, Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"userId":{"type":"integer","description":"ID do usuário que está criando o ticket"},"status":{"type":"string","description":"Status inicial do ticket (pending ou open)"},"validateNumber":{"type":"boolean","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR — recomendado p/ WABA evitar ticket duplicado"}}}},"multipart/form-data":{"schema":{"type":"object","properties":{"media":{"type":"string","format":"binary","description":"Arquivo a ser enviado (imagem, documento, etc)"},"body":{"type":"string","description":"Texto da mensagem inicial do ticket"},"number":{"type":"string","description":"Número do WhatsApp do contato (formato: 5511999999999)"},"externalKey":{"type":"string","description":"Chave única do sistema para identificação (valor gerado do seu lado para controle do envio e não pode se repetir)"},"userId":{"type":"string","description":"ID do usuário que está criando o ticket"},"status":{"type":"string","description":"Status inicial do ticket (pending, open, closed)"},"kanbanId":{"type":"string","description":"ID do kanban (opcional)"},"chatFlowId":{"type":"string","description":"ID do fluxo de chat (opcional)"},"queueId":{"type":"string","description":"ID da fila (opcional)"},"channelId":{"type":"string","description":"ID do canal (opcional). Para webmail: envie o id do canal webmail"},"email":{"type":"string","description":"Para canal webmail: email do contato (obrigatório quando usar channelId de webmail)"},"name":{"type":"string","description":"Para webmail: nome do contato (opcional)"},"validateNumber":{"type":"string","description":"Validar numero (opcional, padrao true). Se false, usa o numero exatamente como enviado, sem normalizacao do 9o digito BR (recomendado p/ WABA)."}},"required":["media"]}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}},"description":"Endpoint com mais de um formato de payload na coleção oficial: **CreateTicket**, **CreateTicketFile**, **CreateTicketWebmail**. Veja os exemplos do corpo para escolher a variante."}}}}
```

## GET /v2/api/external/{apiId}/listNotes

> ListNotes

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listNotes":{"get":{"tags":["🎫 Tickets"],"summary":"ListNotes","operationId":"ListNotes","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"query","required":false,"description":"ID do ticket","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/removeTag

> RemoveTag

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/removeTag":{"post":{"tags":["🎫 Tickets"],"summary":"RemoveTag","operationId":"RemoveTag","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que terá a tag removida"},"tagId":{"type":"integer","description":"ID da tag que será removida (pode usar tagId ou tagIds)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendPresence

> SendPresence

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendPresence":{"post":{"tags":["🎫 Tickets"],"summary":"SendPresence","operationId":"SendPresence","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket associado"},"state":{"type":"string","description":"Estado de presence: \"typing\" (digitando), \"paused\" (pausado) ou \"recording\" (gravando)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updatequeue

> SetQueue

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updatequeue":{"post":{"tags":["🎫 Tickets"],"summary":"SetQueue","operationId":"SetQueue","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que terá a fila alterada"},"queueId":{"type":"integer","description":"ID da fila que será atribuída ao ticket"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updatetag

> SetTag

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updatetag":{"post":{"tags":["🎫 Tickets"],"summary":"SetTag","operationId":"SetTag","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que terá a tag alterada"},"tag":{"type":"integer","description":"ID da tag que será atribuída ao ticket"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateticketinfo

> SetTicketInfo

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateticketinfo":{"post":{"tags":["🎫 Tickets"],"summary":"SetTicketInfo","operationId":"SetTicketInfo","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que será atualizado"},"userId":{"type":"integer","description":"ID do usuário que está fazendo a atualização"},"status":{"type":"string","description":"Status do ticket (pending, open, closed)"},"queueId":{"type":"string","description":"ID da fila do ticket (null para remover)","nullable":true},"typebotStatus":{"type":"boolean","description":"Status de integração com Typebot"},"chatgptStatus":{"type":"boolean","description":"Status de integração com ChatGPT"},"dialogflowStatus":{"type":"boolean","description":"Status de integração com Dialogflow"},"difyStatus":{"type":"boolean","description":"Status de integração com Dify"},"n8nStatus":{"type":"boolean","description":"Status de integração com N8N"},"chatFlowId":{"type":"string","description":"ID do fluxo de chat (null para remover)","nullable":true}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showAllMessages

> ShowAllMessages

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showAllMessages":{"post":{"tags":["🎫 Tickets"],"summary":"ShowAllMessages","operationId":"ShowAllMessages","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticket":{"type":"string","description":"ID do ticket que terá as mensagens listadas"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showallticket

> ShowAllTicketInformation

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showallticket":{"post":{"tags":["🎫 Tickets"],"summary":"ShowAllTicketInformation","operationId":"ShowAllTicketInformation","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do contato (formato: 5511999999999)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showticket

> ShowTicketInformation

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showticket":{"post":{"tags":["🎫 Tickets"],"summary":"ShowTicketInformation","operationId":"ShowTicketInformation","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do contato (formato: 5511999999999)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showticketchatbot

> ShowTicketInformationChatBot

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showticketchatbot":{"post":{"tags":["🎫 Tickets"],"summary":"ShowTicketInformationChatBot","operationId":"ShowTicketInformationChatBot","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"number":{"type":"string","description":"Número do WhatsApp do contato (formato: 5511999999999)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateNote

> UpdateNote

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateNote":{"post":{"tags":["🎫 Tickets"],"summary":"UpdateNote","operationId":"UpdateNote","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"noteId":{"type":"integer","description":"ID da nota que será atualizada"},"notes":{"type":"string","description":"Novo conteúdo da nota"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateTicketChannel

> UpdateTicketChannel

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateTicketChannel":{"post":{"tags":["🎫 Tickets"],"summary":"UpdateTicketChannel","operationId":"UpdateTicketChannel","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer","description":"ID do ticket que terá o canal alterado"},"whatsappId":{"type":"integer","description":"ID do novo canal (WhatsApp)"},"channel":{"type":"string","description":"Tipo do canal (whatsapp, baileys, zapo, waba, etc)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 🎫 Tickets Extras

## POST /v2/api/external/{apiId}/ticket/pause/end/{ticketId}

> EndTicketPause

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/ticket/pause/end/{ticketId}":{"post":{"tags":["🎫 Tickets - Extras"],"summary":"EndTicketPause","operationId":"EndTicketPause","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listTicketEvaluations

> ListTicketEvaluations

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listTicketEvaluations":{"get":{"tags":["🎫 Tickets - Extras"],"summary":"ListTicketEvaluations","operationId":"ListTicketEvaluations","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/sendEvaluation

> SendEvaluation

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/sendEvaluation":{"post":{"tags":["🎫 Tickets - Extras"],"summary":"SendEvaluation","operationId":"SendEvaluation","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"integer"},"body":{"type":"string"},"externalKey":{"type":"string"},"force":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/ticket/pause/logs/{ticketId}

> ListTicketPauseLogs

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/ticket/pause/logs/{ticketId}":{"get":{"tags":["🎫 Tickets - Extras"],"summary":"ListTicketPauseLogs","operationId":"ListTicketPauseLogs","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/showTicketById

> ShowTicketById

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/showTicketById":{"post":{"tags":["🎫 Tickets - Extras"],"summary":"ShowTicketById","operationId":"ShowTicketById","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/ticket/pause/start/{ticketId}

> StartTicketPause

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/ticket/pause/start/{ticketId}":{"post":{"tags":["🎫 Tickets - Extras"],"summary":"StartTicketPause","operationId":"StartTicketPause","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pauseReason":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/ticket/share

> TicketShareCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/ticket/share":{"post":{"tags":["🎫 Tickets - Extras"],"summary":"TicketShareCreate","operationId":"TicketShareCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"ticketId":{"type":"string"},"inviteUrl":{"type":"string","description":"app.example.com/shared\""}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/ticket/share/{ticketId}

> TicketShareShow

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"🎫 Tickets - Extras"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/ticket/share/{ticketId}":{"get":{"tags":["🎫 Tickets - Extras"],"summary":"TicketShareShow","operationId":"TicketShareShow","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"ticketId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# ✅ To Do List

## POST /v2/api/external/{apiId}/todo/create

> TodoCreate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"✅ To-Do List"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/todo/create":{"post":{"tags":["✅ To-Do List"],"summary":"TodoCreate","operationId":"TodoCreate","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"owner":{"type":"string"},"ownerId":{"type":"string"},"status":{"type":"string"},"priority":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/todo/delete/{id}

> TodoDelete

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"✅ To-Do List"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/todo/delete/{id}":{"post":{"tags":["✅ To-Do List"],"summary":"TodoDelete","operationId":"TodoDelete","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/todo/list

> TodoList

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"✅ To-Do List"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/todo/list":{"get":{"tags":["✅ To-Do List"],"summary":"TodoList","operationId":"TodoList","parameters":[{"$ref":"#/components/parameters/ApiId"}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/todo/logs/{userId}

> TodoLogs

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"✅ To-Do List"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/todo/logs/{userId}":{"get":{"tags":["✅ To-Do List"],"summary":"TodoLogs","operationId":"TodoLogs","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"userId","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/todo/update/{id}

> TodoUpdate

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"✅ To-Do List"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/todo/update/{id}":{"post":{"tags":["✅ To-Do List"],"summary":"TodoUpdate","operationId":"TodoUpdate","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Identificador do recurso na rota."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# 👥 Usuários

## POST /v2/api/external/{apiId}/createUser

> CreateUser

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Usuários"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/createUser":{"post":{"tags":["👥 Usuários"],"summary":"CreateUser","operationId":"CreateUser","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email do usuário"},"password":{"type":"string","description":"Senha do usuário (mínimo 8 caracteres)"},"name":{"type":"string","description":"Nome completo do usuário"},"profile":{"type":"string","description":"Perfil do usuário (admin, user)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/getUserStatus

> GetUserStatus

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Usuários"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/getUserStatus":{"get":{"tags":["👥 Usuários"],"summary":"GetUserStatus","operationId":"GetUserStatus","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"userId","in":"query","required":false,"description":"ID do usuário","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## GET /v2/api/external/{apiId}/listUsers

> ListUsers

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Usuários"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/listUsers":{"get":{"tags":["👥 Usuários"],"summary":"ListUsers","operationId":"ListUsers","parameters":[{"$ref":"#/components/parameters/ApiId"},{"name":"pageNumber","in":"query","required":false,"description":"Número da página","schema":{"type":"integer"}}],"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```

## POST /v2/api/external/{apiId}/updateUser

> UpdateUser

```json
{"openapi":"3.0.3","info":{"title":"Z-PRO — API Externa","version":"v4.x.x.x"},"tags":[{"name":"👥 Usuários"}],"servers":[{"url":"https://{baseUrl}","description":"Instalação Z-PRO do cliente","variables":{"baseUrl":{"default":"api.seudominio.com.br","description":"Domínio do backend Z-PRO, sem protocolo e sem barra final."}}}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Token da API do tenant (na coleção Postman: `BearerToken`)."}},"parameters":{"ApiId":{"name":"apiId","in":"path","required":true,"description":"ID da API externa cadastrada no Z-PRO.","schema":{"type":"string"}}}},"paths":{"/v2/api/external/{apiId}/updateUser":{"post":{"tags":["👥 Usuários"],"summary":"UpdateUser","operationId":"UpdateUser","parameters":[{"$ref":"#/components/parameters/ApiId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"integer","description":"ID do usuário que será atualizado"},"name":{"type":"string","description":"Nome completo do usuário (opcional)"},"email":{"type":"string","description":"Email do usuário (opcional)"}}}}}},"responses":{"200":{"description":"Requisição processada com sucesso.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetros inválidos ou faltando."},"401":{"description":"Token ausente, inválido ou sem permissão."}}}}}}
```


# Models


# Gestão da Assinatura


# Principais dúvidas administrativas

Esta página reúne as dúvidas administrativas mais comuns relacionadas à sua licença, assinatura e acessos. Consulte este guia de solução de problemas antes de abrir um chamado no suporte.

***

## Dúvidas licença

### Minha assinatura aparece como "Validando" ou recebo "License Error" ao fazer login. O que fazer?

Ambos os problemas geralmente estão ligados à validação da sua licença. Siga os passos abaixo para verificar a configuração.

**1. Confira as Configurações da Licença no Painel Superadmin**

* **Chave de Licença:** Verifique se a sua chave de licença foi inserida corretamente no menu **"Assinatura"**.
* **Domínio Utilizado:** Garanta que o domínio configurado na sua licença é exatamente o mesmo que você está utilizando para acessar a plataforma.

[Documentação com o passo a passo](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro)

{% hint style="warning" %}
**Atenção ao configurar o domínio:**

* **Não** adicione subdomínios (ex: `app.`, `api.`). Coloque apenas o domínio principal (ex: `suaempresa.com.br`).
* Garanta que domínios de exemplo como `whatsapp.com` não estejam no campo.
  {% endhint %}

**2. Ações Técnicas Adicionais (para "License Error")**

Se o erro persistir, especialmente o "License Error", tente os seguintes passos:

* **Atualize o Sistema:** Garanta que sua instalação do Z-PRO está na versão mais recente.

Se após todas as verificações o problema continuar, abra um chamado em nosso **suporte administrativo** no portal: <https://suporte.zdg.com.br/>

### Onde encontro minha chave de licença?

Sua chave de licença (License Key) é enviada automaticamente para o seu e-mail logo após a confirmação da compra.

1. **Procure no seu E-mail:** Verifique sua caixa de entrada e a pasta de SPAM no dia em que realizou a assinatura.
2. **Busque pelo Remetente:** Procure por e-mails enviados por `suporte@zdg.dev.br`.
3. **Solicite o Reenvio:** Caso não encontre, abra um chamado em nosso **suporte administrativo** no portal <https://suporte.zdg.com.br/> e solicite o reenvio da sua chave.

### A data de expiração no painel não condiz com a validade da minha assinatura. O que pode ser?

É comum haver confusão entre as duas datas de expiração exibidas no painel Superadmin. É importante entender a diferença entre elas:

* **Expiração da Licença:** Esta é a data de validade da **sua assinatura**, ou seja, o dia em que sua licença anual expira e precisa ser renovada.
* **Essa versão expira em:** Esta data se refere à **versão do software** que você está utilizando. Ela indica o prazo final para que você atualize sua plataforma para uma versão mais recente, garantindo acesso às novas funcionalidades e correções de segurança.

Sempre considere a **"Expiração da Licença"** como a data de vencimento da sua anuidade.

## Dúvidas acessos

### Estou sem acesso às aulas. Como resolver?

O acesso à nossa área de membros, onde ficam as videoaulas, é válido por um ano a partir da data da sua compra.

1. **Tente o Acesso:** Acesse o portal através do link: <https://portal.zdg.com.br/>
2. **Verifique a Validade:** Confirme se sua assinatura ainda está dentro do prazo de um ano.
3. **Solicite Ajuda:** Caso não consiga acessar mesmo com a assinatura ativa, abra um chamado em nosso **suporte administrativo** no portal <https://suporte.zdg.com.br/>

### Estou sem acesso ao Tomticket. O que fazer?

O acesso ao nosso portal de suporte (Tomticket) está diretamente atrelado à validade da sua assinatura.

1. **Verifique a Validade:** Confirme se sua assinatura anual ainda está ativa. O acesso ao suporte é encerrado após o vencimento da licença.
2. **Entre em Contato:** Se sua assinatura estiver ativa e mesmo assim você não conseguir o acesso, ou se precisar de ajuda para renovar, entre em contato conosco através do nosso WhatsApp de atendimento: <https://zdg.dev.br/contato>.

### Não tenho acesso à Comunidade ZDG. O que fazer?

O acesso à Comunidade ZDG é um produto separado. Siga os passos para verificar seu acesso:

1. **Confirme a Compra:** Primeiro, verifique nos seus e-mails de compra se você adquiriu o acesso à "Comunidade ZDG" juntamente com sua assinatura Z-PRO.
2. **Acesse a Nova Plataforma:** As aulas da comunidade, que antes ficavam na Hotmart, foram migradas para a plataforma Memberkit. Se você tem o acesso garantido, utilize o link direto para a área da comunidade: <https://portal.zdg.com.br/>&#x20;

## Dúvidas renovação

### Como renovar minha assinatura?

Para renovar sua licença anual do Z-PRO, siga os passos abaixo:

1. **Acesse a Página de Renovação:** Entre no link: <https://zpro.zdg.com.br/renovar/>&#x20;
2. **Informe seu E-mail:** Adicione o mesmo e-mail que você utilizou na compra original.
3. **Siga para o Checkout:** Você será redirecionado para a página de pagamento para concluir a renovação.

### Quais são as possibilidades e condições de renovação?

* **Frequência e Planos:** Trabalhamos apenas com a renovação no **plano anual**. Para conferir as opções e os valores atuais, acesse nossa página oficial: <https://zpro.zdg.com.br/renovar/>
* **Valor da Renovação:** O valor atual reflete todas as melhorias e novas funcionalidades implementadas no Z-PRO ao longo do último ano, além dos avanços planejados para o futuro.
* **Reajustes:** Pode haver reajuste nos valores de renovação. Quando isso ocorre, comunicamos antecipadamente a todos os assinantes, oferecendo a oportunidade de renovar pelo valor antigo antes da mudança.
* **Renovação Automática:** **Não trabalhamos com renovação automática ou recorrência**. A renovação deve ser feita manualmente através da nossa página.

### Renovei minha assinatura, o que muda na minha licença?

Ao renovar sua assinatura, a nova validade e as configurações podem variar dependendo do seu caso. Entenda o que acontece:

* **Prazo de Validade:** Serão adicionados 12 meses à **data de expiração da sua licença anterior**. Por exemplo, se sua licença vencia em 01/11/2025, a nova data de expiração será 01/11/2026.
* **Se você manteve o mesmo plano:** Sua chave de licença continua a mesma. A data de expiração no seu painel Superadmin será atualizada automaticamente em algumas horas.
* **Se você mudou de plano:** Você receberá uma **nova chave de licença** por e-mail. É necessário acessar o painel Superadmin e substituir a chave antiga pela nova.
* **Acessos:** Caso você perca o acesso ao portal do assinante ou ao Tomticket após a renovação, entre em contato conosco via WhatsApp: <https://zdg.dev.br/contato>.
* **Verificação:** Você pode conferir a nova data de expiração da sua licença a qualquer momento no menu "Assinatura" do seu painel Superadmin.

## Dúvidas gerais

### Como solicito minha nota fiscal?

As notas fiscais são emitidas automaticamente no **dia 20 do mês seguinte** à confirmação da sua compra, utilizando os dados que você informou no momento do checkout.

Caso precise da sua nota fiscal, siga o passo abaixo:

1. **Abra um Chamado:** Acesse nosso portal de suporte (Tomticket).
2. Crie um novo chamado no departamento **"Suporte Administrativo"** e selecione a categoria **"Nota Fiscal"**.


# Onboarding - novos assinantes

Primeiros passos após a compra do Z-PRO: e-mail de boas-vindas, preparar o ambiente, instalar, ativar a licença e configurar o sistema.

Bem-vindo ao Z-PRO. Este guia mostra o que você receberá após a compra e qual é a sequência de passos para colocar o sistema em operação.

{% embed url="<https://youtu.be/-dRLmAo3r6M>" %}

***

### Passo 1 — Verifique seu e-mail

Após a confirmação do pagamento, você receberá dois e-mails automáticos:

1. **Acesso ao portal do assinante** ([portal.zdg.com.br](https://portal.zdg.com.br/)) — onde ficam as videoaulas, o script de instalação e os arquivos necessários para as próximas etapas.
2. **Chave de licença** — código único que você usará para ativar o Z-PRO após a instalação. Guarde em local seguro.

{% hint style="info" %}
Se não receber os e-mails em até alguns minutos, verifique a caixa de spam. Para recuperar a chave de licença, abra um chamado em [suporte.zdg.com.br](https://suporte.zdg.com.br/).
{% endhint %}

***

### Passo 2 — Prepare o ambiente

Antes de instalar, você precisará de um servidor VPS contratado e dois subdomínios apontados para o IP da VPS. Os requisitos mínimos e o passo a passo de configuração estão em:

{% content-ref url="/pages/3o1oEC5EaSu0o5RUsjgT" %}
[1. Preparar ambiente](/primeiro-acesso/instalar-z-pro/1.-preparar-ambiente)
{% endcontent-ref %}

***

### Passo 3 — Instale o Z-PRO

Com o ambiente pronto, escolha uma das duas formas de instalação:

{% content-ref url="/pages/p7KHfuerNqNrlB6oPtg2" %}
[2. Processo de instalação do ZPRO](/primeiro-acesso/instalar-z-pro/2.-instalacao-automatica)
{% endcontent-ref %}

***

### Passo 4 — [Ative a licença](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro)

Após a instalação, o sistema estará funcional mas ainda sem licença ativa. A ativação é feita pelo próprio assinante dentro do painel do Z-PRO:

1. Acesse o painel com o usuário **super-admin**
2. Vá em **Gestão de Assinatura**
3. Insira a **chave de licença** recebida por e-mail após a compra
4. Informe o **domínio principal** da instalação (o mesmo subdomínio de front-end configurado no ambiente)
5. Salve para concluir a ativação

{% hint style="warning" %}
O domínio informado na ativação deve ser exatamente o mesmo configurado durante a instalação. Domínio incorreto impedirá a ativação da licença.
{% endhint %}

{% hint style="info" %}
Não localizou a chave de licença no e-mail? Verifique a caixa de spam ou abra um chamado em [suporte.zdg.com.br](https://suporte.zdg.com.br/) solicitando o reenvio.
{% endhint %}

***

### Passo 5 — Leia as diretrizes da plataforma

Recomendamos a leitura das páginas abaixo antes de colocar o sistema em produção:

* [Manutenção e Segurança ](/diretrizes-e-politicas/manutencao-e-seguranca)— ações obrigatórias de segurança pós-instalação, firewall e backups
* [Política de Suporte Técnico](https://ajuda.zdg.com.br/) — canais, horários, SLA e o que está incluso no suporte
* [Termos e Condições de Uso e Licenciamento](/diretrizes-e-politicas/termos-e-condicoes-gerais-de-uso-e-licenciamento)

***

### Recursos adicionais

* [**Canal de avisos no Telegram**](https://t.me/+mzRfVk-Qe7VlZDIx) — disponível na área de membros. Mantenha as notificações ativas para ser avisado sobre atualizações e novidades.
* [**Roadmap público** ](https://roadmap.zdg.com.br/)— Sugira melhorias, vote e acompanhe o desenvolvimento de novas funcionalidades


# Instalar Z-PRO

Guia de instalação do Z-PRO: auto-instalação via script ou agendamento com a equipe técnica da ZDG.

Esta seção cobre as três etapas necessárias para colocar uma nova instância do Z-PRO em operação: preparar o ambiente de servidor, executar a instalação e ativar a licença.

***

### [1. Preparar Ambiente](/primeiro-acesso/instalar-z-pro/1.-preparar-ambiente)

Antes de instalar, é necessário ter um servidor VPS contratado e dois subdomínios apontados para o IP da VPS. Esta página detalha os requisitos mínimos de hardware (RAM, vCPU, armazenamento), provedores recomendados e o passo a passo de configuração do DNS.

***

### [2. Processo de Instalação Z-PRO](/primeiro-acesso/instalar-z-pro/2.-instalacao-automatica)

Com o ambiente pronto, a instalação pode ser feita de duas formas: agendamento com a equipe técnica da ZDG ou auto-instalação via script. Esta página explica as duas opções e o passo a passo de cada uma.

***

### [3. Ativar Licença Z-PRO](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro)

Após a instalação, a licença precisa ser ativada pelo superadministrador. Esta página cobre como validar a chave de licença pela primeira vez, visualizar o status da assinatura e realizar a renovação quando necessário.


# 1. Preparar ambiente

### [Link para aula completa - portal do assinante](https://portal.zdg.com.br/270021-sistema-zpro/5179340-preparando-o-ambiente-pre-requisitos)

Nesta aula, vamos cobrir os dois pré-requisitos fundamentais que você precisa preparar antes de instalar o Z-PRO: a contratação de um servidor (VPS) e a configuração de um domínio.

#### ⚠️ [Requisitos](/diretrizes-e-politicas/pre-requisitos-de-instalacao-e-utilizacao)

1- VPS

* 4 vcpus
* 16 gb de RAM
* Latência até 50 ms
* SSD ou NVME à partir de 200gb
* Ubuntu 20.04, 22.04 ou 24.04 LTS sem Painel
* Arquitetura AMD

**Provedores recomendados:**

* [**https://www.hostinger.com/zdg**](https://www.hostinger.com/zdg)
* [**https://www.hostgator.com.br/servidor-vps**](https://www.hostgator.com.br/servidor-vps)

**Outras opções internacionais (avaliar latência antes da contratação):**

* [**https://www.hetzner.com/**](https://www.hetzner.com/)
* [**https://www.digitalocean.com/**](https://www.digitalocean.com/)**​**
* [**https://aws.amazon.com/**](https://aws.amazon.com/)
* [**https://www.ovhcloud.com/pt/**](https://www.ovhcloud.com/pt/)

3- Domínio: [https://registro.br/​​](https://registro.br/%E2%80%8B%E2%80%8B)

***

#### Passo a passo do vídeo

### Passo 1: Contratação do Servidor (VPS)

A primeira etapa é ter um servidor na nuvem.

* **Ação:** Contrate um plano de VPS. Recomendamos o uso do sistema operacional **Ubuntu 20.04, 22.04 ou 24.04 LTS sem Painel**.
* **Localização:** Dê preferência a um servidor localizado no Brasil para garantir baixa latência.
* **Ao Final:** Após a contratação, o provedor irá fornecer um **endereço de IP** para sua VPS. Guarde este número.

### Passo 2: Configuração do Domínio

O Z-PRO utiliza dois subdomínios: um para a interface (front-end) e outro para a API (back-end).

* **Ação:** Acesse a zona de DNS do seu domínio.
* **Crie dois Apontamentos do Tipo “A”:**
  1. **Front-end:** Crie um subdomínio (ex: `app`) apontando para o **IP da sua VPS**.
  2. **Back-end:** Crie outro subdomínio (ex: `api`) apontando para o **mesmo IP da sua VPS**.
* **Aviso para Cloudflare:** Se você usa o Cloudflare, lembre-se de desativar o proxy (clicar na “nuvem laranja” para deixá-la cinza).

### Passo 3: Verificação da Propagação (DNS Checker)

Após criar os apontamentos, é preciso aguardar a propagação.

* **Ação:** Use uma ferramenta online como o **DNS Checker** <https://dnschecker.org/>\
  para verificar seus dois subdomínios. O processo está concluído quando a maioria dos locais exibir o IP correto.

### Encerramento

Com a VPS contratada e os domínios apontados, seu ambiente está pronto! Na próxima aula, vamos conectar ao servidor e rodar o instalador.


# 2. Processo de instalação do ZPRO

Instalar o Z-PRO pelo auto-instalador (script zpro\_passaporte\_shell) ou agendar a instalação com a equipe técnica da ZDG.

Com o servidor VPS contratado e os subdomínios apontados para o IP correto, você tem duas opções para instalar o Z-PRO:

{% hint style="warning" %}
**As duas opções abaixo instalam o Z-PRO em PM2 (modo fork)** — é o modelo padrão suportado pela ZDG, tanto no agendamento com nossa equipe quanto na auto-instalação. Não realizamos agendamento de instalação em **Docker/Portainer** com as integrações prontas.
{% endhint %}

***

### Opção 1 — Agendamento de instalação com a Equipe Z-PRO

Esta é a opção para quem prefere que nossa equipe técnica realize o procedimento.

**Como solicitar:** abra um chamado em [suporte.zdg.com.br](https://suporte.zdg.com.br/) com o assunto **"Agendar instalação"** e forneça as informações abaixo:

**Dados do servidor (VPS):**

* IP da VPS e senha de acesso SSH (usuário ROOT)
* Mínimo 16 GB de RAM e 4 vCPUs
* Arquitetura AMD
* Ubuntu 20.04 ou 22.04 — VPS formatada, sem instalações prévias

**Dados do domínio:**

* Login e senha do painel DNS
* Subdomínio de front-end e back-end já apontados para o IP da VPS (registro Tipo A)

**Seus dados:**

* E-mail de compra do Z-PRO
* Número de WhatsApp

{% hint style="info" %}
**Prazo:** até **2 a 5 dias úteis** após o envio completo e validação dos dados. Se os dados estiverem incorretos ou o servidor não atender aos requisitos, a solicitação entrará em pendência e o prazo reinicia após a correção.
{% endhint %}

***

### Opção 2 — Auto-instalação

Para quem deseja instalar imediatamente e tem familiaridade com ambientes de servidor. O script de instalação e o vídeo tutorial completo estão disponíveis na área de membros:

#### [Acesse a aula no portal do assinante](https://portal.zdg.com.br/270021-sistema-zpro/5179464-instalacao-automatica-z-pro-pacote-ultima-versao)

**Resumo do processo:**

**Passo 1 — Conecte ao servidor via SSH**

Use um cliente SSH (ex: Bitvise no Windows ou o terminal) com os dados:

* **Host:** IP da VPS
* **Porta:** `22`
* **Usuário:** `root`
* **Senha:** senha root definida ao criar a VPS

**Passo 2 — Atualize o sistema operacional**

```bash
apt update && apt upgrade -y
reboot
```

Aguarde e reconecte ao servidor após o reinício.

**Passo 3 — Envie o instalador**

Faça o download do pacote `zpro_passaporte_shell.zip` na área de membros, descompacte e envie a pasta via SFTP para o diretório `/root` do servidor.

**Passo 4 — Execute o instalador**

```bash
cd ~
sudo chmod +x ./zpro_passaporte_shell/zpro
cd ./zpro_passaporte_shell
sudo ./zpro
```

**Passo 5 — Siga o menu interativo**

Pressione `1` + `Enter` para selecionar **"Instalar instância primária"** e informe:

* Seu e-mail
* Subdomínio do front-end (ex: `app.seudominio.com.br`)
* Subdomínio do back-end (ex: `api.seudominio.com.br`)

**Passo 6 — Ações de segurança pós-instalação (obrigatório)**

Ao finalizar, altere todas as credenciais padrão fornecidas pelo instalador antes de colocar o sistema em produção.

{% hint style="danger" %}
Não utilize o sistema em produção sem alterar as credenciais padrão. Consulte as ações obrigatórias em Manutenção e Segurança.
{% endhint %}


# Primeiro Acesso ao Sistema

Este guia orienta você em seu primeiro acesso à plataforma Z-PRO após a conclusão da instalação. O objetivo é apresentar a estrutura dos dois painéis principais.

Seu sistema está instalado e a licença ativada. Esta página mostra os primeiros passos dentro do Z-PRO — da tela de login até receber a primeira mensagem de um cliente.

***

### Os dois painéis do Z-PRO

O Z-PRO tem dois ambientes com funções distintas. É importante entender qual é o de cada um antes de começar:

<table><thead><tr><th width="112.5">Painel</th><th width="177.5">Quem acessa</th><th>Para que serve</th></tr></thead><tbody><tr><td><strong>Superadmin</strong></td><td>Dono da instância</td><td>Gerenciar licença, configurar white-label, criar tenants e usuários de empresa</td></tr><tr><td><strong>Admin</strong></td><td>Administrador da operação</td><td>Conectar canais, criar equipes, cadastrar atendentes, configurar chatbot e acompanhar atendimentos</td></tr></tbody></table>

{% hint style="info" %}
Na maioria das operações, o dia a dia acontece no **painel Admin** — não no Superadmin. O Superadmin é usado pontualmente para gestão da instância.
{% endhint %}

***

### Passo 1 — Faça o primeiro login

Acesse a **URL do front-end** da sua instância (recebida ao final da instalação) e faça login com as credenciais de **Superadmin**.

Após o login, você verá o painel do Superadmin com os menus de gestão da plataforma.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FYLDvoxxPBMPwdb19qB7M%2Fimage.png?alt=media&amp;token=a72b92a8-f1e8-429b-aaa1-c48239dc4e96" alt=""><figcaption></figcaption></figure>

***

### Passo 2 — Ative a licença

No painel Superadmin, acesse **Gestão de Assinatura** e insira a chave de licença recebida por e-mail após a compra.

{% content-ref url="/pages/IlErkwNg1fknuI5jec5F" %}
[Gerenciar Licença Z-PRO](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro)
{% endcontent-ref %}

***

### Passo 3 — Crie um usuário Administrador

Ainda no Superadmin, acesse **Usuários** e crie um novo usuário com o perfil **Administrador**. Este será o usuário utilizado para a operação diária — conectar canais, criar equipes e gerenciar atendimentos.

{% content-ref url="/pages/VpJiYJS24cg3K2FwVrIC" %}
[Usuários por Tenant](/configuracao-superadmin/tenants-e-licenca/usuarios-por-tenant)
{% endcontent-ref %}

***

### Passo 4 — Acesse o painel Admin

Faça logout do Superadmin e entre com as credenciais do usuário Administrador que você acabou de criar. O painel muda: agora você está na área operacional do sistema, onde toda a operação de atendimento acontece.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FPF03jyGTjCnsDodIH9x4%2Fimage.png?alt=media&amp;token=cb716e1b-3f9f-4bfd-8838-f5be65399e91" alt=""><figcaption></figcaption></figure>

***

### Passo 5 — Conecte o primeiro canal

No painel Admin, acesse **Administração → Canais** e conecte o primeiro número ou conta. O tipo de canal depende da sua operação — WhatsApp Oficial (WABA), Baileys, Instagram, entre outros.

{% content-ref url="/pages/2oY5S32kQ3IGPCMn9pnf" %}
[Canais de comunicação](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao)
{% endcontent-ref %}

***

### Passo 6 — Receba a primeira mensagem

Com o canal conectado, acesse **Atendimento → Atendimentos** no menu lateral. Esta é a central de atendimento onde todas as conversas chegam. Envie uma mensagem de teste para o número conectado e veja o ticket aparecer na tela.

{% content-ref url="/pages/gRlkcxiwCG61goHAWw2U" %}
[Tela de Atendimento](/ferramentas-do-atendimento/atendimento/tela-de-atendimento)
{% endcontent-ref %}

***

### O que fazer depois

Com o sistema funcionando, os próximos passos naturais são:

* **Criar equipes** — organize os canais e atendentes por departamento (Comercial, Suporte, etc.)

{% content-ref url="/pages/KOky9z05MnwsfYEnAjUB" %}
[Equipes](/configuracao-administrador/administracao-painel-admin/equipes)
{% endcontent-ref %}

* **Adicionar atendentes** — cadastre os usuários que vão operar o sistema

{% content-ref url="/pages/kNpf7XfwPX5NpoaOJoS1" %}
[Usuários](/configuracao-administrador/administracao-painel-admin/usuarios)
{% endcontent-ref %}

* **Configurar o ChatFlow** — crie um bot para recepcionar os clientes automaticamente

{% content-ref url="/pages/cmnHZ1rElEOVz1xD7PKn" %}
[ChatFlow (chatbot)](/configuracao-administrador/automacao/chat-flow)
{% endcontent-ref %}


# Perfil de Acesso: Visão Geral

O Z-PRO organiza o acesso em duas camadas: o **Superadmin**, dono da instalação, e, dentro de cada empresa (tenant), quatro **perfis de usuário** — Administrador, Supervisor, Atendente e Perfil Personalizado. Este artigo explica o que cada perfil vê e pode fazer, como configurar isso na criação/edição de um usuário, e reúne as regras de visibilidade atualizadas (permissões e segurança).

{% hint style="info" %}
Cada seção abaixo linka para a página de referência com o passo a passo completo — use este artigo como ponto de partida, não como substituto das páginas detalhadas.
{% endhint %}

***

### As duas camadas da plataforma

**Superadmin** — dono da instalação. Gerencia licença, tenants, planos e configurações globais que afetam todos os clientes da instância. Veja [Visão geral Superadmin](/configuracao-superadmin/visao-geral-super-admin). Não é o foco deste artigo — os perfis abaixo existem **dentro** de cada tenant.

**Dentro do tenant** — os quatro perfis geridos em **Administração → Usuários**. Veja [Visão geral Admin ](/configuracao-administrador/visao-geral-admin)e [Usuários](/configuracao-administrador/administracao-painel-admin/usuarios).

***

### Os 4 perfis dentro do tenant

#### 1. Administrador

Acesso total e irrestrito a todos os atendimentos, menus e configurações. É o único perfil que pode conectar/excluir canais, gerenciar a assinatura e alterar API/Webhooks. Com a v4.0.4.0, nada muda no uso normal do Administrador — ele continua vendo tudo.

#### 2. Supervisor

* **Sem restrições configuradas:** vê todos os atendimentos, como o Administrador.
* **Com "Visualização por Departamento" ativada + filas atribuídas:** vê apenas as filas dele, mais os próprios atendimentos, convites e grupos.
* **Com "Visualização por Departamento" ativada mas sem filas atribuídas:** continua sem restrição.
* **Com canais restritos:** vê apenas os canais atribuídos a ele.
* **Novidade 4.0.4.0:** o próprio supervisor não pode mais alterar sua "Visualização por Departamento" — só um Administrador faz essa mudança, editando o cadastro dele.
* Existe também um interruptor global que rebaixa **todos** os supervisores ao comportamento de atendente comum — veja "Remover privilégios de visualização do supervisor" em Configurações Gerais.

#### 3. Atendente

* **Com filas atribuídas:** vê as filas dele, mais atendimentos próprios, convites, carteira e grupos.
* **Sem filas atribuídas:** continua vendo os atendimentos não atribuídos a ninguém.
* **Sem canais restritos:** vê todos os canais.
* **Com canais restritos:** vê apenas os canais atribuídos a ele.
* Um atendimento que já é dele continua acessível mesmo se o canal correspondente for excluído depois.
* Independente de fila/canal, existe também a opção **Usuário Restrito**, voltada à privacidade dos dados do contato (LGPD) — é um eixo separado, veja Restrição de Acesso a Contatos.

#### 4. Perfil Personalizado

Templates de permissão granular, reutilizáveis entre vários usuários. Veja o passo a passo completo de criação em Perfis de Acesso.

{% hint style="warning" %}
**Novidades para Perfil Personalizado:**

* Agora **entra no roteamento automático** — antes, um perfil personalizado era invisível para o bot e para a distribuição de fila e nunca recebia atendimento automático. Se você modelou um perfil de supervisão que não deveria atender diretamente, revise as permissões dele.
* Passaram a **exigir marcação explícita de permissão** para continuar funcionando:

  | Ação                                                           | Permissão que precisa estar marcada |
  | -------------------------------------------------------------- | ----------------------------------- |
  | Criar, editar e excluir canal (inclusive o Login com Facebook) | Gerenciar sessões                   |
  | Salvar qualquer configuração da empresa                        | Configurações gerais                |
  | Salvar horário de atendimento e feriados                       | Gerenciar horários                  |
  | Marcar todos como não lidos                                    | Atribuir atendimentos               |
* Com **acesso total** marcado, o perfil mantém visão completa; sem acesso total, segue as mesmas regras de fila e canal do Atendente/Supervisor descritas acima.
* A página **Agenda** passou a depender da capability própria do plano (`agenda`), e não mais da capability do Funil (`funnelKanban`). Um plano que tem Funil mas não tem Agenda passa a bloquear a Agenda — antes ela "entrava de carona".
  {% endhint %}

***

### Regras que valem para todos os perfis

* **Notificações seguem exatamente as mesmas permissões da tela de Atendimentos** — o usuário só é avisado de conversas que ele realmente pode abrir.
* **Reforço de segurança no servidor:** um atendimento fora do alcance do usuário não pode mais ser aberto nem respondido por link direto — a restrição deixou de valer só na interface.
* **Conversas com o robô** ficam ocultas apenas enquanto estão em atendimento pelo chatbot. Depois que o robô encaminha para uma fila, elas voltam a aparecer para quem tem acesso àquela fila.
* **Carteira:** o dono da carteira volta a visualizar e a ser avisado dos atendimentos do seu contato, mesmo que o atendimento não esteja na fila dele.
* Alterações de permissão em um usuário levam **até 30 segundos** para valer.

Para a tabela completa de combinações (padrão × "não visualizar atribuídos" × "visualizar sem dono/fila" etc.), veja Visibilidade de Tickets para usuários (atendentes).

***

### Como limitar o que um usuário vê ao criar (ou editar) o cadastro

Em **Administração → Usuários → + Novo Usuário** (ou editando um usuário existente), os campos abaixo controlam o que ele vê e pode fazer:

| Campo                             | O que controla                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Perfil\***                      | Administrador, Supervisor, Atendente ou Personalizado. Não é possível criar um usuário com perfil superior ao seu próprio (regra nova da 4.0.4.0).                                                                                                                                                                                                                                                                                                        |
| **Usuário Restrito**              | Blindagem de dados sensíveis do contato (nome parcial, foto borrada, campos ocultos) — ver Restrição de Acesso a Contatos.                                                                                                                                                                                                                                                                                                                                |
| **Bloquear WaVoIP**               | Impede chamadas pela plataforma. Aparece na edição de Supervisor e Atendente.                                                                                                                                                                                                                                                                                                                                                                             |
| **Visualização por Departamento** | Só aparece para o perfil Supervisor — restringe a visão dele às próprias filas.                                                                                                                                                                                                                                                                                                                                                                           |
| **Permissões de Menu**            | Checklist dos módulos visíveis no menu lateral. **O conjunto de opções oferecido muda conforme o Perfil selecionado** — um Atendente recebe uma lista mais enxuta (módulos operacionais como Envio em Massa, Grupos, Chat Privado, Kanban, Tarefas, Campanhas e Contatos), enquanto Supervisor e Administrador recebem a lista completa, incluindo Relatórios, Painel de Atendimentos, Filas, Equipes, Sessões, Chatbot e demais módulos de configuração. |
| **Config SIP**                    | Ramal e credenciais de telefonia IP (opcional, colapsado).                                                                                                                                                                                                                                                                                                                                                                                                |
| **Horário de Atendimento**        | Define, dia a dia, os turnos em que o usuário fica disponível para novos atendimentos.                                                                                                                                                                                                                                                                                                                                                                    |

***

### Depois de criar: vinculando canais e filas

Na listagem de **Usuários**, dois ícones por linha controlam o escopo do usuário:

* **Ícone Canais (celular):** abre o modal **Conexões de \[usuário]**, com os canais agrupados por **Meta (Oficial)** e **Outros**. Marque só os canais que esse usuário deve acessar — sem nenhum marcado, ele vê todos os canais.
* **Ícone Gerenciar Filas (vínculo):** abre o modal **Filas de \[usuário]**, com a lista de filas cadastradas (mesmas cores definidas em Filas).

{% hint style="warning" %}
**Novidade 4.0.4.0:** essas restrições agora são reforçadas também no **servidor** — não é mais só uma questão de esconder na interface. Tentar abrir, por link direto, um atendimento de um canal ou fila fora do que foi marcado aqui passa a ser bloqueado.
{% endhint %}

***

### Editando o próprio cadastro

A partir da 4.0.4.0, editar o **próprio** usuário ficou mais restrito:

* Um usuário sem permissão de gestão não pode mais alterar as próprias filas, canais, horário de atendimento, e-mail ou senha.
* **Ninguém altera o próprio Perfil ou as próprias Permissões**, nem mesmo o Administrador — o campo aparece bloqueado com o aviso *"Você não pode alterar o próprio perfil nem as próprias permissões. Peça a outro administrador."*
* Criar um novo usuário passou a exigir permissão de gestão, e não é mais possível criar um perfil superior ao próprio.
* A API deixou de criar contas de nível plataforma — continua criando normalmente Administrador, Supervisor, Atendente e Perfil Personalizado.

***

### Configurações Gerais relacionadas

Estas opções, em [**Configurações → Gerais → Geral**](/configuracao-administrador/configuracoes-painel-admin/configuracoes-gerais), mudam o comportamento de visibilidade para todos os perfis de uma vez. Veja o detalhamento de cada uma em Configurações Gerais:

* **Não visualizar Tickets já atribuídos a outros usuários**
* **Não visualizar Tickets no ChatBot**
* **Forçar atendimento via Carteira**
* **Visualizar Tickets sem Usuário ou Fila Atribuído**
* **Remover privilégios de visualização do supervisor**
* **Habilitar perfis personalizados** — pré-requisito para usar Perfil Personalizado
* **Privacidade do Funil**
* **Receptivo apenas por fila**
* **Permitir somente admin excluir contatos**
* **Ativar Filtro de tickets no socket**

***


# Visão geral Superadmin

Este é o painel de administração de mais alto nível, projetado para o gerenciamento centralizado de toda a instância da plataforma Z-PRO.

O **Painel Superadmin** é a área administrativa de mais alto nível do Z-PRO. É aqui que o dono da instalação gerencia a infraestrutura, as licenças, a personalização white-label, os tenants (empresas clientes) e as conexões globais que alimentam toda a plataforma.

{% hint style="warning" %}
Este painel é exclusivo para o **dono da instalação** (dono da VPS ou do SaaS). Não deve ser confundido com o painel de atendimento nem com o painel Admin de cada tenant.
{% endhint %}

***

### [Tenants e Licença](/configuracao-superadmin/tenants-e-licenca)

O coração do seu SaaS. Aqui você valida a licença Z-PRO, cria e gerencia as empresas (tenants) cadastradas na plataforma, define planos de serviço, controla pagamentos e gerencia os usuários de cada conta.

* **Gerenciar Licença Z-PRO** — ativação e status da licença oficial
* **Gestão de Tenants** — criar, editar e desativar empresas clientes
* **Planos** — criar planos de serviço e gerar chave API de cobrança (Asaas)
* **Pagamentos dos Tenants** — histórico e controle de cobranças
* **Usuários por Tenant** — limites e gestão de usuários por empresa
* **Chat Suporte** — canal de suporte interno entre o superadmin e os tenants

***

### [Configurações Superadmin](/configuracao-superadmin/configuracoes)

Identidade visual e configurações globais do servidor — afetam todos os tenants da instância.

* **Customizar (White Label)** — nome, cor, logo e domínio da plataforma
* **E-mail SMTP** — servidor de e-mail para envios transacionais do sistema
* **Notificações Internas** — alertas e notificações globais da plataforma
* **Apps Google** — credenciais do Google para integrações que dependem de OAuth

***

### [Canais Superadmin](/configuracao-superadmin/canais-superadmin)

Configurações globais de canais e integrações que se aplicam à instância inteira — não a um tenant específico.

* **Sessões dos Tenants** — visão consolidada das sessões ativas de todos os tenants
* **Facebook Login Incorporado** — credenciais do App Meta para WABA, Instagram e Messenger
* **Domínio OAuth Customizado** — configurar domínio próprio para o fluxo de autenticação OAuth
* **Provedores de IA Globais** — chaves de API de IA disponíveis para todos os tenants
* **API do Tenant** — configurações de API expostas no nível da instância

***

### [Redes Sociais e Marketplaces](/configuracao-superadmin/redes-sociais-e-marketplaces)

Configuração dos aplicativos de plataformas externas que precisam ser registrados no nível do superadmin para ficarem disponíveis aos tenants. Cada item representa um App cadastrado na plataforma de origem.

* **App WABA** — aplicativo da API Oficial do WhatsApp (Meta)
* **Google** — App Google para Calendar, Drive e integrações OAuth
* **LinkedIn** — App LinkedIn para integração de canal
* **TikTok** — App TikTok para comentários e DMs
* **Mercado Livre** — App MercadoLivre para atendimento de compras
* **OLX** — App OLX para integração de anúncios
* **WooCommerce** — App WooCommerce para atendimento de e-commerce
* **Rocket.Chat** — integração com Rocket.Chat

***

### [Sistema](/configuracao-superadmin/sistema)

Monitoramento e manutenção técnica da instância. Use esta seção para tarefas operacionais: backup, migração, armazenamento e diagnóstico.

**Operação:**

* **Monitor** — visão em tempo real do estado dos serviços da instância
* **Terminal** — acesso ao terminal do servidor direto pelo painel
* **Backup** — criar e restaurar backups da instância
* **Migração de Tenants** — mover tenants entre instâncias

**Dados e configuração:**

* **Dados Internos** — Redis, cache e dados internos do sistema
* **Storage S3** — configurar armazenamento externo de mídia
* **Log de Auditoria** — histórico de ações administrativas na instância


# Tenants e Licença

Nesta seção você administra a licença da plataforma, cria e configura as empresas clientes (tenants), define planos de serviço, acompanha pagamentos e gerencia o suporte às contas.

***

### [Gerenciar Licença Z-PRO](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro)

Ativação, validação e renovação da licença anual do Z-PRO. Inclui também o acompanhamento do status da versão instalada e do Score do App Tech Provider.

***

### [Gestão de Tenants (Clientes)](/configuracao-superadmin/tenants-e-licenca/gestao-de-tenants-clientes)

Criação e administração das empresas cadastradas na plataforma. Cada tenant é uma conta isolada com seus próprios canais, usuários e configurações.

***

### [Planos](/configuracao-superadmin/tenants-e-licenca/planos)

Criação dos planos de serviço oferecidos aos clientes — com definição de limites de usuários, conexões e funcionalidades disponíveis por plano. Inclui a integração com o Asaas para cobrança automatizada.

***

### [Pagamentos dos Tenants](/configuracao-superadmin/tenants-e-licenca/pagamentos-dos-tenants)

Acompanhamento do histórico de cobranças e controle de pagamentos das contas ativas.

***

### [Usuários por Tenant](/configuracao-superadmin/tenants-e-licenca/usuarios-por-tenant)

Configuração dos limites de usuários permitidos em cada conta e visualização dos usuários cadastrados por tenant.

***

### [Chat Suporte](/configuracao-superadmin/tenants-e-licenca/chat-suporte)

Canal de comunicação direto entre o superadmin e os tenants, acessível dentro do próprio painel. Permite enviar avisos, responder dúvidas e acompanhar solicitações sem sair da plataforma.

***

### [Usando o White Label para Vários Clientes](/configuracao-superadmin/tenants-e-licenca/artigo-usando-o-white-label-para-varios-clientes)

Guia prático sobre como estruturar a operação white-label para atender múltiplos clientes com uma única instalação Z-PRO.


# Gerenciar Licença Z-PRO

Ativar, renovar e gerenciar a licença do Z-PRO pela tela de Assinatura e pelo Painel do Licenciado: validar chave, trocar domínio, entender bloqueios e  status da assinatura.

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**\
Agora esse gerenciamento também está disponível no [**PAINEL DO LICENCIADO**](/configuracao-superadmin/tenants-e-licenca/gerenciar-licenca-z-pro/painel-do-licenciado)
{% endhint %}

A licença Z-PRO é o que mantém sua instalação ativa e com direito a atualizações. Ela é gerenciada pelo **Superadmin** e precisa ser ativada logo após a instalação, renovada anualmente e mantida associada ao domínio correto — caso contrário, o sistema é bloqueado automaticamente.

{% hint style="info" %}
**A gestão da licença também acontece fora da instalação.** No Painel do Licenciado você consulta status, validade, domínios, instalações e números da sua chave sem depender do Z-PRO estar no ar, e gerencia tudo isso com confirmação por e-mail. Esta página cobre a tela de Assinatura, que segue disponível dentro da instalação. **Acesse** [**painel.zdg.com.br**](https://painel.zdg.com.br)
{% endhint %}

***

### Acessando a Página de Assinatura

No menu lateral do painel **Superadmin**, localize a seção "TENANTS E LICENCIAMENTO" e entre na aba **Assinatura**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FgwlDLaFVJ1qVgadpjvpO%2Fimage.png?alt=media&amp;token=2b9b8add-4d5c-4855-8872-5808557c5fe1" alt=""><figcaption></figcaption></figure>

***

### Entendendo as Informações da Tela

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fo3Ls5kNejkioVI3FjeVZ%2Fimage.png?alt=media&amp;token=ff499d11-811d-4e55-9c75-2cd854ce9d26" alt="" width="342"><figcaption></figcaption></figure>

#### Licença

* **Status da Licença:** O estado atual da sua licença (Ativo, Inativo, Em Validação).
* **Código da Licença:** A sua chave de licença atual, parcialmente ofuscada por segurança.
* **Validade da Licença:** A data de vencimento da sua assinatura anual.
* **Domínio:** Domínio utilizado na instalação (não é necessário adicionar subdomínios).

#### Score do App Tech Provider

Mede os canais conectados via App Tech Provider compartilhado. Não inclui canais conectados via App Próprio. O score é compartilhado por chave de licença. Para ver os números de **todas** as instalações que usam a sua chave, e agir sobre eles, use a aba **Números** do Painel do Licenciado. Licenciados que revendem para muitos clientes podem contratar o add-on **Score Blindado**, que impede que números banidos de clientes travem a conexão de novos canais.

#### Versão do Sistema

* **Versão do Backend / Frontend:** As versões atuais da sua instalação Z-PRO.
* **Expira em:** A data limite em que a versão instalada deixa de receber suporte.
* **Dias restantes:** Contagem regressiva para a atualização obrigatória de versão.

{% hint style="warning" %}
Quando os dias restantes chegarem a zero, **o sistema para de funcionar mesmo com a licença em dia**. Atualize antes do prazo para evitar interrupção no atendimento.

[Procedimento Padrão de Atualização](/central-do-assinante/atualizacoes-e-status-do-z-pro/procedimento-padrao-de-atualizacao)
{% endhint %}

***

### Validade da Licença vs. Validade do Sistema

Estas são as duas datas que mais geram confusão no painel. Elas são independentes e controlam coisas completamente diferentes.

<table><thead><tr><th width="199.5"></th><th width="251.5">Validade da Licença</th><th>Validade do Sistema</th></tr></thead><tbody><tr><td><strong>O que é</strong></td><td>Sua assinatura anual paga</td><td>O prazo de vida da versão instalada</td></tr><tr><td><strong>O que acontece quando expira</strong></td><td>Você perde acesso à plataforma até renovar</td><td>O sistema <strong>para de funcionar</strong>, mesmo com a licença em dia</td></tr><tr><td><strong>Como renovar</strong></td><td>Acessando a página de renovação e pagando</td><td>Atualizando o Z-PRO para uma versão mais nova</td></tr><tr><td><strong>Depende da outra?</strong></td><td>Não</td><td>Não</td></tr></tbody></table>

{% hint style="info" %}
**Como funciona na prática:** cada versão do Z-PRO tem um período máximo de vida — geralmente alguns meses. Isso é um mecanismo de segurança que garante que todas as instalações sejam atualizadas com regularidade, recebendo correções e melhorias. Na prática, isso significa que você precisa atualizar pelo menos duas vezes por ano, independentemente de quando renova a licença.

Fique atento às duas datas: uma não substitui a outra.
{% endhint %}

***

### Ativar Licença (primeiro acesso)

Realize estes dois passos logo após a primeira instalação do Z-PRO.

#### Passo 1 — Adicionar o código de licença

1. Na página de Assinatura, clique no botão **"Alterar licença"**.
2. No campo **"Atualizar licença"**, cole a chave de licença recebida por e-mail após a compra.
3. Clique em **"Salvar"**.

{% hint style="warning" %}
Após salvar, o status pode levar alguns minutos para atualizar. Aguarde até que o sistema processe a validação e o status mude para **"Ativo"**.
{% endhint %}

{% hint style="info" %}
Não recebeu sua licença por e-mail? Abra um chamado de suporte administrativo em [suporte.zdg.com.br](https://suporte.zdg.com.br/).
{% endhint %}

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F504DrBTav1MoaJcHlxOe%2Fimage.png?alt=media&amp;token=c3dd953b-740b-467a-9b1e-61a95886e6c4" alt=""><figcaption></figcaption></figure>

#### Passo 2 — Adicionar o domínio

1. Clique em **"Editar domínio"**.

{% hint style="danger" %}
Retire o domínio "whatsapp.com" e adicione o domínio da sua instalação. Não é necessário adicionar subdomínios — apenas o domínio raiz.
{% endhint %}

2. Adicione o(s) domínio(s) utilizados na instalação, separados por vírgula.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FxVUZ9PgatcbOADOQuUwh%2Fimage.png?alt=media&amp;token=5a84f928-139c-418f-84c7-0e56e3afc6e7" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Fique atento ao seu plano:

* **One Domain:** adicionar apenas um domínio
* **Unlimited:** adicionar todos os domínios utilizados na instalação
  {% endhint %}

{% hint style="warning" %}
**O botão "Editar domínio" não funciona?** O titular da licença pode ter travado a gestão de domínios no Painel do Licenciado. Nesse caso os domínios continuam visíveis aqui, mas só podem ser alterados pelo painel. Isso é intencional: evita que quem tem acesso Super Admin altere os domínios da licença.
{% endhint %}

***

### Renovar Licença Anual

Quando você renova a assinatura por mais um ano, o procedimento para atualizar a data de expiração no sistema é simples.

{% hint style="info" %}
A renovação também pode ser feita pela aba **Renovação** do Painel do Licenciado, que já identifica o seu plano e mostra as opções de renovação e de troca de plano. Como o painel é externo, isso funciona mesmo com a instalação fora do ar.
{% endhint %}

1. **A chave de licença não muda.** Você continuará usando o mesmo código.
2. Após a confirmação do pagamento da renovação, acesse a página **"Assinatura"**.
3. Clique em **"Atualizar dados"**.
4. Aguarde alguns minutos. O sistema identificará a renovação e atualizará a **"Expiração da Licença"** no painel.

{% hint style="warning" %}
A nova data de validade será de mais 12 meses somados à data de vencimento **atual** — não à data em que o pagamento foi realizado.
{% endhint %}

***

### Perguntas Frequentes

#### Minha licença aparece como "Validando" ou recebo "License Error" ao fazer login. O que fazer?

Ambos os problemas geralmente estão ligados à configuração da licença. Verifique:

1. **Chave de licença:** confirme se a chave foi inserida corretamente na aba **Assinatura**.
2. **Domínio:** garanta que o domínio configurado é exatamente o mesmo usado para acessar a plataforma — sem subdomínios como `app.` ou `api.`, apenas o domínio principal (ex: `suaempresa.com.br`).
3. **Domínio padrão:** verifique se `whatsapp.com` não permanece no campo de domínio — ele deve ser removido e substituído pelo seu domínio.
4. **Instalação bloqueada ou domínio fora da lista:** se a licença é de um revendedor, o titular pode ter bloqueado esta instalação, ou ativado a opção de aceitar somente os domínios cadastrados no Painel do Licenciado. Confirme com o titular da licença antes de abrir chamado.

Se o erro persistir após essas verificações, abra um chamado no [suporte administrativo](https://suporte.zdg.com.br/).

***

#### Onde encontro minha chave de licença?

Sua chave foi enviada automaticamente para o e-mail cadastrado logo após a confirmação da compra. Verifique a caixa de entrada e a pasta de spam procurando por e-mails de `suporte@zdg.com.br`.

Você também consulta os dados da licença entrando no [Painel do Licenciado](https://painel.zdg.com.br) com o e-mail usado na compra, sem depender do e-mail original.

Se não encontrar, abra um chamado no [suporte administrativo](https://suporte.zdg.com.br/) solicitando o reenvio.

***

#### Por que o status da licença não atualizou depois de salvar?

O sistema leva alguns minutos para processar a validação com os servidores da ZDG. Aguarde e recarregue a página. Se após 10 minutos o status ainda não for **"Ativo"**, verifique se a chave e o domínio estão corretos.

***

#### Vejo duas datas diferentes no painel: "Expiração da Licença" e "Essa versão expira em". Qual é a minha data de renovação?

São datas completamente diferentes — veja a tabela de comparação acima.

A **"Expiração da Licença"** é a data da sua assinatura anual — quando você precisa renovar o pagamento.

A **"Essa versão expira em"** é o prazo da versão de software instalada — quando você precisa atualizar o Z-PRO. Passar dessa data sem atualizar faz o sistema parar de funcionar, mesmo com a licença paga.

***

#### Renovei minha licença mas a data no painel não mudou. O que fazer?

Acesse a aba **Assinatura** e clique em **"Atualizar dados"**. O sistema irá buscar a nova validade nos servidores. Aguarde alguns minutos.

Lembre que a nova data é calculada a partir da data de vencimento **anterior** — e não da data do pagamento. Se sua licença vencia em 01/11/2025, a nova expiração será 01/11/2026.

***

#### Quantos domínios posso adicionar na licença?

Depende do seu plano:

* **One Domain:** um domínio principal, com subdomínios ilimitados a partir dele (ex: `app1.suaempresa.com.br`, `app2.suaempresa.com.br`). Para usar um segundo domínio principal, existe o domínio extra.
* **Unlimited (legado, disponível apenas para renovação):** domínios principais diferentes, sem precisar partir de um domínio único.

Em ambos os casos, cadastre apenas o domínio raiz (ex: `suaempresa.com.br`), sem subdomínios.

Os domínios podem ser cadastrados aqui na tela de Assinatura ou pela aba **Domínios** do Painel do Licenciado. No painel também é possível restringir a licença para que ela funcione **somente** nos domínios cadastrados, o que protege a chave contra uso não autorizado.

***

#### O sistema parou de funcionar mas minha licença ainda está dentro da validade. O que acontece?

Provavelmente a **validade da versão instalada** expirou — veja a diferença entre as duas datas explicada acima. Mesmo com a licença em dia, se a versão do Z-PRO instalada passou do prazo de suporte, o sistema é bloqueado até que você atualize.

[Atualize o ZPRO](/central-do-assinante/atualizacoes-e-status-do-z-pro/procedimento-padrao-de-atualizacao)

Se a versão ainda está dentro do prazo, a segunda causa possível é o bloqueio pelo lado do licenciamento: a instalação pode ter sido bloqueada, ou o domínio dela pode estar fora da lista permitida, no [**Painel do Licenciado**](https://painel.zdg.com.br/). Quem contratou a licença consegue verificar e reverter isso em poucos minutos.

***

#### Como renovar minha assinatura?

Acesse [zpro.zdg.com.br/renovar](https://zpro.zdg.com.br/renovar/), informe o e-mail utilizado na compra original e siga para o checkout. Trabalhamos apenas com plano anual — não há renovação automática ou recorrência.

***

#### Ainda não consegui resolver. Como abrir suporte?

Abra um chamado no portal de suporte administrativo em [suporte.zdg.com.br](https://suporte.zdg.com.br/). Selecione o departamento **"Suporte Administrativo"** e descreva o problema com o print do status da licença e o domínio configurado.

#### [Link para aula completa - portal do assinante](https://portal.zdg.com.br/270021-sistema-zpro/5179463-primeiros-passos-e-ativacao-da-licenca)


# Painel do Licenciado

Como acessar e usar o Painel do Licenciado (painel.zdg.com.br): visão geral da   licença, instalações, canais, números do score, domínios, renovação e o add-on   Score Blindado.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F6RXy1676JDaINH0tge17%2Fimage.png?alt=media&amp;token=afbf50bb-af14-4cb9-886b-922c1142791d" alt="" width="563"><figcaption></figcaption></figure>

## Como usar o Painel do Licenciado

O **Painel do Licenciado** é o painel externo de gestão da sua licença Z-PRO, hospedado nos servidores da ZDG em [painel.zdg.com.br](https://painel.zdg.com.br/). Ele reúne, em um único lugar, tudo o que antes só existia dentro da tela de **Assinatura** do Super Admin: status e validade da licença, domínios liberados, instalações ativas, canais conectados, números do Score do App Tech Provider, renovação e add-ons.

Como o painel roda fora da sua infraestrutura, você continua gerenciando a licença mesmo com a instalação fora do ar. E como o acesso é feito pelo e-mail titular da licença, seus clientes não enxergam mais os domínios e as instalações uns dos outros.

{% hint style="info" %}
**Pré-requisitos:**

* Licença Z-PRO comprada em seu nome (ativa, vencida ou bloqueada, o painel abre em qualquer caso)
* Acesso à caixa de entrada do e-mail cadastrado na compra da licença
* Instalação do Z-PRO atualizada, para que os recursos de trava de domínio e leitura de instalações funcionem
  {% endhint %}

***

### Como funciona

Antes do painel, toda a gestão do licenciamento acontecia dentro da instalação, na tela **Super Admin > Tenants e Licenciamento > Assinatura**. Isso trazia dois problemas: a tela é compartilhada com quem tem acesso Super Admin, então um cliente conseguia ver e editar os domínios de outro; e, se o backend estivesse caído, não havia como corrigir a licença justamente no momento em que isso era mais necessário.

O Painel do Licenciado resolve os dois pontos:

|                                          | Tela de Assinatura (Super Admin)        | Painel do Licenciado                      |
| ---------------------------------------- | --------------------------------------- | ----------------------------------------- |
| **Onde roda**                            | Dentro da sua instalação                | Nos servidores da ZDG                     |
| **Funciona com a instalação fora do ar** | Não                                     | Sim                                       |
| **Quem acessa**                          | Qualquer usuário com perfil Super Admin | Somente o e-mail titular da licença       |
| **Visão**                                | Apenas aquela instalação                | Todas as instalações que usam a sua chave |
| **Ações sensíveis**                      | Sem confirmação                         | Confirmação por código no e-mail          |

{% hint style="warning" %}
**Toda ação sensível pede confirmação por e-mail.** Bloquear uma instalação, adicionar domínio, travar a gestão de domínios ou desregistrar um número geram um código de confirmação enviado para o e-mail da licença. Mantenha esse e-mail acessível e seguro: quem tem acesso a ele tem acesso ao painel.
{% endhint %}

***

### Etapa 1: Acessar o painel

1. Abra [painel.zdg.com.br](https://painel.zdg.com.br/).
2. Informe o **e-mail cadastrado na licença**, o mesmo usado na compra.
3. Você receberá nesse e-mail um **link de acesso** e um **código de 6 dígitos**. Use qualquer um dos dois.
4. Clique no link ou informe o código para entrar.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FtA6NJ2RjrlOvy9HPJwwD%2Fimage.png?alt=media&amp;token=a9d29ff7-de76-41da-8a50-ec86bd63e685" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
O link de acesso é de **uso único**. Depois de aberto, ele não funciona novamente. Para entrar de novo, solicite um novo acesso na tela de login.
{% endhint %}

{% hint style="info" %}
**Não sabe qual é o e-mail da sua licença?** Clique em **"Falar com suporte"** na própria tela de login e nosso time comercial confirma o endereço cadastrado.
{% endhint %}

Se o mesmo e-mail tiver mais de uma licença, todas aparecem listadas depois do login, cada uma com o seu status. Basta selecionar qual você quer gerenciar.

***

### Etapa 2: Visão geral (Dashboard)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FhKx5bheUs6i5iwYA3K9I%2Fimage.png?alt=media&amp;token=69d6c10d-1d58-44b9-86f5-a0f2a39d0c7e" alt=""><figcaption></figcaption></figure>

A tela inicial mostra o retrato da licença selecionada:

* **Status da licença:** ativa, vencida ou bloqueada.
* **Dados da licença:** tipo de plano (One Domain, One Tenant ou Unlimited), validade e dias restantes para o vencimento.
* **Cards totalizadores:** instalações ativadas com a chave, domínios liberados, canais e números monitorados.
* **Conectividade das instalações:** quantas instalações deram sinal nas **últimas 24 horas** e quantas estão sem sinal.

{% hint style="info" %}
"Sem sinal" não significa licença inválida. Significa que aquela instalação não fez a leitura de licença nas últimas 24 horas, normalmente porque está desligada, foi desinstalada ou está com o servidor fora do ar.
{% endhint %}

Use a validade exibida aqui para se planejar: a renovação pode ser feita antes do vencimento, sem perder os dias restantes.

***

### Etapa 3: Instalações

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FjQyWnrwk8k4lyM7nje1G%2Fimage.png?alt=media&amp;token=9e3bf853-a012-4136-acdf-2c77f870bc1c" alt=""><figcaption></figcaption></figure>

A aba **Instalações** lista todos os endereços onde a sua chave de licença está ativada, com:

* o domínio ou subdomínio da instalação;
* a quantidade de números/canais ativos naquela instalação;
* a data da **última leitura** da licença, ou seja, o último sinal recebido;
* o status de bloqueio.

#### Bloquear uma instalação

Se você encontrar uma instalação que não reconhece, ou de um cliente que deixou de pagar:

1. Localize a instalação na lista e clique em **Bloquear**.
2. Confirme o endereço que será bloqueado.
3. Informe o **código de confirmação** enviado para o seu e-mail.
4. Confirme o aviso de que a instalação vai parar de funcionar.

O bloqueio é imediato: a partir dele, aquela instalação deixa de validar a licença e para de funcionar. O mesmo caminho permite **desbloquear** depois.

{% hint style="warning" %}
**Caso real:** um licenciado abriu o painel e encontrou dezenas de subdomínios que não conhecia. A licença dele havia sido compartilhada com terceiros e repassada adiante. Se ao abrir o painel você vir instalações que não são suas, bloqueie-as e, em seguida, considere travar os domínios (Etapa 6). Se a chave já estiver circulando, [abra um chamado](https://suporte.zdg.com.br/) para solicitar a substituição da licença.
{% endhint %}

***

### Etapa 4: Canais

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FkjGqBtPnm9HQRUJSFMXa%2Fimage.png?alt=media&amp;token=0c502a25-137e-48eb-ab5e-533233d7047d" alt=""><figcaption></figcaption></figure>

A aba **Canais** consolida o que está conectado em todas as instalações da sua chave:

* total de canais e quantos estão conectados neste momento;
* quebra **por tipo de canal** (WhatsApp Oficial, WhatsApp via API não oficial, Instagram, Messenger, Webchat, E-mail, marketplaces e demais integrações);
* quantidade de empresas (tenants) em cada instalação;
* horário da última leitura.

É a visão que responde, sem abrir um Super Admin de cada vez, quantos canais a sua operação inteira tem no ar.

***

### Etapa 5: Números (Score do App Tech Provider)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FxLsJvcLPuEo57aexHTzR%2Fimage.png?alt=media&amp;token=79b35b67-d687-4221-820b-74931b317d4d" alt=""><figcaption></figcaption></figure>

A aba **Números** lista os números **WABA** conectados pelo App Tech Provider compartilhado da ZDG, que são os que influenciam o Score do App Tech Provider da sua licença. É aqui que você identifica os números com problema e age sobre eles.

Duas ações estão disponíveis:

**Desregistrar número**

1. Clique em **Desregistrar** no número desejado.
2. Informe os **últimos dígitos** do número para confirmar.
3. Confirme com o código enviado ao seu e-mail.

O sistema executa o desregistro junto à Meta e remove o número do App compartilhado.

**Remover do monitoramento**

Use quando o desregistro não for possível, por exemplo se o número já foi associado a outro aplicativo. Ele deixa de ser contabilizado no seu score.

{% hint style="warning" %}
**Remover do monitoramento não resolve sozinho.** Se o número continuar conectado em uma instalação que usa a sua licença, a checagem de saúde que rodamos periodicamente em todas as instalações vai encontrá-lo novamente e reassociá-lo ao seu score em algumas horas.

O tratamento definitivo é resolver o canal na origem: desconectar o número no Z-PRO do cliente, ou reconectá-lo em um App Próprio.
{% endhint %}

***

### Etapa 6: Domínios

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FxMuLp4pznucC7vmN58cP%2Fimage.png?alt=media&amp;token=f10acd4f-8f89-4eb7-b7d8-57e441988eb7" alt=""><figcaption></figcaption></figure>

A aba **Domínios** é onde fica o controle mais fino sobre onde a sua licença pode ser usada.

#### Adicionar um domínio

1. Clique em **Adicionar domínio**.
2. Informe o domínio (apenas o domínio raiz, sem subdomínios).
3. Confirme com o código recebido por e-mail.

#### Travar a gestão de domínios no painel

Na tela de Assinatura do Super Admin, qualquer usuário com esse perfil consegue editar os domínios da licença. Para impedir isso:

1. Na aba **Domínios**, escolha **Travar a gestão neste painel**.
2. Confirme com o código enviado por e-mail.

A partir daí, os domínios continuam **visíveis** na tela de Assinatura, mas o botão de editar deixa de funcionar para os seus clientes. Toda alteração passa a ser feita exclusivamente pelo painel.

{% hint style="info" %}
Adicionar um domínio pelo painel já ativa a trava automaticamente. Para devolver a edição à tela de Assinatura, use **Devolver a gestão à instalação** e confirme com o código. A informação leva alguns minutos para propagar até a instalação.
{% endhint %}

#### Aceitar somente os seus domínios

Licenças **Unlimited** não têm restrição de domínio por padrão: qualquer domínio que use a chave consegue ativar a instalação. Se você quer que a sua licença funcione **apenas** nos domínios cadastrados:

1. Na aba **Domínios**, marque a opção de **aceitar somente os domínios cadastrados**.
2. Clique em **Travar** e confirme.

Qualquer tentativa de ativar a licença em um domínio fora da lista passa a falhar. É a proteção mais eficaz contra uma chave que vazou.

{% hint style="danger" %}
Antes de travar, confira se todos os domínios que você realmente usa estão cadastrados. Se faltar algum, aquela instalação para de validar a licença.
{% endhint %}

***

### Etapa 7: Renovar a licença pelo painel

A renovação continua disponível no site, em [zpro.zdg.com.br/renovar](https://zpro.zdg.com.br/renovar/), e agora também dentro do painel, na aba **Renovação**. O painel já identifica o seu plano e mostra as opções aplicáveis:

* **Licença Unlimited:** renovar como Unlimited ou migrar para o plano **One Domain** (Revenda), que trabalha com subdomínios ilimitados de um domínio principal.
* **Licença One Domain:** renovar como One Domain ou migrar para o plano **One Tenant** (Uso Próprio), indicado para quem opera um único painel.

Escolha a opção, siga para o checkout e a validade é atualizada após a confirmação do pagamento.

{% hint style="info" %}
A nova validade é somada à data de vencimento **atual**, e não à data do pagamento. Renovar antes do vencimento não faz você perder dias.
{% endhint %}

***

### Etapa 8: Score Blindado (add-on)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FjST4GmbdmtUQGhVEGCrG%2Fimage.png?alt=media&amp;token=68cab5df-8367-4f01-ba43-2a1efbdcd37c" alt=""><figcaption></figcaption></figure>

O **Score Blindado** é um complemento de licença contratado no menu **Score Blindado** do painel, onde ficam os valores e as condições.

**O problema que ele resolve:** o Score do App Tech Provider é compartilhado por chave de licença. Se o número de um cliente seu é banido ou fica com qualidade vermelha e não é tratado a tempo, a pontuação da licença inteira cai e você fica impedido de conectar **novos** números WABA pelo nosso App. Na prática, um cliente que faz spam trava a operação de todos os outros.

**O que muda com o add-on ativo:**

* Números banidos ou em qualidade vermelha deixam de penalizar o score da sua licença.
* Você continua conectando novas contas WABA pelo App Tech Provider mesmo com números bloqueados na conta.
* Acaba a rotina de sair desconectando número banido só para liberar a pontuação.

Depois de ativado, o aviso **"Score Blindado ativo"**, com a data de validade do add-on, passa a aparecer na tela **Super Admin > Tenants e Licenciamento > Assinatura**.

{% hint style="warning" %}
O Score Blindado protege a **sua licença**, não os números do seu cliente. O número que a Meta baniu continua banido, e as regras de qualidade da Meta continuam valendo para cada número individualmente. O que o add-on faz é impedir que esse problema se propague para a sua capacidade de conectar novos canais.
{% endhint %}

{% hint style="info" %}
**Para quem faz sentido:** licenciados que revendem para muitos clientes e não conseguem controlar o comportamento de cada um. Se a sua operação é enxuta e você acompanha a qualidade dos seus números, o Score Blindado não é necessário: siga as práticas do artigo Score do App Tech Provider.
{% endhint %}

***

### Etapa 9: Atividade

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FiTE8U6DdwbC0zrr8KoNo%2Fimage.png?alt=media&amp;token=1e354c45-c199-4792-af76-8b06c33de5a2" alt=""><figcaption></figcaption></figure>

A aba **Atividade** é o registro de auditoria da licença: o histórico do que foi feito na conta e por quem. Cada linha traz a **data e hora**, a **ação** e a **origem** (o e-mail que executou).

Entre os eventos registrados estão:

* acessos ao painel (login por link ou por código);
* pedidos de acesso à licença;
* ações sensíveis confirmadas por código — bloqueio e desbloqueio de instalação, adição de domínio, trava e devolução da gestão de domínios, desregistro ou remoção de número do monitoramento;
* renovações e contratação de add-ons.

{% hint style="info" %}
Use a aba **Atividade** quando desconfiar que a chave foi compartilhada ou quando mais de uma pessoa tem acesso ao e-mail titular: ela mostra de qual endereço partiu cada alteração e em que momento.
{% endhint %}

***

### Etapa 10: Roadmap

A aba **Roadmap** traz, dentro do painel, o **roadmap público** do Z-PRO ([roadmap.zdg.com.br](https://roadmap.zdg.com.br/)): o board de sugestões, os itens em desenvolvimento e o que já foi entregue. Sem sair do painel, você pode:

* acompanhar o que está planejado, em andamento e concluído;
* **votar** nas sugestões que fazem mais diferença para a sua operação;
* enviar uma **nova sugestão** de funcionalidade.

{% hint style="info" %}
Pedido de recurso novo entra por aqui. O roadmap público é onde a priorização acontece — quanto mais votos um item recebe, mais peso ele ganha. Não trabalhamos com desenvolvimento sob demanda por fora dessa fila.
{% endhint %}

***

### Etapa 11: Onboarding (Primeiros passos)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FK9NOMk5IpBUZZl0PKXWl%2Fimage.png?alt=media&amp;token=b717fe23-f055-4b9e-8b58-d51eb9966dcb" alt=""><figcaption></figcaption></figure>

A aba **Onboarding** é o guia de primeiros passos da licença: leva você do servidor contratado até o sistema no ar. O item aparece no menu lateral com um **selo de progresso** (por exemplo, **2/5**), que mostra quantos passos você já concluiu.

A tela se chama **Primeiros passos** e traz os cinco passos na ordem, cada um como um cartão expansível. Você **marca cada passo ao concluir** — o círculo à esquerda vira um ✓ verde e a barra de progresso avança.

| Passo                           | O que você faz                                                                                                                                                                     |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1. Comece por aqui**          | Ponto de partida: pega a **chave de licença** e conhece os canais de apoio (central de ajuda, canal de avisos no Telegram, roadmap).                                               |
| **2. Preparar o ambiente**      | Contrata a VPS e aponta os **dois subdomínios** para o IP dela.                                                                                                                    |
| **3. Instalar o sistema**       | Agenda a instalação com a equipe da ZDG ou roda o script de instalação por conta própria.                                                                                          |
| **4. Ativar a licença**         | No Super Admin da instalação, em **Tenants e Licenciamento > Assinatura**, cola a chave e informa o **domínio principal**. Depois confere o domínio na aba **Domínios** do painel. |
| **5. Diretrizes da plataforma** | Lê **Manutenção e Segurança**, **Política de Suporte Técnico** e os **Termos de Uso e Licenciamento** antes de pôr a operação em produção.                                         |

Cada cartão traz uma descrição curta e, quando existir, os links de **vídeo-aula** e de **documentação completa** daquele passo.

No rodapé da tela fica o atalho **"Tem dúvida ou precisa de ajuda técnica? Abrir um chamado"**, que leva ao [suporte.zdg.com.br](https://suporte.zdg.com.br/).

{% hint style="info" %}
Os passos são marcados manualmente. Você pode marcar e desmarcar a qualquer momento — o progresso serve para você se organizar, não trava nenhuma função do painel.
{% endhint %}

***

### Resumo das Funcionalidades

| Funcionalidade                                      | Onde acessar                                                            |
| --------------------------------------------------- | ----------------------------------------------------------------------- |
| Entrar no painel                                    | [painel.zdg.com.br](https://painel.zdg.com.br/) com o e-mail da licença |
| Ver status, plano e validade                        | **Visão geral**                                                         |
| Ver instalações ativas e último sinal               | **Instalações**                                                         |
| Bloquear ou desbloquear uma instalação              | **Instalações > Bloquear / Desbloquear**                                |
| Ver canais conectados por tipo e por instalação     | **Canais**                                                              |
| Desregistrar número ou remover do monitoramento     | **Números**                                                             |
| Adicionar domínio                                   | **Domínios > Adicionar domínio**                                        |
| Impedir que clientes editem domínios no Super Admin | **Domínios > Travar a gestão neste painel**                             |
| Restringir a licença aos domínios cadastrados       | **Domínios > Aceitar somente os domínios cadastrados**                  |
| Renovar ou migrar de plano                          | **Renovação**                                                           |
| Contratar o add-on                                  | **Score Blindado**                                                      |
| Ver o histórico de ações e acessos da licença       | **Atividade**                                                           |
| Acompanhar e votar no roadmap, enviar sugestões     | **Roadmap**                                                             |
| Seguir o guia de primeiros passos da licença        | **Onboarding**                                                          |

***

### Encerramento

Com o Painel do Licenciado você deixa de depender da instalação para administrar a licença e passa a ter controle real sobre onde a sua chave é usada. Para quem revende, a recomendação é fazer três coisas logo no primeiro acesso: revisar a lista de instalações, bloquear o que não reconhecer e travar a gestão de domínios no painel.

***

### Possíveis Erros e Soluções

#### Não recebi o e-mail com o link ou o código de acesso

**Causa:** e-mail digitado diferente do cadastrado na licença, ou mensagem retida no spam.

**Solução:** confira a pasta de spam procurando mensagens da ZDG e confirme o endereço cadastrado. Se não souber qual é, clique em **"Falar com suporte"** na tela de login.

#### O link de acesso não funciona quando clico de novo

**Causa:** o link é de uso único.

**Solução:** volte a [painel.zdg.com.br](https://painel.zdg.com.br/) e solicite um novo acesso.

#### Aparecem instalações e subdomínios que eu não reconheço

**Causa:** a chave de licença foi compartilhada com terceiros em algum momento.

**Solução:** bloqueie as instalações na aba **Instalações**, cadastre apenas os seus domínios e ative **aceitar somente os domínios cadastrados**. Se a chave já circulou bastante, [abra um chamado](https://suporte.zdg.com.br/) e solicite a substituição da licença.

#### "A Meta não aceitou a operação" ao desregistrar um número

**Causa:** o número não está mais vinculado ao App Tech Provider da ZDG, geralmente porque foi associado a outro aplicativo ou removido pelo lado da Meta.

**Solução:** use a opção **Remover do monitoramento** para tirar o número do seu score.

#### Removi o número do monitoramento, mas ele voltou a aparecer no score

**Causa:** o número continua conectado em uma instalação que usa a sua licença, e a checagem periódica de saúde o reassociou.

**Solução:** desconecte o canal no Z-PRO onde ele está ativo, ou reconecte esse número em um App Próprio. Detalhes em Score do App Tech Provider.

#### Meu cliente ainda consegue editar os domínios na tela de Assinatura

**Causa:** a trava ainda não propagou, ou a instalação está em uma versão anterior à que faz a checagem no painel.

**Solução:** aguarde alguns minutos e recarregue a tela de Assinatura. Se continuar, atualize a instalação seguindo o Procedimento Padrão de Atualização.

#### Uma instalação legítima parou de funcionar depois que travei os domínios

**Causa:** o domínio dela não está na lista de domínios cadastrados.

**Solução:** adicione o domínio na aba **Domínios** e aguarde alguns minutos para a instalação voltar a validar a licença.


# Score do App Tech Provider

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

A seção **Score do App Tech Provider** avalia a saúde e a reputação dos seus números de WhatsApp Oficial (WABA) que estão conectados utilizando o **App compartilhado da ZDG** (login incorporado padrão). É um mecanismo de **proteção**: ele monitora a qualidade que a **própria Meta** atribui aos seus números e impede que números de baixa reputação coloquem em risco o aplicativo compartilhado — e, com ele, todos os demais clientes.

{% hint style="info" %}
**O score é compartilhado por chave de licença.** Todas as suas instalações auto-hospedadas que utilizam a mesma licença visualizam o mesmo score e compartilham a mesma reputação. Isso **inclui os números que os seus clientes/tenants conectam** pelo App compartilhado sob a sua licença — eles também contam para o seu score.
{% endhint %}

Você acompanha o score em **Superadmin → Tenants e Licença → Gerenciar Licença → Score do App Tech Provider**, com o detalhamento **número a número**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FIgylj5L9c1i9J1ImmVCN%2Fimage.png?alt=media&amp;token=d2c5cbb7-984f-42db-ba05-0b5dff6f3b62" alt="" width="375"><figcaption></figcaption></figure>

***

### Como a Meta classifica cada número

A Meta classifica a qualidade dos números de WhatsApp com base no comportamento e nas **denúncias e bloqueios feitos pelos destinatários** (marcação de spam, "bloquear contato"). O Z-PRO lê e exibe essa classificação:

* 🟢 **Verde (High):** alta qualidade. Baixo índice de bloqueios e denúncias.
* 🟡 **Amarelo (Medium):** qualidade média. O número recebeu alguns bloqueios/denúncias e está sob aviso.
* 🔴 **Vermelho (Low):** baixa qualidade. O número excedeu o limite tolerável de denúncias/spam pela Meta.

Além dessas, a Meta pode aplicar dois status mais graves: **Restringido** (envio limitado) e **Conta Rejeitada**.

O painel também exibe **Desassociado** (número removido do App compartilhado) e **Não classificado** (número sem status definido pela Meta ainda).

***

### Como o score é calculado

Toda licença começa com **100 pontos**. O score é **recalculado automaticamente a cada checagem** — que acontece **pelo menos uma vez por dia** —, com base na classificação de cada número conectado:

| Classificação Meta do número | Efeito no score        |
| ---------------------------- | ---------------------- |
| 🟡 Amarelo                   | −25 pontos (cada)      |
| 🔴 Vermelho                  | −35 pontos (cada)      |
| 🚫 Restringido pela Meta     | cai direto para **10** |
| ⛔ Conta Rejeitada pela Meta  | vai a **0**            |

**Faixas do score**

| Score  | Situação      | Efeito                                                |
| ------ | ------------- | ----------------------------------------------------- |
| 90–100 | ✅ Saudável    | Tudo normal                                           |
| 70–89  | 👀 Observação | Alerta por e-mail                                     |
| 40–69  | ⚠️ Alerta     | **Envio limitado a 10% do tier do número** (throttle) |
| 0–39   | 🔴 Crítico    | Contagem regressiva para **bloqueio automático**      |

{% hint style="warning" %}
**O que é o throttle de 10%?**

Quando o score cai **abaixo de 70**, o app passa a limitar cada número a **10% do limite diário (tier) que a Meta concede a ele**.

**Exemplo:** se a Meta permite que o número envie **1.000 mensagens por dia** (tier máximo), com o throttle ativo ele fica limitado a **100 mensagens por dia** — enquanto o score permanecer nessa faixa.

É uma contenção temporária: reduz o volume para frear a queda de reputação na Meta e dar tempo de recuperação, **sem bloquear** a operação por completo.
{% endhint %}

Exemplo de score Amarelo/vermelho:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FSFCRVnB8Pl6CZpTPdTZr%2Fimage.png?alt=media&amp;token=505d71f1-d73c-477e-bbd7-887eae68088a" alt="" width="312"><figcaption></figcaption></figure>

***

**Bloqueio automático**

Quando a licença entra em estado **crítico**, o bloqueio é aplicado automaticamente:

* **3 ou mais números vermelhos** (ou amarelos acumulados) → bloqueio em **3 dias**.
* Número **Restringido** ou conta **Rejeitada** pela Meta → bloqueio em **1 dia**.

{% hint style="info" %}
**Ninguém é bloqueado sem aviso.** Antes do bloqueio, você recebe alertas por e-mail (diários quando o score está crítico) com o score atual, o resumo dos números afetados e o prazo restante até o bloqueio.
{% endhint %}

Em nível de número: quando um número conectado pelo App compartilhado fica **Vermelho**, ele é **desconectado** do nosso aplicativo (OAuth da ZDG) após um período, para preservar a reputação do App global. Uma vez desassociado, **aquele número não consegue mais se reconectar** usando o App compartilhado. E, se a sua operação acumular vários números vermelhos (score geral muito baixo), a licença perde a permissão de conectar **qualquer novo número** pelo nosso App.

**Erro que aparece quando o número é desassociado**

```
0|zpro-backend  | warn: ::: Z-PRO ::: ZDG ::: WABA send blocked by gate: CHANNEL_DISASSOCIATED whatsappId=111
0|zpro-backend  | warn: ::: Z-PRO ::: ZDG ::: Error sending message waba 7:{"message":"CHANNEL_DISASSOCIATED","statusCode":423}
```

***

### Identificando os números com problema

Quando o OAuth está bloqueado, o painel exibe diretamente **quais números são responsáveis** pelo bloqueio — com os números de telefone listados e o status de cada um (ex: **Banido**).

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FFe3IQENJ0g5mYvyUSTLI%2Fimage.png?alt=media&amp;token=099260f1-49d0-40f5-ac1f-96fb89e8c2c3" alt="" width="375"><figcaption></figcaption></figure>

Essa listagem permite identificar rapidamente quais canais precisam ser tratados antes de solicitar reabilitação.

**Identificando a qual tenant/cliente pertence cada número bloqueado**

Os números exibidos no Score podem pertencer a **qualquer um dos seus tenants** (clientes). Para descobrir de qual empresa/cliente é cada canal problemático, acesse:

**Superadmin → Canais (e Integrações) → Canais → Sessões dos Tenants**

Nessa tela, clique em **"Por Tenant"** para agrupar as sessões por cliente. Você consegue ver, para cada tenant, quais canais estão desconectados ou com problema — cruzando com os números listados no Score.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FtCvLbBCgkwjq73yPNmvx%2Fimage.png?alt=media&amp;token=d148938b-bba7-40bc-bcb7-b8748b31d919" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
Quando um ou mais canais são desassociados do App Tech Provider, um aviso aparece automaticamente na barra superior da tela de Canais: **"Um ou mais canais Meta foram desassociados do App Tech Provider."** Clique em **Atualizar agora** ou acesse o **Score do App Tech Provider** diretamente pelo link exibido no aviso.
{% endhint %}

***

### **Como tirar um número do score e recuperar a pontuação**

Um número só **deixa de pesar no score** quando é **desvinculado do App compartilhado da ZDG (Tech Provider)**. Enquanto ele permanecer vinculado ao nosso App, continua sendo avaliado — **mesmo que você já esteja enviando mensagens por outro caminho**.

Para recuperar a pontuação: assim que um número ficar Amarelo ou Vermelho, remova-o do App compartilhado. Na **próxima checagem de score** — que acontece **pelo menos uma vez por dia** — aquele número deixa de ser considerado e a pontuação é **recalculada naturalmente**, devolvendo os pontos que ele estava descontando.

{% hint style="warning" %}
**Atenção: "Alterar origem" não desvincula o número.**

O botão **Alterar origem** muda apenas **por onde os webhooks da Meta são entregues** (proxy da ZDG × App Próprio). Ele **não** altera o vínculo de autenticação do número e, por isso, **não** o remove do score.

Para desvincular um número do nosso App de forma eficaz, você precisa de uma destas ações:

* **Desconectar o canal** no Z-PRO; **ou**
* **Recriar o canal**, conectando-o a um **novo App** (o seu App Próprio).
  {% endhint %}

### Já desconectei o canal, mas o número continua vinculado ao score. O que fazer?

{% hint style="warning" %}
Excluir apenas o canal do Z-PRO não remove a conexão do número com o App Tech Provider. Do lado da Meta, o número pode permanecer associado ao app compartilhado e, por isso, segue contando no score da sua licença.
{% endhint %}

Para números **banidos**, o fluxo correto é o botão **"Deletar canal banido"** (ícone de lixeira) em **Superadmin → Assinatura**: ele executa a sequência completa na ordem certa — desregistra na Meta → desassocia do BM → tira do score → remove o canal.

Se você excluiu o canal manualmente sem seguir esse fluxo, será necessário desvincular o número do App compartilhado da ZDG diretamente na gestão do próprio número:

* **Conexão via coexistência:** a desvinculação é feita no aplicativo **WhatsApp Business do celular** — siga os passos do vídeo abaixo.

{% embed url="<https://youtube.com/shorts/itRQ8D08JvI>" %}

* **Conexão sem coexistência (cadastro incorporado):** remova o vínculo do app pelo **Gerenciador do WhatsApp** na sua Business Manager. <https://business.facebook.com/latest/whatsapp_manager/phone_numbers/>

Feita a desvinculação, aguarde a **próxima checagem de score** — acontece pelo menos uma vez ao dia. O número deixa de ser considerado e a pontuação é recalculada automaticamente.<br>

***

### **Depois de bloqueado: reabilitação**

{% hint style="danger" %}
Uma vez bloqueada, a licença **não consegue mais conectar canais Meta pelo App compartilhado da ZDG**. **Não existe desbloqueio automático** — não adianta reinstalar, trocar de número ou reconectar.
{% endhint %}

A reabilitação segue estas regras:

* A liberação é feita **somente de forma manual** pela nossa equipe, avaliada **caso a caso**.
* Há uma **carência mínima de 30 dias** a partir do bloqueio antes que a reabilitação seja possível.
* A revisão é solicitada **respondendo ao e-mail de bloqueio** enviado para o titular da licença, ou pelo e-mail **<suporte@zdg.com.br>**, com um **plano de mitigação**: o que causou a queda de qualidade e o que mudou para que não se repita.

**Desbloqueio de cortesia**

Em alguns casos, o painel exibe o botão **"Desbloquear (cortesia)"**. Essa opção permite solicitar o desbloqueio sem aguardar o prazo de 30 dias, **desde que todos os canais problemáticos listados sejam resolvidos primeiro**.

O painel mostra exatamente quais números precisam ser tratados para liberar a cortesia. Enquanto esses canais permanecerem com status **Banido**, o botão não tem efeito.

{% hint style="warning" %}
O desbloqueio de cortesia é avaliado caso a caso e não é garantido. Resolva os canais listados e então utilize o botão para solicitar a revisão.
{% endhint %}

***

**O que NÃO é afetado**

* Canais configurados via **App Próprio** (sua própria conta Meta Developer) continuam funcionando normalmente — o bloqueio atinge **apenas** as conexões pelo nosso App compartilhado.
* Os demais canais da plataforma (**Baileys, Telegram, Instagram, etc.**) **não** entram nesse score.

***

### **Como manter o score alto**

1. **Opt-in sempre** — envie apenas para quem aceitou receber.
2. **Cuidado com volume e frequência** — picos de disparo derrubam a qualidade na Meta.
3. **Monitore bloqueios e denúncias** — um número marcado como spam vira amarelo/vermelho rápido.
4. **Aja rápido em números amarelos/vermelhos** — desvincule-os do App compartilhado assim que caírem. Eles param de descontar pontos e a pontuação se recupera na próxima checagem.
5. **Identifique o tenant responsável** — use **Canais → Sessões dos Tenants → Por Tenant** para saber de qual cliente é o número problemático e orientá-lo.
6. **Acompanhe pelo painel** — em **Superadmin → Assinatura** você vê o detalhe por número.
7. **Considere migrar para App Próprio** se faz disparos em volume.

***

### **Solução definitiva: App Próprio**

Se a sua operação trabalha com nichos que geram muitas denúncias, ou você tem clientes que rotineiramente deixam os números em vermelho, **você não poderá continuar utilizando o App compartilhado da ZDG**. Nesse cenário, a orientação é criar a sua própria infraestrutura na Meta:

* **Configurar App Próprio (Tornar-se Tech Provider)**: acesse o Facebook Developers, crie o seu próprio aplicativo, passe pelo processo de aprovação da Meta e configure as credenciais no painel Superadmin do Z-PRO.
* **Vantagem:** com o seu próprio App, a saúde (score) fica **isolada na sua própria Business Manager**, permitindo que você gerencie os números vermelhos dos seus clientes **sob a sua responsabilidade**, sem afetar o ecossistema global do Z-PRO e sem risco de bloqueio coletivo.

Para iniciar, clique no link **"Configurar App Próprio"** no canto inferior direito do painel de Score.

{% hint style="info" %}
Sempre que houver queda de qualidade, enviaremos um e-mail com o resumo dos números e a recomendação do que fazer.
{% endhint %}


# Chat Suporte

O chat de suporte é o canal destinado ao gerenciamento do atendimento dos usuários dos tenants, possibilitando o envio de respostas e o auxílio direto na plataforma.

A definição do chat de suporte é usada para representar o local onde se pode interagir e auxiliar os usuários das empresas de forma centralizada.

{% hint style="info" %}
Para o cliente abrir o chat com o suporte é preciso habilitar essa função no cadastro/edição do Tenant
{% endhint %}

As principais funções do chat de suporte são:

* Visualizar e responder mensagens de usuários;
* Filtrar contatos por empresa ou nome;
* Anexar arquivos e enviar áudios.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FybVrQlXSH8Fa6hbbfKKh%2Fimage.png?alt=media&amp;token=f6b6f7df-66df-4a4c-a5ab-24cfaf8327ad" alt="" width="375"><figcaption></figcaption></figure>

### 1. Atendendo um Usuário

Para atender um usuário é necessário acessar o painel e ir na aba Chat de Suporte.

Ao acessar a listagem lateral, clique em um usuário para visualizar o histórico e responder às mensagens.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fu6ybKZqCK0WBpa443yWL%2Fimage.png?alt=media&amp;token=e1e5e530-da07-4744-a69c-2bd97e8c3fd2" alt=""><figcaption></figcaption></figure>

### 2. Recursos da Lista de Usuários

Abaixo estão listados os itens presentes na lista de usuários e suas funcionalidades:

* **Selecionar um usuário:** Clique em um usuário na lista lateral para visualizar o histórico e responder às mensagens;
* **Filtrar usuários:** Utilize o campo de busca para filtrar os usuários por empresa ou por nome;
* **Identificar chats ativos:** Os usuários com chat ativo aparecem destacados na lista lateral.

### 3. Enviando Mensagens

Nessa área é possível enviar os textos e mídias para interagir com o usuário selecionado.

Abaixo estão listados os recursos presentes no envio de mensagens e suas funcionalidades:

* **Envio de texto:** Digite a mensagem no campo inferior da tela e pressione a tecla Enter para enviar;
* **Envio de mídias:** Utilize os botões auxiliares na tela para anexar arquivos ou enviar áudios gravados diretamente no chat.
* **Envio de link de reunião:** Ao clicar no ícone, será enviado uma mensagem automática com um link para realizar uma reunião online com o contato.

### Visão do chat para o Tenant

O administrador do Tenant conseguirá acessar o chat com o superadmin clicando no ícone no canto superior direito

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fy5reUfkDV6Qr0ldU1ZjA%2Fimage.png?alt=media&amp;token=b352d54b-0250-41e0-b1c1-c36f273a8266" alt="" width="375"><figcaption></figcaption></figure>

Abrirá uma guia no seguinte modelo:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fiu8h3wsOd8pfqKWyM5Gh%2Fimage.png?alt=media&amp;token=b3d6c9c6-6b6a-437a-99fa-9f7159ff603c" alt="" width="352"><figcaption></figcaption></figure>


# Gestão de Tenants (clientes)

Os Tenants representam as instâncias individuais (empresas ou clientes) que utilizam a plataforma Z-PRO. Nesta seção, o Superadministrador controla os limites de uso, as funcionalidades liberadas e a

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

Esta documentação detalha como criar, configurar e gerenciar os recursos de cada tenant cadastrado no sistema.

***

#### Acessando a Página de Tenants

No menu lateral do painel Superadmin, localize a sessão **"TENANTS E LICENCIAMENTO"** e selecione a aba **"Tenants"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FeZYrmpc93xSNwxUtDQ3k%2Fimage.png?alt=media&amp;token=aff552eb-e915-40d0-b4cb-aceebcb23e51" alt="" width="372"><figcaption></figcaption></figure>

#### Visão Geral da Listagem

A tela principal exibe todos os tenants cadastrados com as seguintes informações:

* **Nome:** Identificação da empresa.
* **Status:** Indica se a conta está `Ativa` (Verde) ou `Inativa` (Vermelho).
* **Plano:** Nome do plano assinado (caso configurado).
* **Usuários / Conexões:** Exibição do consumo atual versus o limite permitido.
* **Criado em:** Data e hora de abertura da conta.
* **Ações:** Atalhos para edição rápida ou ferramentas administrativas avançadas.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fby7yo29PlYsSjkGag2OK%2Fimage.png?alt=media&amp;token=8ccde668-784a-4ef6-89c0-a7d345e98f3e" alt=""><figcaption></figcaption></figure>

***

#### Criando ou Editando um Tenant

Ao clicar em **"+ Novo Tenant"** ou no ícone de edição (lápis), uma janela de configuração completa será aberta.

**1. Dados Básicos e Limites**

* **Status:** Chave para ativar ou suspender o acesso do tenant.&#x20;
  * **Nota:** O Tenant ID 1 (instalação mestre) não pode ser desativado.
* **Nome:** Nome oficial da empresa.
* **Máx. Usuários / Máx. Conexões:** Define o teto de atendentes e canais que o cliente pode cadastrar.
* **Identidade:** Campo para o identificador único do tenant no banco de dados.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FR6zEiX8KtH5xDZijh5GP%2Fimage.png?alt=media&amp;token=19395803-c04e-455b-9788-5d6e956beba0" alt="" width="375"><figcaption></figcaption></figure>

**2. Financeiro e Suporte**

* **Período de Trial:** Chave para habilitar ou desabilitar o período de teste gratuito.
* [**Gateway de Pagamento**](/configuracao-superadmin/tenants-e-licenca/planos)**:** Seleção do gateway (ex: Asaas) e inserção do Token de API e Customer ID específico para este cliente.
* [**Chat de Suporte**](/configuracao-superadmin/tenants-e-licenca/chat-suporte)**:** Habilita ou desabilita o acesso do tenant ao chat de suporte direto.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FOFa7rw3dNEgMBrw9rzMB%2Fimage.png?alt=media&amp;token=7f0a0f72-9423-40df-bbe8-9c122dcf0048" alt="" width="375"><figcaption></figcaption></figure>

**3. Menus Visíveis e Canais Permitidos**

Nesta seção, o Superadmin define exatamente quais funcionalidades o tenant poderá visualizar em seu painel lateral:

* **Recursos:** Grupos, Kanban, API, Relatórios, Chat Privado, Disparo em Massa, Tarefas, Chatbot, Campanhas e Equipes.
* **Canais:** Checklist para permitir quais tipos de conexão o cliente pode usar (WhatsApp Oficial WABA, Baileys, WebJs, Meow, Evolution, Telegram, WebChat, Instagram/Facebook OAuth, etc).

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FQllyp6fYujhkO9PKc91Z%2Fimage.png?alt=media&amp;token=37f12a9f-c7d7-4d0e-a6de-8eb9339a0fc1" alt="" width="375"><figcaption></figcaption></figure>

**4. Limites por Tipo de Canal**

Permite um controle granular sobre a quantidade de conexões para cada tecnologia específica.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FQzsHmnRyaFpos8NRRVib%2Fimage.png?alt=media&amp;token=55ea8ff1-a5f5-4156-9426-1c3b6c87e8e6" alt="" width="375"><figcaption></figcaption></figure>

[Ver documentação OAuth](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/whatsapp-oficial-oauth-app-zpro-com-coexistencia)

***

**Quota de galeria:** Define o limite máximo de armazenamento de arquivos de mídia (imagens, áudios, vídeos e documentos) para o tenant, em MB. Quando o limite é atingido, novos uploads de mídia são bloqueados para aquele tenant até que o espaço seja liberado.

{% hint style="info" %}
Para verificar quanto espaço um tenant já ocupa, use a opção **Calcular tamanho dos dados** no menu de três pontos ao lado do tenant. Para liberar espaço, use **Apagar arquivos da empresa.**
{% endhint %}

***

#### Ações e Ferramentas Administrativas

No menu de três pontos ao lado de cada tenant, estão disponíveis ferramentas de manutenção:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F5KODY7hj0C5sedJgIZUZ%2Fimage.png?alt=media&amp;token=02f9fb7d-71fe-4b11-b542-4d0dea9e8976" alt="" width="187"><figcaption></figcaption></figure>

* **Apagar empresa:** Remove permanentemente o tenant e todos os seus dados.
* **Calcular tamanho dos dados:** Verifica o espaço em disco ocupado pelo banco de dados do tenant.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FoBWUrQLsRkffBesuoHvO%2Fimage.png?alt=media&amp;token=8a14c0b9-58a8-4d58-8576-53d68ed27f2d" alt="" width="375"><figcaption></figcaption></figure>

* **Métricas:** Exibe dados de performance e uso da instância.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fx3HolJ9r7t9cjBIOUl29%2Fimage.png?alt=media&amp;token=019e1d2e-3627-4a46-a5af-2922a78c47c7" alt="" width="375"><figcaption></figcaption></figure>

* **Limpeza por filtro:** Permite a remoção em massa de mensagens ou logs antigos para otimização do banco.
* **Apagar arquivos da empresa:** Remove mídias (imagens, áudios, documentos) armazenadas nos buckets ou pastas locais do tenant.


# Usuários por Tenant

Gestão de Usuários

Nesta página, o Superadministrador realiza a gestão centralizada de todos os usuários cadastrados na plataforma, independentemente do tenant ao qual pertencem. É possível definir perfis de acesso, permissões específicas de menu e horários de atendimento individuais.

{% hint style="warning" %}
**Disponível para os perfis: Superadministrador**
{% endhint %}

Esta documentação detalha os procedimentos para criação, edição e controle de permissões de usuários.

***

#### Acessando a Página de Usuários

No menu lateral do painel Superadmin, localize a sessão **"TENANTS E LICENCIAMENTO"** e entre na aba **"Usuários Tenants"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fy7oEJEnMyHe65DTAOP0N%2Fimage.png?alt=media&amp;token=37bd2344-e1f3-4a62-bc3e-4bea64d5d88e" alt="" width="372"><figcaption></figcaption></figure>

#### Visão Geral da Listagem

A tela exibe uma tabela com todos os usuários do sistema:

* **Nome e Email:** Identificação básica do usuário.
* **Tenant:** Indica a qual empresa (instância) o usuário está vinculado.
* **Perfil:** Exibe o nível de acesso (ex: Administrador, Super Admin, Supervisor, Usuário).
* **Ações:** Ícones para editar dados ou excluir o registro.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FmHQvIfYgTvHrmo9MCdvh%2Fimage.png?alt=media&amp;token=c35e11fb-9b90-479a-b1a6-eda704bc7095" alt=""><figcaption></figcaption></figure>

***

#### Entendendo os Perfis de Usuário

A plataforma Z-PRO utiliza uma hierarquia de perfis para garantir a segurança dos dados e a organização das funções operacionais. Cada perfil possui níveis de permissão distintos:

* **Super Admin:** Este é o nível mais alto de acesso. Possui permissão global para gerenciar a infraestrutura do sistema, incluindo a criação de tenants, gestão de licenças, configuração de planos e gateways de pagamento globais.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fo1HtWpUAHPHIZHSl9qUP%2Fimage.png?alt=media&amp;token=17db0466-570e-4673-b42e-c384e5aaece7" alt="" width="316"><figcaption></figcaption></figure>

* **Administrador:** Possui controle total dentro de um **tenant específico**. Pode criar e editar usuários da sua empresa, configurar conexões (instâncias de WhatsApp), ajustar fluxos de chatbot e acessar todas as configurações e relatórios do painel do cliente.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F8dKVu3peNdDAxjtmlG6H%2Fimage.png?alt=media&amp;token=d7b55f24-1b01-432e-b552-5700abf4839e" alt="" width="316"><figcaption></figcaption></figure>

* **Supervisor:** Perfil com foco gerencial sobre a operação de atendimento. O Supervisor pode visualizar os chats de outros atendentes, acompanhar relatórios de desempenho e monitorar o Kanban, mas possui restrições de acesso a configurações estruturais do sistema e faturamento.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F8YYoV9DL0Skdu03ybGgC%2Fimage.png?alt=media&amp;token=aef72c85-df20-447b-888e-ee15b0adfe4d" alt="" width="316"><figcaption></figcaption></figure>

* **Usuário (Atendente):** Nível estritamente operacional. O acesso é limitado às ferramentas de comunicação direta, como o Chat, Kanban e Tarefas. Geralmente, este perfil visualiza apenas os atendimentos vinculados a ele ou aos seus departamentos, sem permissão para alterar configurações do tenant.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FM21o3eimDFxqshW82g4B%2Fimage.png?alt=media&amp;token=4558c3f6-21d9-4925-a01d-f7093bea69a6" alt="" width="316"><figcaption></figcaption></figure>

***

#### Criando um Novo Usuário

Para adicionar um colaborador a um tenant específico:

1. Clique no botão **"+ Novo Usuário"**.
2. Preencha os **Dados Básicos**:
   * **Nome e Email:** Dados de identificação e login.
   * **Senha:** Código de acesso (mínimo de 7 caracteres).
   * **Telefone:** Número de contato do usuário.
3. Defina o **Perfil**: Selecione entre as opções de hierarquia mencionadas acima.
4. Selecione o **Tenant**: Escolha a qual empresa este usuário pertence.
5. **Configurações Adicionais:** Use a chave **"Usuário restrito"** para limitar funcionalidades específicas, caso necessário.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FMtWosUBTbtbO74ecvLdp%2Fimage.png?alt=media&amp;token=fb7a2962-564a-4a9a-9560-55a2a60bd483" alt="" width="375"><figcaption></figcaption></figure>

***

#### Configurações de Permissões e Horários

Dentro da tela de criação ou edição, o sistema permite um ajuste fino das capacidades do usuário:

**1. Permissões de Menu**

Selecione quais módulos o usuário terá permissão para visualizar e operar dentro do sistema:

* Disparos em massa.
* Gestão de Grupos.
* Chat Privado.
* Kanban e Funil.
* Relatórios e Campanhas.
* Agendamentos e Configurações.

**2. Horário de Atendimento**

Define em quais períodos o usuário poderá realizar atendimentos no sistema:

* **Status:** Define se o usuário está "Aberto" ou "Fechado" para atendimento em cada dia da semana.
* **Períodos:** Permite configurar até dois turnos de trabalho por dia (ex: 08:00–12:00 e 14:00–18:00).

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F8tZQvVXrAS4GlxR00ekn%2Fimage.png?alt=media&amp;token=c8825338-4a92-4a9b-9365-75f3c745f91a" alt="" width="375"><figcaption></figcaption></figure>

***

#### Gestão e Manutenção

* **Edição:** Permite ajustar permissões de menu, alterar a senha ou trocar o perfil de acesso a qualquer momento.
* **Desativação:** Para impedir o acesso de um usuário sem excluí-lo definitivamente, o administrador pode alterar o status ou remover as permissões de menu.
* **Busca:** Utilize o campo de pesquisa no topo da página para localizar rapidamente usuários por nome ou e-mail.

Após preencher todas as informações e ajustar as permissões desejadas, clique no botão **SALVAR** no canto inferior direito para finalizar o cadastro. O usuário já poderá acessar a plataforma!

<br>


# Pagamentos dos Tenants

Visualize e gerencie os pagamentos de todos os tenants da plataforma, acompanhando valores, status de cobrança e datas de vencimento de forma centralizada.

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

Esta página é uma central de visualização e gestão financeira dos seus clientes (tenants). Ela permite identificar rapidamente inadimplências e acessar links diretos para as faturas geradas pelos gateways de pagamento.

{% hint style="info" %}
**Observação importante:** Esta tela destina-se apenas à visualização e gestão dos pagamentos individuais. Para configurar os gateways de pagamento (Asaas, Stripe, etc.) ou definir os valores e períodos de teste, acesse a documentação de [Planos](/configuracao-superadmin/tenants-e-licenca/planos).
{% endhint %}

#### Acessando a Página de Pagamentos

No menu lateral do painel Superadmin, localize a sessão **"TENANTS E LICENCIAMENTO"** e selecione a aba **"Pagamentos"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FZGIdBJiyB2T9H8ohIQSq%2Fimage.png?alt=media&amp;token=76aa3124-1972-4311-aedb-0e77274839dd" alt="" width="375"><figcaption></figcaption></figure>

***

#### Entendendo as Informações da Tela

A interface exibe os tenants em blocos expansíveis. Ao clicar no nome de um tenant, o sistema detalha o histórico de cobranças associado a ele.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FmFRGLDKP5bDDAi2Xb2Cy%2Fimage.png?alt=media&amp;token=c15b1159-31c4-429e-bf9a-71c8fac1f8d6" alt=""><figcaption></figcaption></figure>

**Cabeçalho do Tenant**

* **Nome do Tenant:** Nome do cliente/empresa.
* **Gateway:** Identifica por qual integrador a cobrança é processada (ex: Asaas).
* **Contador de Pagamentos:** Quantidade total de faturas registradas para aquele tenant.

**Tabela de Cobranças**

Dentro de cada tenant, você encontrará as seguintes colunas:

* **ID:** Código de identificação único da transação no gateway de pagamento.
* **Status:** Indica a situação atual da fatura:
  * `PENDING` (Laranja): Aguardando pagamento.
  * `OVERDUE` (Vermelho): Pagamento vencido e não identificado.
  * `RECEIVED/CONFIRMED`: Pagamento realizado com sucesso.
* **Vencimento:** A data limite para o pagamento da fatura.
* **Valor:** O valor bruto cobrado do tenant (Ex: R$ 10,00).
* **Link:** Atalho externo que redireciona para a página oficial da fatura no gateway, permitindo a visualização de boleto, linha digitável ou QR Code do Pix.

***

#### Gestão de Cobranças e Ações

A página de pagamentos deve ser utilizada para a rotina de monitoramento financeiro da sua operação:

1. **Identificação de Inadimplência:** As faturas com o status `OVERDUE` ficam destacadas em vermelho para facilitar a identificação imediata de tenants com pagamentos em atraso.
2. **Ações de Cobrança:** Utilize o campo **Link** para copiar o endereço da fatura e enviar diretamente ao cliente via WhatsApp ou E-mail, agilizando o processo de recebimento.
3. **Auditoria de Valores:** Verifique se o valor cobrado está em conformidade com o plano assinado pelo tenant.


# Planos

Nesta seção, você aprenderá a gerenciar os planos comerciais disponíveis para os tenants do sistema, definindo limites de uso, períodos de teste (trial) e as configurações de integração com gateways d

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

A página de Planos é fundamental para a monetização da plataforma, permitindo que o administrador estabeleça diferentes níveis de serviço e automatize a cobrança por meio de integradores financeiros.

#### Acessando a Página de Planos

No menu lateral do painel Superadmin, localize a sessão **"TENANTS E LICENCIAMENTO"** e entre na aba **"Planos"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FoJsg26iEaFzHQ48c2TVy%2Fimage.png?alt=media&amp;token=7823ba38-e3ad-46c4-8b95-d2026eb93661" alt="" width="373"><figcaption></figcaption></figure>

Visão geral da página:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F2lW7Whjo9U5spXBW1eb8%2Fimage.png?alt=media&amp;token=7c37de16-7fc4-46d7-8dd6-8eb0ed4bd973" alt=""><figcaption></figcaption></figure>

***

#### 1. Criando um Novo Plano

Para disponibilizar uma nova opção de assinatura para seus clientes:

1. Clique no botão **"+ Novo Plano"** localizado no canto superior direito.
2. Na janela pop-up, preencha os seguintes campos:
   * **Nome:** Identificação do plano (ex: Plano Start, Plano Pro).
   * **Valor (R$):** Preço que será cobrado do tenant.
   * **Conexões:** Limite máximo de instâncias/canais de WhatsApp que o tenant pode conectar.
   * **Usuários:** Limite máximo de atendentes que podem ser cadastrados no tenant.
   * **Período Trial:** Acione a chave (switch) caso deseje oferecer um tempo de uso gratuito.
   * **Dias de Trial:** Defina a quantidade de dias para o teste gratuito antes da primeira cobrança.
3. Clique em **"Salvar"**. O novo plano ficará imediatamente disponível para ser atribuído a novos tenants.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FzUxgiotjGej4mzn8AQuf%2Fimage.png?alt=media&amp;token=3e75295a-18ed-4a32-9f91-075c104c035e" alt="" width="375"><figcaption></figcaption></figure>

***

#### 2. Gerenciando Planos Existentes

Na listagem principal, você visualiza o resumo de todos os planos criados, incluindo ID, limites e status do trial. Cline no ícone de 3 pontos para:

* **Editar Plano:** Ao ajustar preços ou limites de um plano existente, as alterações serão aplicadas para novas contratações.
* **Excluir Plano:** Planos excluídos deixam de estar disponíveis para novos tenants, mas os usuários já vinculados a eles permanecem ativos até uma alteração manual.

***

#### 3. Configuração Global de Gateway

Esta seção define o gateway de pagamento padrão utilizado no momento do cadastro (signup) de novos tenants, eliminando a necessidade de configurar individualmente cada cliente, a menos que haja uma exceção.

**Gateways suportados:**

* [Asaas](/configuracao-superadmin/tenants-e-licenca/planos/como-gerar-a-chave-api-no-asaas)
* [Stripe](/configuracao-superadmin/tenants-e-licenca/planos/como-configurar-a-integracao-de-planos-com-o-stripe)
* Pagarme
* Mercado Pago

**Como configurar:**

1. No bloco **"Configuração Global de Gateway"**, selecione o **Gateway Ativo** desejado.
2. Insira o **Token/API Key** fornecido pela sua conta no gateway escolhido.
3. Clique em **"Salvar Configuração Global"**.

***

#### 4. Gateway de Pagamento por Tenant

Caso precise definir uma conta de recebimento específica para um cliente determinado (diferente da configuração global):

1. Vá até o bloco **"Gateway de Pagamento"**.
2. No campo **Tenant**, selecione o cliente desejado na lista.
3. Escolha o **Gateway Ativo** para este cliente específico.
4. Insira o **Token** correspondente à conta que deve receber os pagamentos deste tenant.
5. Clique em **"Salvar Configuração"**.

***

### Utilizando a Página de Signup

Após criar os planos, você terá uma página pública para que seus clientes possam se cadastrar sozinhos.

* **URL da Página:** O endereço é o seu domínio de frontend, seguido por `/signup`.
  * *Exemplo:* `app.suaempresa.com.br/signup`
* **Como Funciona o Fluxo do Cliente:**
  1. O cliente acessa a sua página de signup.
  2. Ele preenche os dados cadastrais (nome, e-mail, telefone, senha).
  3. Ele seleciona um dos planos que você criou.
  4. Ao finalizar, o sistema realiza as seguintes ações automaticamente:
     * Cria um novo **Tenant** (cliente) no seu Z-PRO.
     * Cria um novo **Usuário Admin** para este tenant.
     * Cria um novo **Cliente** na sua conta do Gateway global.
     * Gera a primeira **cobrança de assinatura** para este cliente no Gateway global.

Página de signup:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fhx4SpvcOTwqwLhexwlhG%2Fimage.png?alt=media&amp;token=1f110ca4-5cac-4ac5-9584-ea694dcfc5c8" alt=""><figcaption></figcaption></figure>


# Como gerar a Chave API no Asaas

Para que a loja online passe a se comunicar com a sua conta Asaas, é necessário gerar a Chave API no Asaas para fazer a configuração.

Veja abaixo como fazer:

**1.** No painel do Asaas, no canto superior direito, clique sobre o **ícone de perfil**

**2.** Em seguida, clique em **Integrações**&#x20;

**3.** Em “Chaves de API”, clique em **Gerar chave de API ou Gerar nova chave de API** (caso já tenha gerado antes)

**4.** Na mensagem que aparecer na tela, **leia com atenção as informações** e clique em **Avançar**

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fv6y5pnrfXF4qSVEuEDj9%2F1%20Asaas.gif?alt=media&amp;token=204b22f4-eec2-4996-930e-9d8dc7071881" alt=""><figcaption></figcaption></figure>

**5.** Será necessário autorizar via SMS, clique em **Enviar código** e informe o **número** encaminhado ao celular

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FKA0hbps7QZ0j1FRX0gtz%2F2%20Asaas.gif?alt=media&amp;token=9de863f9-03f0-48ee-b09b-a5fc9fdc24ff" alt=""><figcaption></figcaption></figure>

**6.** Em seguida, clique em **Gerar chave de API** ou **Gerar chave nova de API**

**7.** Em “Chaves da API”, clique em **Copiar** - *E salve a chave gerada, ela deverá ser adicionada no painel superadmin, em planos > token asaas*


# Como configurar a integração de Planos com o Stripe

Esse guia mostra como gerar a chave API + configuração de webhook para que o Stripe atue como gateway de pagamento do sistema integrado de planos e pagamentos self-service do Z-PRO

{% hint style="warning" %}
**Existem duas formas de integrar o Stripe ao Z-PRO:**

* **Integração nativa** (este artigo): você conecta as chaves do Stripe no painel superadmin e o sistema de planos do Z-PRO cuida do fluxo de pagamento.
* **Integração via API**: você constrói o fluxo por fora (sua própria página de pagamento + sistema de orquestração dos webhooks/api, como o n8n por exemplo), sem conectar nenhuma chave stripe no superadmin. Nesse caso, quando houver eventos pagamento aprovado, pagamento atrasado, entre outros, basta chamar as rotas disponíveis no [Tenant API do Superadmin](https://ajuda.zdg.com.br/central-do-assinante/referencia-da-api/tenant-api#post-tenantapistoretenant), como  `/tenantApiStoreTenant` por exemplo.
  {% endhint %}

Para que o Z-PRO passe a se comunicar com a sua conta Stripe, é necessário gerar a Chave API no Stripe e configurar o webhook de pagamento para fazer a integração.

Veja abaixo como fazer:

**1.** Crie a sua conta no Stripe e acesse o painel em [dashboard.stripe.com](https://dashboard.stripe.com)

**2.** No painel do Stripe, vá até o menu **Desenvolvedores > Chaves da API**

**3.** Clique em **+ Criar chave secreta**

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F6S5ueYG5SCIi8buENznU%2Fimage.png?alt=media&amp;token=c82cae45-ab26-451f-8b35-0ac3afc4bce7" alt=""><figcaption></figcaption></figure>

**4.** Em “Como você usará esta chave”, escolha a opção **Alimentando uma integração que você criou**

**5.** **Copie o token secreto** gerado e salve no seu computador - *Ele deverá ser adicionado no painel do Z-PRO*

**6.** No painel do Z-PRO, acesse o menu **superadmin > Planos > Configuração Global de Gateway > Stripe** e cole o token secreto copiado

**7.** Nessa mesma aba, role a página para baixo até os **webhooks de pagamento** e **copie a URL do webhook do Stripe** - *Ela virá no formato:* `[seu_url_de_backend]/stripe/webhook`

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FvbbqSgkC70TYu36mXKD2%2Fimage.png?alt=media&amp;token=bb0d4b44-0fb2-4952-a9f7-bef689f1dc6d" alt=""><figcaption></figcaption></figure>

**8.** Volte ao painel do Stripe e vá até o menu **Desenvolvedores > Webhooks**, na opção **Crie um webhook**

![](https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FEgoiDwLAT8Y3alZSDhHZ%2Fimage.png?alt=media\&token=f4000aea-d629-4dbb-b600-011ff1957c53)

**9.** Marque os seguintes eventos:

* `invoice.paid`
* `invoice.payment_failed`
* `invoice.finalized`
* `invoice.marked_uncollectible`
* `customer.subscription.updated`
* `customer.subscription.deleted`

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fa5HjrPRxf7CuE0pJ2m4a%2Fimage.png?alt=media&amp;token=63c8e0a6-8575-4c4d-8918-53b943d6266e" alt=""><figcaption></figcaption></figure>

**10.** Clique em continuar, escolha a opção "webhook", adicione a **URL copiada no painel do Z-PRO** (`https://SEU_BACKEND/stripe/webhook`) e clique em **Criar**

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FTEyU4ml3uxacaEhHA3g2%2Fimage.png?alt=media&amp;token=54e66d4a-4654-4031-b87f-d10aa6f0e07f" alt=""><figcaption></figcaption></figure>

**11.** **Copie o Signing secret** (`whsec_…`) gerado pelo Stripe

**12.** Volte ao painel do Z-PRO, em **Planos**, e cole no campo **Stripe Webhook Secret** (logo abaixo da URL do webhook copiada) e **salve**

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FcFECwbWCJvvpGIvfnyYH%2Fimage.png?alt=media&amp;token=47d45659-97dc-40b9-b8a0-60c05fe5db8f" alt=""><figcaption></figcaption></figure>

Pronto! O Stripe já está integrado ao Z-PRO. Agora será necessário criar os seus planos de assinatura e vinculá-los a uma página de pagamento, para que o cliente selecione o plano, adicione os dados e seja redirecionado para o fluxo de pagamento do Stripe.


# Artigo: Usando o White-Label para Vários Clientes

Esta página é um guia completo para entender como o modelo White-Label do Z-PRO funciona em cenários com múltiplos clientes. O objetivo é esclarecer a relação entre sua licença, as instalações, a personalização de marca e as regras de uso da plataforma.

**A Dúvida Mais Comum:** "Posso configurar uma marca, logo e cores diferentes para cada um dos meus clientes?"

A resposta curta é: **uma instalação = uma marca**. Para ter marcas diferentes para clientes diferentes, você precisará de instalações separadas. Abaixo, detalhamos os dois modelos de operação possíveis.

***

### **Entendendo os Conceitos-Chave da Sua Licença**

Sua licença Z-PRO está atrelada a alguns conceitos fundamentais que definem como você pode estruturar seu negócio:

* **Uma Licença Anual:** Governa o seu direito de uso do software Z-PRO.
* **Um Domínio Principal:** Sua licença está associada a um domínio principal (ex: suaagencia.com). Todas as suas instalações devem operar em subdomínios deste domínio principal.
* **Múltiplas Instalações (VPS):** Sua única licença permite que você instale o Z-PRO em múltiplos servidores (VPS), desde que as regras de propriedade da infraestrutura sejam seguidas.
* **Múltiplos Clientes (Tenants):** O Z-PRO foi projetado para o modelo SaaS, permitindo que você crie contas de clientes (tenants) isoladas.
* **Uma Marca (White-Label) por Instalação:** A personalização de marca (logo, cores, nome) é definida no nível do Super Admin e se aplica a **toda aquela instalação** e a todos os tenants dentro dela.

***

#### **Cenário 1: O Modelo Centralizado (Uma Instalação, Vários Clientes, Uma Marca)**

Este é o modelo de operação mais comum e direto.

* **Como Funciona:** Você tem **uma única instalação** do Z-PRO em um único servidor (VPS). Dentro desta instalação, você cria múltiplos tenants, um para cada cliente seu.
* **Personalização:** Você configura o White-Label com a **sua própria marca** no painel Super Admin. Todos os seus clientes acessarão a plataforma através de um subdomínio seu (ex: app.suaagencia.com) e verão a sua marca.&#x20;

**Vantagens:**

* **Gestão Simplificada:** Você gerencia, atualiza e mantém um único servidor.
* **Custo de Infraestrutura Menor:** O custo se limita a um único VPS (que pode precisar de upgrade conforme o número de clientes cresce).

**Limitação:**

* Você não pode personalizar a marca para cada cliente individualmente. Todos verão a mesma marca (a sua).

***

#### **Cenário 2: O Modelo Distribuído (Várias Instalações, Vários Clientes, Várias Marcas)**

Este modelo oferece a máxima flexibilidade de personalização e é a solução para quem precisa oferecer a plataforma com a marca de cada cliente.

* **Como Funciona:** Você realiza **múltiplas instalações** do Z-PRO, cada uma em um **servidor (VPS) separado**. Cada instalação será dedicada a um único cliente final.

{% hint style="warning" %}
Você (o assinante) deve ser o proprietário ou o responsável direto pela infraestrutura (VPS) onde cada instalação está rodando
{% endhint %}

* **Personalização:** Como cada instalação tem seu próprio painel Super Admin, você pode configurar o White-Label de **cada instalação com a marca específica daquele cliente**.

**Exemplo:**

* **Instalação 1 (VPS 1):** Para o Cliente A. Acessível em clientea.suaagencia.com. Marca, logo e cores do Cliente A.
* **Instalação 2 (VPS 2):** Para o Cliente B. Acessível em clienteb.suaagencia.com. Marca, logo e cores do Cliente B.

**Vantagens:**

* **Personalização Total:** Cada cliente tem uma experiência 100% White-Label com sua própria marca.
* **Isolamento de Infraestrutura:** Cada cliente opera em um ambiente completamente isolado, o que pode ser um requisito de segurança para alguns.

**Pontos a Considerar:**

* **Custo de Infraestrutura Maior:** Cada instalação requer seu próprio VPS, multiplicando os custos.
* **Gestão Mais Complexa:** Você será responsável por manter e atualizar múltiplas instalações.

***

#### **A Regra de Ouro: Licenciamento e Propriedade da Infraestrutura**

A flexibilidade de múltiplas instalações está diretamente ligada aos nossos Termos de Uso, especificamente à cláusula de sublicenciamento.

{% hint style="danger" %}
**Aviso sobre Sublicenciamento e Propriedade**

Sua licença Z-PRO **pode ser usada em múltiplas instalações sem custo adicional**, contanto que duas condições sejam atendidas:

1. Todas as instalações operem sob subdomínios do **mesmo domínio principal** associado à sua licença.
2. **Você (o assinante) deve ser o proprietário ou o responsável direto pela infraestrutura (VPS)** onde cada instalação está rodando.

Não é permitido "revender" ou "transferir" a licença do software de forma avulsa. O que você vende é o **acesso a um serviço** que roda em uma infraestrutura gerenciada por você.
{% endhint %}

Para detalhes completos, consulte a seção 9 dos nossos Termos de Uso.\
[**→ Ler os Termos e Condições de Uso**](/diretrizes-e-politicas/termos-e-condicoes-gerais-de-uso-e-licenciamento)

***

<br>


# Configurações Superadmin

A seção de **Configurações** reúne os ajustes globais da instância feitos pelo Superadministrador: a identidade visual da plataforma, o servidor de e-mail para envios transacionais e o sistema de notificações internas para os usuários.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FwrlA9L8xZO1Fzq1TTGTl%2Fimage.png?alt=media&amp;token=f1b0d748-ea5a-477d-9eed-2ede663e7262" alt="" width="375"><figcaption></figcaption></figure>

***

### [Customizar (White Label)](/configuracao-superadmin/configuracoes/customizar-white-label)

Personalização completa da identidade visual da plataforma. Permite aplicar logotipo, cores e nome de marca próprios em toda a interface — transformando o Z-PRO em um produto com a identidade do assinante ou revendedor. Os tenants (clientes) visualizarão apenas a marca definida aqui.

***

### [E-mail — SMTP](/configuracao-superadmin/configuracoes/e-mail-smtp-do-tenant)

Configuração do servidor de e-mail utilizado pela plataforma para envios transacionais automáticos. Necessário para que os usuários consigam recuperar a própria senha pelo sistema. Sem esta configuração, o fluxo de redefinição de senha não funcionará.

***

### [Notificações Internas](/configuracao-superadmin/configuracoes/notificacoes-internas)

Central de comunicados do Superadministrador para todos os usuários da plataforma. Permite enviar avisos, alertas e mensagens em tempo real, com monitoramento de entrega e leitura por usuário.


# Customizar (White Label)

Personalize a aparência e configurações do sistema

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

O módulo de customização permite que o Superadministrador aplique a identidade visual de sua própria marca em toda a interface do sistema Z-PRO. Através do modelo **White Label**, é possível transformar a plataforma em um produto proprietário, garantindo que os tenants (clientes) visualizem apenas os logotipos, cores e nomes definidos pelo administrador.

As principais funções da customização são:

* **Identidade Visual:** Padronização de cores e logos em todos os níveis de acesso;
* **Branding Móvel:** Configuração de ícones para instalação via PWA (Progressive Web App);
* **Experiência de Usuário:** Definição de estilos de tela de login e alertas sonoros personalizados;
* **Gestão Educacional:** Inclusão de tutoriais em vídeo para autoatendimento dos clientes;
* **Administração Avançada:** Ferramentas de acesso emergencial (Masterkey) e encerramento de sessões (Force Logout).

{% hint style="info" %}
**Importante:** As configurações realizadas neste módulo possuem caráter global. Isso significa que todas as alterações de cores, branding, estilos de login e tutoriais serão aplicadas automaticamente a todos os tenants (clientes) cadastrados na plataforma, garantindo a padronização da sua marca em toda a infraestrutura do sistema.
{% endhint %}

***

#### 1. Acessando o Painel de Customização

Para iniciar as alterações, acesse o menu lateral do painel Superadmin e selecione a opção **"Customizar"**. O painel é dividido em abas que organizam cada aspecto da personalização.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F8Owc89EOBxLFjicd8W6b%2Fimage.png?alt=media&amp;token=7c9e4a16-5ba0-4e7c-a095-a59eaed00aea" alt="" width="375"><figcaption></figcaption></figure>

***

#### 2. Aba Cores

Nesta aba, define-se a paleta cromática que será aplicada em botões, menus e fundos do sistema.

* **Paletas Pré-definidas:** Opções de combinações de cores testadas (ex: Azul Padrão, Oceano, Floresta) para aplicação rápida.
* **Cores do Sistema (Manual):** Permite inserir códigos hexadecimais para cores específicas:
  * **Primária:** Cor principal de botões e links;
  * **Secundária:** Cor de menus e elementos de apoio;
  * **Destaque:** Cor para notificações e itens ativos;
  * **Status (Aviso, Positiva, Negativa):** Cores para alertas, sucessos e erros;
  * **Neutra e Clara:** Cores de fundos e textos.
* **Ação:** Clique em "Salvar" para aplicar ou "Resetar" para voltar ao padrão original.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FZzwDFU3a0qJz2f0y2gY4%2Fimage.png?alt=media&amp;token=d8cbac80-dff0-4a5d-a907-9fc23931837a" alt=""><figcaption></figcaption></figure>

***

#### 3. Aba Sons

Configuração dos alertas sonoros emitidos pelo sistema para diferentes tipos de interações.

* **Chat / Atendimento:** Som ao receber novos tickets ou mensagens de clientes;
* **Chat Interno:** Som para mensagens entre colaboradores da empresa;
* **Chat Suporte:** Som para mensagens diretas no canal de suporte.
* **Formatos aceitos:** MP3, OGG e WAV.
* **Importante:** Utilize arquivos leves (recomendado até 500 KB) para não impactar o carregamento das páginas.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FQJUJ3EGJcqhdopcdgaHO%2Fimage.png?alt=media&amp;token=af199057-6ccc-410f-86c8-51c0b925ac69" alt=""><figcaption></figcaption></figure>

***

#### 4. Aba Branding

Define a identidade da marca e a presença do aplicativo em navegadores e dispositivos móveis.

* **Nome do Aplicativo:** Nome exibido na aba do navegador e em notificações de sistema;
* **Logotipo (Claro/Escuro):** Versões da marca para exibição nos respectivos temas visuais do sistema;
* **Favicon:** Pequeno ícone exibido ao lado do título na aba do navegador;
* **Ícone PWA:** Imagem quadrada (mínimo 512x512 px) usada ao instalar o app no celular ou desktop. O sistema gera automaticamente os tamanhos necessários para Android e iOS.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FAPXPfVSjezVVD6nStjGE%2Fimage.png?alt=media&amp;token=da92e3af-75df-4b54-8b9f-c0338dba8968" alt=""><figcaption></figcaption></figure>

***

#### 5. Aba Login

Personalização visual da porta de entrada do sistema para todos os usuários.

* **Estilo de Tela:** Seleção entre **8 variantes visuais** (ex: Minimalista, Corporativo, Bold Hero, Glassmorphism).
* **Mídia Lateral:** Possibilidade de inserir uma imagem ou vídeo (JPG, PNG, MP4) que ocupará a lateral da tela de login nos estilos *Split Screen* ou *Bold Hero*.
* **Texto sobre a mídia:** Chave para habilitar a exibição do logotipo e descrição sobre o vídeo ou imagem lateral.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F8Ce6HeXURtsz8cYHfXqR%2Fimage.png?alt=media&amp;token=4830c884-fe1f-477c-80fd-c65c69802746" alt=""><figcaption></figcaption></figure>

***

#### 6. Abas de Ferramentas Administrativas

Configurações técnicas e de segurança para o Superadministrador.

* **Force Logout:** Permite selecionar um tenant específico e desconectar obrigatoriamente todos os seus usuários ativos. Útil após atualizações ou mudanças de política.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FjryhuKPt8VlqBxfQL4Gy%2Fimage.png?alt=media&amp;token=5050fb80-86d0-4ef7-aba8-5706f812675f" alt=""><figcaption></figcaption></figure>

* **Masterkey:** Ferramenta de acesso administrativo. Ao habilitar e gerar uma chave, o administrador pode acessar o painel de qualquer usuário utilizando o e-mail do usuário e a Masterkey no campo de senha.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FPXavUtTHZ9vUxKQ9m1aB%2Fimage.png?alt=media&amp;token=4fa5be6f-c4bd-4a6e-8d87-3f575a106dff" alt=""><figcaption></figcaption></figure>

* **Criptografia:** Geração da chave mestra para proteção de dados sensíveis no banco de dados.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FyPsMe5kBBYoBH9hAcpYA%2Fimage.png?alt=media&amp;token=391419bb-333b-4431-b607-01b6e2b1531c" alt=""><figcaption></figcaption></figure>

* **Socket (Otimização):** O **Modo Otimizado** deve ser ativado em instalações com alta carga (mais de 25 usuários simultâneos). Ele reduz a carga de consultas ao servidor através de técnicas de cache e debounce.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FTvpkcbA6Cl4jZYS00TKq%2Fimage.png?alt=media&amp;token=58a7876f-ca86-4330-b117-ec929edbbee3" alt=""><figcaption></figcaption></figure>

***

#### 7. Aba Tutoriais

Permite ao administrador criar uma biblioteca de vídeos para instruir os tenants sobre o uso da plataforma.

* **Cadastrando um Tutorial:** Clique em "Novo Tutorial", insira um título, descrição e o link do vídeo (YouTube/Vimeo).
* **Thumbnail:** Selecione uma imagem de capa para o vídeo.
* **Hierarquia:** Defina a ordem numérica em que os vídeos aparecerão para o cliente.
* **Visualização:** Uma vez ativos, os vídeos aparecem na aba "Tutoriais" do painel do usuário final, servindo como uma base de conhecimento White Label.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FNf209m2vIgGe1sH93Zdg%2Fimage.png?alt=media&amp;token=3e1bb520-9b5c-478f-ab15-579c8a8f0aaf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FdvCWJKUGX2zJR9WZBZoe%2Fimage.png?alt=media&amp;token=fa6fd2ce-a49c-4b1e-ba71-59abd237b79b" alt="" width="375"><figcaption></figcaption></figure>

***

#### Importante: Cache de Arquivos

Arquivos de branding e sons são servidos diretamente do servidor sem cache. Isso garante que as alterações entrem em vigor imediatamente após o salvamento, sem a necessidade de o usuário limpar o navegador.


# E-mail - SMTP do Tenant

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

### Introdução

A configuração do SMTP é um passo técnico essencial para permitir que sua plataforma Z-PRO envie e-mails transacionais automaticamente em seu nome.

Esta configuração é utilizada para o envio de e-mails transacionais do sistema, como **criação de usuário** e informações do **white-label** (nome da plataforma, logotipo, etc.). **Redefinição de senha não é enviada por este SMTP** — essa funcionalidade não está disponível por esse canal.

### Como acessar&#x20;

Para acessá-lo, clique no ícone de ***Configurações - Email*** no menu lateral do seu painel.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FxGkEnawgEgq8aIAAgG8J%2Fimage.png?alt=media&amp;token=b490be33-13ee-4ce6-9718-e7b78e306344" alt="" width="375"><figcaption></figcaption></figure>

Nessa seção você tem a opção das permissões para ativar a recuperação de senhas na tela de login:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fz7R9bQ8cNLUwsB2Za5Sa%2Fimage.png?alt=media&amp;token=3c6f8ad6-0c27-4ddf-a2bb-57fa66de8d4f" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="374">Tipo de Permissão</th><th>Descrição</th></tr></thead><tbody><tr><td>Habilitar SMTP</td><td>Quando ativo o sistema enviará informaçãos para o e-mail do usuário. Nesse caso, é necessário informar o servidor do e-mail, porta SMTP, usuário do e-mail e senha do e-mail.</td></tr><tr><td>Host SMTP</td><td>Servidor de email do seu host</td></tr><tr><td>Porta SMTP</td><td>Porta de acesso ao servidor SMTP</td></tr><tr><td>Usuário</td><td>Conta de e-mail</td></tr><tr><td>Senha</td><td>Senha do e-mail</td></tr><tr><td>Protocolo de Segurança (TLS/SSL)</td><td>Ativar protocolo seguro.</td></tr></tbody></table>

### Artigo: [Como recuperar a senha SMTP](/configuracao-superadmin/configuracoes/e-mail-smtp-do-tenant/como-recuperar-a-senha-smtp)


# Como recuperar a senha SMTP

#### 🔐 Para Contas Google (Gmail, Google Workspace) <a href="#ispasted" id="ispasted"></a>

1. **Acesse sua Conta Google:** Vá para [myaccount.google.com](https://myaccount.google.com/)
2. **Vá para Segurança:** No menu à esquerda, clique em **Segurança**.
3. **Verifique a 2FA:** Confirme se a "Verificação em duas etapas" está **Ativada**. Se não estiver, ative-a primeiro.
4. **Encontre Senhas de App:** Na seção "Como fazer login no Google", clique em **Senhas de app**. (Você talvez precise fazer login novamente).
5. **Selecione o App e o Dispositivo:**
   * No menu suspenso "Selecionar app", escolha o tipo de aplicativo (ex: "E-mail", "Contatos" ou "Outro (Nome personalizado)").
   * Em "Selecionar dispositivo", escolha o dispositivo (ex: "Computador Windows", "iPhone", etc.).
6. **Gerar:** Clique em **Gerar**.
7. **Use a Senha:** O Google mostrará a senha de 16 dígitos em uma caixa amarela.

> **Como usar:** Copie essa senha (sem os espaços) e cole-a no campo de senha do aplicativo que você está tentando configurar (ex: no Outlook, quando ele pede a senha do seu Gmail).

#### 🔐 Para Contas Microsoft (Hotmail, Outlook.com, Live)

1. **Acesse sua Conta Microsoft:** Vá para [account.microsoft.com](https://www.google.com/search?q=https://account.microsoft.com/)
2. **Vá para Segurança:** No menu superior, clique em **Segurança** e depois em **Opções de segurança avançadas**.
3. **Verifique a 2FA:** Confirme se a "Verificação em duas etapas" está ativada.
4. **Encontre Senhas de Aplicativo:** Role a página para baixo até a seção **Senhas de aplicativo**.
5. **Gerar:** Clique em **Criar uma nova senha de aplicativo**.
6. **Use a Senha:** A Microsoft exibirá a senha de 16 dígitos.


# Notificações internas

Envio de notificações para todos os usuários do sistema

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

O módulo de **Notificações Internas** funciona como uma central de comunicados e alertas emitida pelo Superadministrador para os usuários da plataforma. Ele permite não apenas o envio de avisos, mas também o monitoramento em tempo real de quem recebeu e se a mensagem já foi visualizada.

***

#### 1. Acessando a Página de Notificações

No menu lateral do painel Superadmin, localize a sessão de configurações e selecione a aba **"Notificação"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FxkhtbfOF4xiRkpQiXnsj%2Fimage.png?alt=media&amp;token=ffaf10a5-673b-4b71-b401-08630210736a" alt="" width="375"><figcaption></figcaption></figure>

***

#### 2. Entendendo a Listagem de Notificações

A tela principal exibe o histórico detalhado de todas as notificações disparadas. Cada linha representa o recebimento da mensagem por um usuário específico:

* **ID:** Identificador único da notificação no banco de dados;
* **Mensagem:** O conteúdo do texto enviado;
* **Usuário:** O nome do colaborador ou administrador que recebeu o aviso;
* **Lida:** Status de visualização. Exibe **"Não"** (em laranja) se o usuário ainda não abriu a notificação, e **"Sim"** após a leitura;
* **Data:** Carimbo de data e hora exata em que a notificação foi gerada.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FU3DVseV4kw5J2EqxzaNO%2Fimage.png?alt=media&amp;token=ad986c42-0fde-4466-93ed-fb28f9bc8708" alt=""><figcaption></figcaption></figure>

***

#### 3. Criando uma Nova Notificação

Para emitir um novo comunicado:

1. Clique no botão **"+ Adicionar"** no canto superior direito.
2. Na janela pop-up, preencha o campo **"Mensagem"** com o conteúdo desejado.
3. Clique em **"Salvar"**.

**Comportamento:** O sistema processará o envio e a mensagem aparecerá instantaneamente (ou no próximo login) para os usuários. Na listagem do Superadmin, novas entradas serão criadas para cada usuário destinatário com o status "Lida: Não".

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fy0VsLBBzLObTRQZC1Bgo%2Fimage.png?alt=media&amp;token=0e18f495-d89b-4617-94dc-99e38009e513" alt="" width="375"><figcaption></figcaption></figure>

***

#### 4. Ações e Gestão de Histórico

O administrador possui controle total sobre as mensagens enviadas através dos seguintes comandos:

* **Editar (Ícone Lápis):** Permite corrigir o texto de uma notificação já enviada;
* **Excluir (Ícone Lixeira):** Remove o registro de notificação de um usuário específico;
* **Atualizar:** Recarrega a tabela para verificar mudanças no status de leitura ("Lida");
* **Excluir Todas:** Botão vermelho que limpa todo o histórico de notificações do sistema para todos os usuários.


# Canais Superadmin

Esta seção reúne as configurações de canais e integrações que se aplicam a toda a instância — não a um tenant específico. São as credenciais e parâmetros globais que os tenants utilizam ao conectar seus próprios canais.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F32zVeWZCpD9bXlDfio5E%2Fimage.png?alt=media&amp;token=d3ccc774-4d3e-42bf-ba90-ca25d413afba" alt=""><figcaption></figcaption></figure>

***

### [Tenant API (superadmin)](/configuracao-superadmin/canais-superadmin/tenant-api-superadmin)

Configurações da API expostas no nível da instância para integração e automação externas.

***

### [Canais Superadmin](/configuracao-superadmin/canais-superadmin)

Visão consolidada de todas as sessões de canais ativas em todos os tenants da instância. Permite monitorar o status de conexão de cada canal em tempo real sem precisar acessar cada tenant individualmente.

***

### [Domínio OAuth](/configuracao-superadmin/canais-superadmin/dominio-oauth-customizado)

Define o domínio próprio utilizado no fluxo de autenticação OAuth da instância. Necessário quando o white-label exige que o login via Meta seja feito através do domínio da sua marca.

***

### [Provedores de IA (Globais)](/configuracao-superadmin/canais-superadmin/provedores-globais)

Cadastro das chaves de API de inteligência artificial (OpenAI, Gemini, Groq, etc.) no nível da instância. Quando configuradas aqui, ficam disponíveis para todos os tenants sem que cada um precise inserir suas próprias credenciais.


# Tenant API - Superadmin

API para Criação de Tenants

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

A **Tenant API** é uma interface que permite ao Superadministrador gerenciar a criação e a manutenção de instâncias (tenants) de forma programática, sem a necessidade de intervenção manual no painel. Através desta API, sistemas externos podem se comunicar com o Z-PRO para automatizar o ciclo de vida dos clientes.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FPxX7ho1kF0BmYwghbdi2%2Fimage.png?alt=media&amp;token=894d5940-58b8-437a-ac72-3a1a4ba9d925" alt=""><figcaption></figcaption></figure>

As principais funções da Tenant API são:

* **Provisionamento Automático:** Criação de novos tenants e usuários administradores;
* **Gestão de Sessões:** Geração de chaves de acesso para instâncias específicas;
* **Sincronização de Dados:** Atualização e listagem de tenants para auditoria externa;
* **Integração com Billing:** Ativação ou suspensão de clientes via sistemas de cobrança terceiros.

**Caso de Uso:** Uma empresa que utiliza um CRM ou uma plataforma de vendas (como Hotmart, Kiwify ou site próprio) pode configurar um Webhook para que, assim que um novo pagamento for aprovado, o sistema chame a **Tenant API** do Z-PRO. Isso garante que o cliente receba seus dados de acesso instantaneamente, sem que o Superadministrador precise criar a conta manualmente.

***

#### 1. Gerenciando Tokens de API

Para utilizar os endpoints, é necessário gerar um token de autenticação seguro.

1. No menu lateral do painel Superadmin, localize a sessão **"TENANTS E LICENCIAMENTO"** e acesse a aba **"Tenant API"**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FovkvrG89y5m25r4rp1zJ%2Fimage.png?alt=media&amp;token=d1a4086e-a451-4c4c-8c46-a97448807218" alt="" width="375"><figcaption></figcaption></figure>

1. Clique no botão **"+ Nova API"** no canto superior direito.
2. Na janela pop-up, clique no ícone de **"Sincronizar/Gerar"** (setas circulares) para que o sistema crie um token aleatório e seguro.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FaFOkBCj5L4MHG2X5R6m5%2Fimage.png?alt=media&amp;token=dcc383c0-7a26-4501-8ca3-cb3851b71239" alt="" width="375"><figcaption></figcaption></figure>

3. Clique em **"Salvar"**.

**Aviso de Segurança:** O token gerado é a chave de acesso à infraestrutura do seu sistema. Copie e armazene-o em um local seguro. Ele será exibido de forma ofuscada na listagem por motivos de segurança.

***

#### 2. Sandbox e Testes de Endpoints

O sistema oferece um ambiente de **Sandbox** integrado para que o administrador realize testes de requisição diretamente na interface antes de implementar o código em produção.

* **Seleção de Token:** No campo "Sandbox", selecione o token que você acabou de criar.
* **Base URL:** O sistema exibirá a URL base da sua instalação para as chamadas de API (ex: `https://api.seusistema.com.br`).
* **Autenticação:** Todas as chamadas devem conter o header `Authorization: Bearer {apiToken}`.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FLT8dioq5lPx6MLofGT1j%2Fimage.png?alt=media&amp;token=ff3d338b-04a9-451d-882f-602a0d1c679a" alt=""><figcaption></figcaption></figure>

***

#### 3. Rotas Disponíveis (Endpoints)

A API disponibiliza 5 endpoints principais para a gestão de tenants:

**\[POST] /tenantApiStoreTenant**

Utilizado para criar um novo tenant e, simultaneamente, o seu usuário administrador inicial.

* **Campos obrigatórios no Body (JSON):** Nome da empresa, e-mail do admin, senha, CPF/CNPJ (identity) e perfil.
* **Configurações de limites:** Permite definir via API o `maxUsers` (limite de usuários) e `maxConnections` (limite de conexões de WhatsApp) que o cliente terá.

**\[POST] /tenantApiUpdateTenant**

Permite atualizar os dados de um tenant existente, como alterar o status para `inactive` em caso de inadimplência ou aumentar seus limites de uso.

**\[POST] /tenantApiShowTenant**

Retorna os detalhes técnicos de um tenant específico através de sua identificação.

**\[POST] /tenantApiCreateSession**

Gera uma sessão de acesso para o tenant, permitindo integrações de login único ou comandos diretos na instância.

**\[GET] /tenantApiListTenants**

Lista todos os tenants cadastrados no sistema, facilitando a conferência de dados e status de toda a base.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F4jV78m99aXZCXUeh2I2I%2Fimage.png?alt=media&amp;token=74faaeff-ba3a-4d7c-b7bf-92e078026bd3" alt=""><figcaption></figcaption></figure>

***

#### 4. Implementação Técnica

Ao expandir qualquer uma das rotas na interface, o Z-PRO exibe o exemplo exato do **Body (JSON)** necessário para a requisição. Certifique-se de que o sistema externo envie os dados exatamente conforme o modelo proposto para evitar erros de validação.

#### Tópicos Relacionados

* [Gerenciamento de Tenants](https://ajuda.zdg.com.br/configuracao-superadmin/tenants-e-licenca/gestao-de-clientes-tenants)
* [Configuração de Planos e Trial](https://ajuda.zdg.com.br/configuracao-superadmin/tenants-e-licenca/planos-e-trial)


# Canais Superadmin (Sessões dos Tenants)

Gerencie as sessões/canais de todos os tenants

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

A página de **Sessões dos Tenants** é o centro de monitoramento técnico do Superadministrador. Ela oferece uma visão macro e em tempo real de todas as conexões (instâncias) ativas na plataforma, independentemente do tenant ao qual pertencem. Através desta tela, é possível auditar a saúde das conexões de WhatsApp, Telegram, Webchat e outros canais.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FnTcRejrFD04UEQYKT5Zd%2Fimage.png?alt=media&amp;token=d6d29143-26ff-46f8-a2fb-de50aee6afa0" alt="" width="224"><figcaption></figcaption></figure>

As principais funções da supervisão de canais são:

* **Monitoramento de Uptime:** Identificação imediata de quantas sessões estão online ou offline em toda a infraestrutura;
* **Diagnóstico de Falhas:** Verificação de erros de conexão (ex: QR Code pendente ou desconexão) sem precisar acessar o painel individual do cliente;
* **Gestão de Recursos:** Exclusão de sessões inativas ou desnecessárias para otimização do servidor;
* **Organização por Provedor:** Agrupamento de sessões por tecnologia (Baileys, WABA, Evolution, etc.) para análise de estabilidade por tipo de canal.

**Caso de Uso:** Se um Superadministrador percebe uma instabilidade em uma tecnologia específica (ex: Evolution), ele pode utilizar o agrupamento por provedor nesta página para verificar se todas as sessões daquele tipo caíram simultaneamente, facilitando a identificação de problemas globais de API ou servidor.

***

#### 1. Indicadores de Status (Dashboard)

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FBOVDpchmUfAFUdHlT9TS%2Fimage.png?alt=media&amp;token=ef1d3db9-ea77-4f36-bb7a-3412b71d1ab0" alt=""><figcaption></figcaption></figure>

No topo da página, quatro cards fornecem um resumo quantitativo da operação:

* **Total de Sessões:** Soma de todas as conexões criadas no sistema;
* **Conectadas:** Sessões que estão online e operacionais (Status: `CONNECTED`);
* **Desconectadas:** Sessões que perderam o vínculo ou foram desconectadas manualmente (Status: `DISCONNECTED`);
* **Outros Status:** Sessões em estados intermediários, como aguardando leitura de QR Code ou em processo de inicialização.

***

#### 2. Visualização e Agrupamento

Dada a grande volumetria de dados, o sistema oferece três modos de exibição através do botão de **Agrupamento**:

1. **Sem Agrupamento:** Exibe uma lista linear de todas as sessões por ordem de criação;
2. **Por Tenant:** Agrupa as conexões dentro de blocos correspondentes a cada empresa cliente. Ideal para verificar a saúde de um cliente específico;
3. **Por Provedor:** Organiza as sessões pelo tipo de tecnologia (ex: Baileys, Meow, Telegram, Webchat). Útil para auditorias técnicas de infraestrutura.
4.

```
<figure><img src="/files/mCbxSElnNYPCE2uSLynL" alt=""><figcaption></figcaption></figure>
```

***

#### 3. Entendendo a Tabela de Sessões

A listagem detalha as seguintes informações técnicas:

* **ID:** Identificador numérico da sessão;
* **Nome:** Nome atribuído à conexão pelo usuário;
* **Tipo:** A tecnologia/provedor utilizada (Waba, Baileys, Zapi, Telegram, etc.);
* **Número:** O identificador do canal (número de telefone ou ID da conta);
* **Tenant:** O ID da empresa proprietária daquela sessão (ex: Tenant 1 é a conta mestre);
* **Status:** Estado atual da conexão (ex: `CONNECTED`, `DISCONNECTED`, `qrcode`);
* **Padrão:** Indica se aquela é a conexão principal definida para o tenant;
* **Proxy:** Exibe se a sessão está utilizando um túnel de IP específico para a conexão.

***

#### 4. Ações Administrativas

* **Atualizar:** O botão **"Atualizar"** no canto superior direito recarrega o status de todas as sessões, garantindo que o administrador veja a situação exata do momento.
* **Excluir Sessão:** Ao clicar no menu de **três pontos (⋮)** ao final de cada linha, o administrador pode excluir a sessão permanentemente.
  * **Importante:** Esta ação é definitiva e removerá a instância do banco de dados, sendo necessário que o tenant configure o canal novamente caso deseje restabelecê-lo.

***


# Domínio OAuth Customizado

{% hint style="warning" %}
**Disponível para o perfil:** Superadmin
{% endhint %}

A página de **Domínio OAuth Customizado** permite que a empresa personalize a URL de redirecionamento utilizada nos processos de autorização de aplicativos externos. Esta é uma funcionalidade permite que os usuários finais visualizem o domínio da sua própria marca (ex: `oauth.suaempresa.com.br`) na barra de endereços ao autorizar integrações em vez de utilizar o domínio padrão do sistema.

#### Caso de uso

Uma empresa que revende a solução Z-PRO como um serviço próprio (White-label) deseja que, ao conectar um Canal oficial, o cliente veja a URL da revendedora no modal de login do Facebook. Ao configurar o domínio customizado, a empresa elimina referências técnicas externas, aumentando a credibilidade e a confiança do usuário final no processo de autenticação.

#### Como acessar a página

Clique no Menu **Configurações**, subitem **Administração** e na aba **Domínio OAuth**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F0X3PTSVWmHdUgVTrHqCx%2Fimage.png?alt=media&amp;token=7958c569-df31-4040-a250-58b656053969" alt="" width="227"><figcaption></figcaption></figure>

***

#### Detalhamento e Passo a Passo por Seção

Abaixo, os campos e procedimentos estão divididos conforme a organização da tela:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FuhSEgME2xZQDnGIs0oSL%2Fimage.png?alt=media&amp;token=efd60efb-a97a-459d-b87b-50ef2f2d4fc6" alt=""><figcaption></figcaption></figure>

**1. Configuração de Subdomínio**

Esta seção é responsável pelo apontamento técnico do seu endereço customizado.

* **Campo Subdomínio:** Insira o subdomínio completo que você deseja utilizar (Exemplo: `oauth.minhaempresa.com`).
* **Procedimento de Uso:**
  1. Antes de preencher este campo, acesse o seu provedor de DNS (Cloudflare, GoDaddy, etc.).
  2. Crie um registro do tipo **CNAME** apontando o subdomínio escolhido para `cname.techprovider.com.br`.
  3. No painel Z-PRO, insira o endereço no campo e clique no botão **Validar**.
  4. Após a validação bem-sucedida, clique em **Salvar**.

**2. Proxy Secret (x-proxy-secret)**

Configura a chave de segurança compartilhada essencial para o registro de webhooks em provedores externos.

* **Campos Secret Configurado / Novo Proxy Secret:** Exibe o status da chave atual e permite a inserção de uma nova sequência.
* **Procedimento de Uso:**
  1. Crie uma chave de segurança forte (mínimo de 32 caracteres).
  2. Insira no campo **Novo proxy secret**.
  3. Clique em **Salvar Secret**.
  * **Importante:** Este valor deve ser idêntico ao definido na variável `REGISTRY_SECRET` do seu servidor proxy. Ele é usado ao chamar endpoints de registro do WABA, Instagram, Messenger, WooCommerce, entre outros.

**3. Verificação de Saúde**

Área de diagnóstico para garantir que todas as camadas da integração estão operacionais.

* **Campos Proxy e Licença:** Exibem "OK" e "Válida" quando o sistema está operando corretamente.
* **Procedimento de Uso:**
  1. Sempre que realizar uma alteração ou notar falhas em autorizações OAuth, clique no botão **Verificar agora**.
  2. O sistema checará se o proxy está respondendo, se o CNAME está propagado e se a licença do tenant permite o uso do domínio customizado.

***

#### Detalhamento Técnico e Avisos

{% hint style="warning" %}
**Atualização de Redirect URIs:** Após salvar e validar seu novo domínio nesta página, você deve obrigatoriamente acessar os consoles de desenvolvedor de cada provedor (LinkedIn Developer, Google Cloud, TikTok DevPortal, etc.) e atualizar o campo **Redirect URI** para utilizar o seu novo domínio customizado.
{% endhint %}

**URLs padrão para configuração no App da Meta**

Ao configurar o App no Facebook Developers (Meta), insira os seguintes valores nos campos correspondentes:

**URIs de redirecionamento do OAuth válidos**

* `https://oauth.techprovider.com.br/waba-signup`
* `https://oauth.techprovider.com.br/instagram-signup`
* `https://oauth.techprovider.com.br/facebook-signup`

**Domínios permitidos para o SDK do JavaScript**

* `https://oauth.techprovider.com.br`

{% hint style="info" %}
Se você configurou um **domínio OAuth customizado**, substitua `oauth.techprovider.com.br` pelo seu próprio subdomínio em todas as URLs acima e atualize esses campos no console do Facebook Developers.
{% endhint %}

{% hint style="danger" %}
**Atenção:**

1. A propagação do DNS pode levar até **48 horas**.
2. Os certificados TLS (HTTPS) são emitidos automaticamente na primeira conexão.
3. Se a sua licença expirar ou o CNAME parar de apontar para o proxy, o domínio customizado será removido automaticamente na revalidação periódica (feita a cada 3 dias).
   {% endhint %}


# Provedores Globais

{% hint style="warning" %}
**Disponível para o perfil: Superadministrador**
{% endhint %}

O módulo de **Provedores de IA** permite que o Superadministrador centralize e gerencie as integrações com serviços de Inteligência Artificial que serão utilizados em toda a plataforma. Essas configurações são essenciais para habilitar recursos avançados como a transcrição de áudio em tempo real e o processamento de linguagem para chatbots.

O principal objetivo desta funcionalidade é garantir a **segurança e a praticidade**: ela evita que você exponha dados sensíveis (como URLs de Host e Tokens) no painel de cada cliente. Você configura a integração uma única vez no Superadmin e apenas libera o uso para as empresas (Tenants).

As principais funções dos provedores de IA são:

* **Transcrição de Áudio:** Conversão automática de mensagens de voz em texto;
* **Chatbots Inteligentes:** Integração com modelos de linguagem (LLMs) para respostas automatizadas;
* **Automações:** Processamento de comandos e dados via IA nos fluxos de atendimento;
* **Distribuição Flexível:** Possibilidade de oferecer o recurso de forma global ou apenas para clientes específicos.

**Caso de Uso:** Um administrador pode configurar uma chave da GroqCloud como "Global". Com isso, todos os tenants (clientes) do sistema ganham automaticamente o recurso de transcrição de áudio, melhorando a produtividade dos atendentes que não precisam ouvir áudios longos.

***

#### 1. Acessando a Página de Provedores

No menu lateral do painel Superadmin, localize a sessão de integrações e selecione a aba **"Provedores de IA"**. A tela exibe a listagem de todos os serviços configurados, indicando o status de atividade e a abrangência (Global ou por Tenant).

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FZ0ZZ4iBs2dqokzDEtMEr%2Fimage.png?alt=media&amp;token=ac221fa9-7550-45b9-8416-8e28018af1af" alt="" width="230"><figcaption></figcaption></figure>

#### Formas de Conexão

O sistema permite que a conexão de canais (como Uazapi, Z-API ou Evolution) seja feita de duas formas distintas:

1. **Com Provedor Global:** Você (Superadmin) cadastra o Host e o Token único do serviço de API uma única vez nesta tela. Quando o cliente (Tenant) for adicionar um número no painel dele, ele apenas selecionará o provedor configurado, dará um nome ao canal e lerá o QR Code. O cliente não precisa preencher configurações avançadas nem tem acesso ao seu Token.
2. **Sem Provedor Global (Configuração Individual):** Caso não utilize um provedor global, o Administrador de cada empresa (Tenant) precisará inserir manualmente a URL do Host e o Token correspondente na tela de criação de canais, para só então realizar a leitura do QR Code.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2F2aZqjucpT6sn8NmrINOi%2Fimage.png?alt=media&amp;token=9d2ea868-962a-4f9a-a41f-103829bfd452" alt=""><figcaption></figcaption></figure>

***

#### 2. Cadastrando um Novo Provedor

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FPt3gtVU6VmI5j4ReYOGV%2Fimage.png?alt=media&amp;token=1d503c4d-8017-4186-bbca-3c1a18d52ad5" alt="" width="375"><figcaption></figcaption></figure>

Para adicionar uma nova integração de IA:

1. Clique no botão **"+ Novo Provedor"** no canto superior direito.
2. Preencha os campos obrigatórios:

* **Nome:** Identificação interna do provedor (ex: "Servidor Uazapi Principal").
* **Tipo de Provider:** Selecione o canal ou serviço correspondente (ex: Z-API, Uazapi, WABA, GroqCloud, etc.).

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FSLU083aYyou8dFRpJH6x%2Fimage.png?alt=media&amp;token=7635d811-7a70-4767-b950-e47e1dfbab85" alt="" width="191"><figcaption></figcaption></figure>

* **Host:** A URL base ou endereço do servidor da API externa.
* **Token:** A chave de segurança fornecida pelo serviço externo.
* **Ativo:** Define se o provedor está ligado ou desligado.
* **Disponível para todos os tenants:**&#x20;

  * **Ativado:** Todos os clientes cadastrados na sua plataforma poderão utilizar esta conexão.
  * **Desativado:** A configuração será restrita e você precisará definir manualmente quais tenants terão acesso (veja a seção de Gerenciamento abaixo).

  3 Clique em **"Salvar"**.

***

#### 3. Configuração Específica: GroqCloud (Transcrição)

O **GroqCloud** possui um formulário específico para lidar com modelos de linguagem e transcrição de áudios (ex: Whisper). Ao selecionar "GroqCloud" no campo *Tipo de Provider*, a tela exibirá os seguintes campos:

* **GroqCloud Habilitado:** Chave principal para ligar ou desligar a integração.
* **API Key do GroqCloud:** Insira a chave gerada no painel de desenvolvedor da Groq.
* **Idioma do GroqCloud:** Defina o idioma padrão para as transcrições (ex: `pt`, `en`, `es`).
* **Modelo do GroqCloud:** Especifique o modelo que realizará o processamento (ex: `whisper-large-v3`, `whisper-large-v2`).

As opções de "Ativo" e "Disponível para todos os tenants" seguem o mesmo comportamento dos provedores de comunicação.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Fgs70yWsWyORa0MvHuCZ2%2Fimage.png?alt=media&amp;token=7555f680-ee47-48d3-a0b5-afcb7f17e313" alt="" width="375"><figcaption></figcaption></figure>

***

#### 4. Gestão e Ações (Menu ⋮)

Ao final de cada linha na listagem de provedores, o menu de **três pontos (⋮)** oferece as seguintes opções de gerenciamento:

* **Editar:** Permite alterar o nome, a URL do host ou atualizar o Token/API Key do provedor;
* **Gerenciar Tenants:** Esta opção fica disponível quando o provedor **não é global**. Ela permite que o administrador selecione manualmente quais tenants específicos terão permissão para utilizar aquele provedor de IA;
* **Excluir:** Remove permanentemente o provedor do sistema. **Atenção:** Caso o provedor esteja em uso em chatbots ou automações, essas funções deixarão de operar imediatamente após a exclusão.

***

#### Importante: Múltiplos Provedores

O sistema permite cadastrar múltiplos provedores do mesmo tipo. Isso possibilita, por exemplo, ter uma chave da GroqCloud para uso global e outras chaves específicas para tenants que possuem alto volume de tráfego e desejam arcar com seus próprios custos de API.

***


# Facebook Login incorporado (waba/insta/messenger)

## Login do Facebook Incorporado (WABA)

A funcionalidade de **Login do Facebook** permite que seus clientes conectem contas de WhatsApp Business API (WABA) ao Z-PRO de forma simplificada.

Ao configurar seu aplicativo da Meta no Superadmin, o cliente final não precisará gerar tokens manuais. Ele apenas clicará em um botão "Logar com Facebook", aceitará as permissões e selecionará os números disponíveis para criar o canal.

**Vídeo Tutorial:**

{% embed url="<https://www.youtube.com/watch?v=0Whyjg5VHec>" %}

***

### Parte 1: Configuração na Meta (Facebook Developers)

Para que o login funcione, você precisa configurar um aplicativo no painel de desenvolvedores do Facebook.

#### 1. Criar e Configurar o App

1. Acesse [developers.facebook.com](https://developers.facebook.com) e crie um aplicativo do tipo **Empresa (Business)**.
2. No painel do app, vá em **Configurações Básicas** e copie o **ID do Aplicativo** e a **Chave Secreta (App Secret)**. Você precisará deles depois.
3. Adicione o domínio do seu Z-PRO (onde o front-end roda) no campo **Domínios do Aplicativo**.

#### 2. Adicionar o Produto "Login do Facebook"

1. No menu lateral ou em "Adicionar Produto", selecione **Login do Facebook**.
2. Vá em **Configurações** (dentro de Login do Facebook).
3. Ative a opção **Login com o SDK do JavaScript**.
4. Em **Domínios permitidos para o SDK do JavaScript**, insira o domínio do seu painel (ex: `https://app.seusistema.com.br`).
5. **IMPORTANTE:** No campo **URIs de redirecionamento do OAuth**, adicione o caminho do arquivo de embed: `https://app.seusistema.com.br/facebook_embed_signup.html` *(Substitua `app.seusistema.com.br` pelo seu domínio real).*

#### 3. Configurar Permissões e Casos de Uso

Dependendo da versão do painel da Meta, vá em **Revisão do App > Permissões e Recursos** ou **Casos de Uso**. Certifique-se de adicionar e conceder acesso avançado (ou standard para testes) às seguintes permissões:

* `email`
* `public_profile`
* `whatsapp_business_management`
* `business_management`

#### 4. Configuração do Cadastro Incorporado (Embedded Signup)

1. Adicione o produto **WhatsApp** ao seu app.
2. Vá em **Configuração > Cadastro Incorporado**.
3. Crie uma nova configuração (Config ID).
4. Selecione as permissões citadas acima e marque a opção **"Token nunca expira"**.
5. Ao salvar, ele gerará um código de **Config ID**. Copie este número.

#### 5. Gerar Token do Sistema (Business Manager)

1. Acesse o **Gerenciador de Negócios** (Business Manager) vinculado ao app.
2. Vá em **Usuários > Usuários do Sistema**.
3. Adicione um usuário (se não houver) e clique em **Gerar Novo Token**.
4. Selecione o Aplicativo que você criou.
5. Marque as permissões (`whatsapp_business_management`, `business_management`) e gere o token.
6. Copie este token (ele é o Token Permanente do Sistema).

***

### Parte 2: Configuração no Z-PRO (Superadmin)

Agora que você tem os dados da Meta, vamos configurar no seu sistema.

1. Acesse o painel **Superadmin** do Z-PRO.
2. No menu lateral, localize a opção **Apps WABA** (ou Configurações do Facebook).
3. Clique em **Adicionar** e preencha os campos com os dados obtidos na Parte 1:
   * **App ID:** (Copiado da Configuração Básica).
   * **App Secret:** (Copiado da Configuração Básica).
   * **Token:** (Gerado no Business Manager - Usuário do Sistema).
   * **Config ID:** (Gerado no Cadastro Incorporado do WhatsApp).
   * **Versão da API:** Utilize a versão atual (ex: `v21.0` ou a mais recente disponível no seu app Meta).
4. Salve a configuração.

***

### Parte 3: Como o Cliente Utiliza (Tenant)

Com tudo configurado, o processo para o seu cliente é extremamente simples:

1. O cliente acessa o painel da empresa dele (Admin).
2. Vai em **Configurações > Integrações**.
3. Na sessão do Facebook/Meta, ele verá o botão **"Login com Facebook"** (ou "Continuar com Facebook").
4. Ao clicar, abrirá um popup da Meta pedindo autorização.
5. Após autorizar, o sistema listará as contas de WhatsApp Business vinculadas ao usuário.
6. O cliente seleciona a conta e o número desejado.
7. O sistema cria o canal **WABA** automaticamente, pronto para uso.

{% hint style="warning" %}
**Nota sobre Permissões:** Se o cliente encontrar erros ao logar, verifique se o seu Aplicativo na Meta está no modo **"Ao Vivo" (Live)** e se o "Acesso à Empresa" foi concluído. Apps em modo de "Desenvolvimento" só funcionam para administradores do próprio app.
{% endhint %}


# Redes Sociais e Marketplaces

Aqui são registrados os **Apps** das plataformas externas que precisam ser configurados no nível do superadmin para ficarem disponíveis aos tenants. Cada item representa um aplicativo cadastrado diretamente na plataforma de origem (Meta, Google, TikTok, etc.) e conectado à instância Z-PRO.

{% hint style="info" %}
Essas configurações são feitas uma única vez pelo superadmin. Após configuradas, os tenants conseguem conectar seus próprios canais sem precisar registrar um App próprio.
{% endhint %}

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FgB3pPVsQDAOrunOKURXm%2Fimage.png?alt=media&amp;token=3799f3ec-dc23-4a86-9205-5081ddc9a472" alt=""><figcaption></figcaption></figure>

***

### [App WABA](/configuracao-superadmin/redes-sociais-e-marketplaces/app-waba-superadmin)

Registra o aplicativo da API Oficial do WhatsApp Business (Meta) na instância. Necessário para que os tenants conectem números WABA via Login Incorporado.

***

### [App Google](/configuracao-superadmin/redes-sociais-e-marketplaces/google-superadmin)

Configura o App Google para habilitar integrações que dependem de autenticação OAuth do Google — como Google Calendar, Google Drive e login social.

***

### [App LinkedIn](/configuracao-superadmin/redes-sociais-e-marketplaces/linkedin-superadmin)

Registra o App LinkedIn para habilitar o canal de mensagens do LinkedIn nos tenants.

***

### [App TikTok](/configuracao-superadmin/redes-sociais-e-marketplaces/tiktok-superadmin)

Configura o App TikTok para habilitar o atendimento de comentários e DMs do TikTok nos tenants.

***

### [App Mercado Livre](/configuracao-superadmin/redes-sociais-e-marketplaces/mercado-livre-superadmin)

Registra o App Mercado Livre para habilitar o atendimento de perguntas e mensagens de compradores diretamente na plataforma.

***

### [App Nuvemshop](/configuracao-superadmin/redes-sociais-e-marketplaces/nuvemshop-superadmin)

Configura o App Nuvemshop para integrar lojas e habilitar o atendimento de pedidos e clientes de e-commerce via Nuvemshop.

***

### [App OLX](/configuracao-superadmin/redes-sociais-e-marketplaces/olx-superadmin)

Configura o App OLX para integrar anúncios e conversas da OLX ao atendimento dos tenants.

***

### [App Rocket.Chat](/configuracao-superadmin/redes-sociais-e-marketplaces/rocket.chat-superadmin)

Configura a integração com o Rocket.Chat para uso nos tenants da instância.

***

### [App WooCommerce](/configuracao-superadmin/redes-sociais-e-marketplaces/woocommerce-superadmin)

Registra o App WooCommerce para conectar lojas e habilitar o atendimento de pedidos e clientes de e-commerce.


# Google - Superadmin

Funcionalidade em Beta

{% hint style="info" %}
**Disponível para o perfil:** Super Administrador
{% endhint %}

Configure as credenciais OAuth 2.0 do Google. Um único app no Google Cloud Console cobre Gmail, Calendar e YouTube simultaneamente.

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

***

#### Como acessar

No painel Super Admin, acesse **Configurações → Apps Google**.

***

#### Como configurar

1. Acesse [console.cloud.google.com](https://console.cloud.google.com/) e crie um projeto
2. Habilite **Gmail API + Google Calendar API + YouTube Data API v3** no **mesmo projeto**
3. Crie credenciais **OAuth 2.0** (tipo: Aplicativo Web) e copie o **Client ID** e o **Client Secret**
4. Cadastre a **Redirect URI** exibida nesta página como *Authorized redirect URI* no Google Cloud Console

***

#### Campos do formulário

| Campo                               | Descrição                                                                                              |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Tenant**                          | Selecione **Global** para aplicar a todos os tenants sem configuração própria, ou um tenant específico |
| **Client ID (OAuth 2.0)**           | Client ID gerado no Google Cloud Console                                                               |
| **Client Secret**                   | Client Secret gerado no Google Cloud Console                                                           |
| **Redirect URI (OAuth callback)**   | URL fixa — cadastre exatamente esta URL no Google Cloud Console como Authorized redirect URI           |
| **Gmail**                           | Habilita o uso deste app para o canal de e-mail com OAuth                                              |
| **Google Calendar**                 | Habilita a sincronia de eventos e agendamentos                                                         |
| **YouTube**                         | Habilita comentários e live chat de canais YouTube                                                     |
| **Intervalo de poll YouTube (seg)** | Frequência com que o sistema busca novos comentários. Padrão: 30s. Mínimo: 15s                         |
| **Descrição**                       | Identificação opcional — ex: "App principal Google da plataforma"                                      |
| **Ativo**                           | Ativa ou desativa esta configuração                                                                    |

{% hint style="warning" %}
**Scopes (avançado):** deixe os campos de scopes em branco para usar os defaults. Alterar scopes pode quebrar a integração — só mexa se souber o que está fazendo.
{% endhint %}

***

#### Hierarquia de fallback

O sistema resolve as credenciais Google em 3 camadas, nesta ordem de prioridade:

1. **App próprio do canal** — se o canal tiver um `clientId` próprio cadastrado, ele tem prioridade
2. **App Google configurado aqui** — substitui o proxy para os tenants cobertos
3. **App hardcoded no proxy** — credenciais padrão da plataforma, usadas quando nenhuma das anteriores estiver configurada

{% hint style="info" %}
Se este formulário estiver vazio, o sistema usa automaticamente as credenciais hardcoded do proxy (Tech Provider). A configuração **Global** (sem tenant específico) aplica como fallback para todos os tenants sem configuração própria.
{% endhint %}

***

#### Informações importantes

* Os tokens expiram em 1 hora — o sistema renova automaticamente via `refresh_token`
* **Modo Testing** aceita até 100 test users; produção requer verificação do Google (4–8 semanas)
* Pelo menos um serviço (Gmail, Calendar ou YouTube) precisa estar ativo para salvar

***


# LinkedIn - Superadmin

{% hint style="danger" %}
**Funcionalidade em beta:** este recurso foi lançado recentemente e ainda está em fase de testes. Alguns comportamentos podem apresentar instabilidade ou não funcionar como esperado em todos os cenários. Estamos coletando feedback e aplicando melhorias e correções ao longo das próximas versões. Se encontrar algum problema, entre em contato com o suporte.
{% endhint %}

Esta documentação detalha o processo para integrar a **página da empresa no LinkedIn** à plataforma **Z-PRO**, permitindo que sua equipe receba e responda **comentários em posts da página** diretamente no painel de atendimento como tickets.

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

{% hint style="info" %}
**Pré-requisitos:**

* Uma **página de empresa** ativa no LinkedIn.
* Um aplicativo criado no **LinkedIn Developer Portal** (<https://developer.linkedin.com>).
* Aprovação do programa **Community Management API** no LinkedIn Developer Portal.
* Acesso de **Super Admin** na sua instalação do Z-PRO.
  {% endhint %}

{% hint style="info" %}
**Páginas de referência das telas do admin:**\
[Apps — LinkedIn](/configuracao-administrador/configuracoes-painel-admin/apps-configuracoes/linkedin-configuracao-apps)

[Canal LinkedIn](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/canal-linkedin)
{% endhint %}

***

#### Como funciona a integração

Após a configuração:

* Cada **comentário** feito em posts da sua página no LinkedIn criará um **ticket** dentro do Z-PRO.
* Sua equipe poderá responder os comentários diretamente pelo painel de atendimento.
* O token de acesso é renovado **automaticamente** pelo Z-PRO a cada 60 dias.

{% hint style="warning" %}
**Atenção:**

* **Respostas enviadas pelo Z-PRO são públicas** — ficam visíveis no LinkedIn para qualquer pessoa que acesse o post.
* Esta integração é voltada para **comentários em posts da página**, não para mensagens diretas (Direct Messages).
* Uma configuração **Global** (sem tenant) será aplicada a **todos os tenants** que não tiverem uma configuração própria.
  {% endhint %}

***

#### Etapa 1: Criando o Aplicativo no LinkedIn Developer Portal

1. Acesse o **LinkedIn Developer Portal**: <https://developer.linkedin.com>
2. Faça login com sua conta LinkedIn.
3. Clique em **Create App** e preencha:
   * **App name:** Nome do aplicativo (ex: "Z-PRO Integração")
   * **LinkedIn Page:** Selecione a página da empresa que será integrada
   * **App Logo:** Obrigatório pelo LinkedIn
4. Clique em **Create app**.

***

#### Etapa 2: Solicitando Acesso ao Community Management API

A integração de comentários exige aprovação de um programa específico do LinkedIn.

1. Dentro do app criado, acesse a aba **Products**.
2. Localize **Community Management API** e clique em **Request access**.
3. Preencha o formulário explicando o caso de uso (ex: "Gerenciar e responder comentários da página da empresa através de uma plataforma de atendimento omnichannel").
4. Aguarde a aprovação do LinkedIn.

{% hint style="danger" %}
**Sem a aprovação do Community Management API, a integração não funcionará.** O LinkedIn precisa revisar e aprovar o uso antes de qualquer configuração no Z-PRO.
{% endhint %}

***

#### Etapa 3: Obtendo as Credenciais

Com o app criado e o acesso aprovado:

1. No LinkedIn Developer Portal, acesse seu app e clique na aba **Auth**.
2. Copie o **Client ID** e o **Client Secret**.
3. Na seção **Authorized redirect URLs for your app**, adicione:
   * `https://oauth.techprovider.com.br/callback.html`

{% hint style="danger" %}
O **Redirect URI** deve ser cadastrado **exatamente** como `https://oauth.techprovider.com.br/callback.html` no LinkedIn Developer Portal. Qualquer divergência impedirá o funcionamento da integração.
{% endhint %}

{% hint style="info" %}
**Quer usar um domínio próprio (whitelabel)?** Configure-o previamente em **`/oauth-dominio`** dentro do Z-PRO e use esse domínio como Redirect URI no LinkedIn Developer Portal.
{% endhint %}

***

#### Etapa 4: Configurando no Painel Super Admin

1. Faça login no Z-PRO com o usuário **Super Administrador**.
2. No menu lateral, localize **Redes Sociais / Marketplace → App LinkedIn**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FBdjJkJxhI1pcjpdLLkcg%2Fimage.png?alt=media&amp;token=5f98c498-9aa3-4882-a681-ddc0b4422e2c" alt=""><figcaption></figcaption></figure>

3. Clique em **+ Novo App LinkedIn** e preencha:

| Campo                             | Como preencher                                                        |
| --------------------------------- | --------------------------------------------------------------------- |
| **Tenant**                        | Selecione **Global** ou um tenant específico                          |
| **App ID (client\_id)**           | Cole o Client ID obtido no LinkedIn Developer Portal                  |
| **App Secret (client\_secret)**   | Cole o Client Secret obtido no LinkedIn Developer Portal              |
| **Redirect URI (OAuth callback)** | Campo **fixo** — `https://oauth.techprovider.com.br/callback.html`    |
| **Webhook URL**                   | Campo **fixo** — `https://oauth.techprovider.com.br/linkedin-webhook` |
| **Descrição**                     | Identificação opcional — ex: "App LinkedIn principal"                 |
| **Ativo**                         | Mantenha ativado                                                      |

4. Clique em **Criar**.

{% hint style="warning" %}
**Global vs. Tenant específico:** A configuração **Global** funciona como fallback — qualquer tenant sem configuração própria utilizará a global. Para clientes individuais (revendedores SaaS), o ideal é configurar **por tenant**.
{% endhint %}

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2Ffe4g1Uk8CjvAtnwXs17e%2Fimage.png?alt=media&amp;token=234d08da-06ba-4ee4-8e9a-d5b404f3c4a2" alt=""><figcaption></figcaption></figure>

***

#### Etapa 5: Criando o Canal LinkedIn no Painel Admin

1. Acesse o **painel administrativo** do tenant integrado.
2. Vá em **Canais → Adicionar Canal**, selecione o tipo **LinkedIn**, dê um nome e clique em **Criar Canal**.
3. Após a criação, clique em **Conectar** e siga o fluxo de autenticação OAuth — você será redirecionado ao LinkedIn para autorizar o acesso à página da empresa.
4. Após autorizar, o canal ficará **conectado**.

A partir desse momento, os comentários nos posts da página passarão a chegar no Z-PRO como tickets de atendimento.

***

#### Etapa 6: Atendimento dos Tickets do LinkedIn

Cada novo comentário gera um ticket no Z-PRO, respondível diretamente pelo painel de atendimento.

{% hint style="danger" %}
**Respostas são públicas.** Toda resposta enviada pelo Z-PRO aparece publicamente no LinkedIn, visível para qualquer pessoa que acesse o post. Oriente sua equipe para responder de forma adequada ao contexto público da rede social.
{% endhint %}

***

#### Renovação do token

O token do LinkedIn expira a cada **60 dias** e é **renovado automaticamente** pelo Z-PRO — não é necessária nenhuma ação manual.

***

#### Resumo das Funcionalidades

| Funcionalidade                     | Onde acessar                                   |
| ---------------------------------- | ---------------------------------------------- |
| Configurar integração com LinkedIn | Super Admin > App LinkedIn                     |
| Configurar credenciais por tenant  | Painel Admin > Configurações > Apps > LinkedIn |
| Criar canal de atendimento         | Painel Admin > Canais > LinkedIn               |
| Receber comentários como tickets   | Atendimento (fila de tickets)                  |
| Renovação do token                 | Automática (a cada 60 dias)                    |

***

#### Possíveis Erros e Soluções

**Integração não funciona após a configuração**

**Causa:** O app ainda não tem aprovação do Community Management API.

**Solução:** Verifique no LinkedIn Developer Portal se o acesso ao **Community Management API** foi aprovado na aba **Products** do seu app.

**Erro de autenticação OAuth ao criar o canal**

**Causa:** Redirect URI cadastrado incorretamente no LinkedIn Developer Portal.

**Solução:** Confirme que o **Redirect URI** cadastrado é exatamente `https://oauth.techprovider.com.br/callback.html`.

**Comentários não estão chegando como tickets**

**Causa:** Canal desconectado ou webhook não configurado.

**Solução:** Verifique se o canal está com status **Conectado** no painel admin e refaça a autenticação OAuth se necessário.


# Mercado Livre - Superadmin

Como integrar uma conta Mercado Livre como canal no Z-PRO

{% hint style="danger" %}
**Funcionalidade em beta:** este recurso foi lançado recentemente e ainda está em fase de testes. Alguns comportamentos podem apresentar instabilidade ou não funcionar como esperado em todos os cenários. Estamos coletando feedback e aplicando melhorias e correções ao longo das próximas versões. Se encontrar algum problema, entre em contato com o suporte.
{% endhint %}

Esta documentação detalha o processo completo para integrar uma conta do **Mercado Livre** à plataforma **Z-PRO**, permitindo que sua equipe receba **mensagens e perguntas de compradores** diretamente no painel de atendimento como tickets.

Com essa integração, todas as interações de compradores realizadas em seus anúncios no Mercado Livre passam a ser centralizadas no Z-PRO, evitando a necessidade de monitorar múltiplas plataformas.

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

{% hint style="info" %}
**Pré-requisitos:**

* Uma conta ativa no **Mercado Livre** (vendedor).
* Acesso ao **Portal de Desenvolvedores do Mercado Livre** (<https://developers.mercadolivre.com.br/devcenter>).
* Acesso de **Super Admin** na sua instalação do Z-PRO.
  {% endhint %}

{% hint style="info" %}
**Páginas de referência das telas do admin:**&#x20;

[Configuração - Apps — Mercado Livre ](/configuracao-administrador/configuracoes-painel-admin/apps-configuracoes/mercado-livre-configuracao-apps)

[Canal Mercado Livre](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/canal-mercado-livre)
{% endhint %}

***

### Como funciona a integração

Após a configuração:

* Cada **mensagem ou pergunta** enviada por um comprador através do Mercado Livre criará um **ticket** dentro do Z-PRO.
* Sua equipe poderá responder os compradores diretamente do painel de atendimento.
* O token de acesso é renovado **automaticamente** pelo Z-PRO.

{% hint style="warning" %}
**Atenção aos limites do Mercado Livre:**

* O **token de acesso expira a cada 6 horas** e é renovado automaticamente pelo Z-PRO.
* Mensagens de **pós-venda** possuem limite de **350 caracteres**.
* Uma configuração **Global** (sem tenant) será aplicada a **todos os tenants** que não tiverem uma configuração própria.
  {% endhint %}

***

### Etapa 1: Criando o Aplicativo no Portal de Desenvolvedores do Mercado Livre

Antes de configurar a integração no Z-PRO, é necessário criar um aplicativo no portal de desenvolvedores do Mercado Livre para obter as credenciais OAuth (**App ID** e **App Secret**).

1. Acesse o **DevCenter do Mercado Livre**:
   * <https://developers.mercadolivre.com.br/devcenter>
2. Faça login com sua conta do Mercado Livre.
3. Clique em **Criar novo aplicativo**.
4. Preencha os dados solicitados pelo Mercado Livre conforme o passo a passo oficial:
   * [Como criar uma aplicação no Mercado Livre](https://developers.mercadolivre.com.br/pt_br/crie-uma-aplicacao-no-mercado-livre)
5. Nos campos de configuração do app, utilize os valores **fixos** fornecidos pelo Z-PRO:
   * **Redirect URI:** `https://oauth.techprovider.com.br/callback.html`
   * **Webhook URL:** `https://oauth.techprovider.com.br/ml-webhook`

{% hint style="danger" %}
**Importante:** O **Redirect URI** e o **Webhook URL** devem ser cadastrados, **exatamente** como informados acima, no DevCenter do Mercado Livre. Qualquer divergência impedirá o funcionamento da integração.
{% endhint %}

6. Após criar o aplicativo, copie e guarde:
   * **App ID (client\_id)**
   * **App Secret (client\_secret)**

{% hint style="info" %}
**Quer usar um domínio próprio (whitelabel)?** Caso você queira utilizar um domínio próprio para o OAuth em vez do `oauth.techprovider.com.br`, configure-o previamente em **`/oauth-dominio`** dentro do Z-PRO.
{% endhint %}

***

### Etapa 2: Acessando o App Mercado Livre no Painel Super Admin

Com o aplicativo criado no Mercado Livre e as credenciais em mãos, acesse o Z-PRO para iniciar a integração.

1. Faça login no Z-PRO com o usuário **Super Administrador** da sua instalação.
2. No menu lateral, localize a seção **Redes Sociais / Marketplace**.
3. Clique na opção **App Mercado Livre**.
4. Clique no botão **Novo App** para criar uma nova integração.

***

### Etapa 3: Definindo o Escopo da Integração (Global ou Tenant)

Ao criar um novo app, defina o escopo:

* **Global (todos os tenants):** A integração será aplicada para todos os tenants da instalação que não tiverem uma configuração própria.
* **Tenant específico:** A integração será aplicada apenas para uma conta/empresa específica.

{% hint style="warning" %}
**Recomendação:** A configuração **Global** funciona como um fallback — qualquer tenant que **não tenha** uma configuração própria utilizará a global. Para clientes individuais (revendedores SaaS), o ideal é configurar **por tenant**.
{% endhint %}

***

### Etapa 4: Preenchendo as Credenciais do Aplicativo

Preencha o formulário **Novo App Mercado Livre** com as informações obtidas no DevCenter:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FNbqbTpN5FSx2fvB7LQ9n%2Fimage.png?alt=media&amp;token=dc8f8a19-58e8-40e0-858c-332834e498e4" alt="" width="375"><figcaption></figcaption></figure>

Clique em **Criar** para salvar a integração.

{% hint style="info" %}
O **Site ID** define o marketplace em que o app vai operar. Use **MLB** para Brasil, **MLA** para Argentina, **MLM** para México e assim por diante.
{% endhint %}

***

### Etapa 5: Criando o Canal Mercado Livre no Painel Admin

Após a integração estar criada no Super Admin, é necessário **vincular um canal** dentro do painel administrativo do tenant para que as mensagens cheguem como tickets.

1. Acesse o **painel administrativo** do Z-PRO da conta (tenant) integrada.
2. No menu lateral, vá em **Canais**.
3. Clique em **Adicionar Canal**.
4. Selecione o tipo **Mercado Livre,** de um nome e clique em **criar canal.**
5.

```
<figure><img src="/files/bzMpa4X2yKFS0inZnn9y" alt="" width="375"><figcaption></figcaption></figure>
```

Após a criação do canal, clique em **"conectar"** e siga o fluxo de **autenticação OAuth**: você será redirecionado para o Mercado Livre para autorizar o acesso da sua conta de vendedor.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FMn4ruRTtBy0TE5u604y3%2Fimage.png?alt=media&amp;token=e91a6739-b0f4-4771-bc8a-dda9fd4c12af" alt="" width="375"><figcaption></figcaption></figure>

Após autorizar, o canal será criado e ficará **conectado**.

A partir desse momento, todas as **mensagens e perguntas** enviadas por compradores nos seus anúncios do Mercado Livre passarão a chegar no Z-PRO como **tickets de atendimento**.

***

### Etapa 6: Atendimento dos Tickets do Mercado Livre

Cada nova mensagem ou pergunta de comprador gera um ticket no Z-PRO, que pode ser respondido diretamente pelo painel de atendimento.

* As mensagens chegam na **fila de tickets**, igual a qualquer outro canal.
* O ticket conterá os dados do comprador e o contexto da pergunta/mensagem.
* A resposta enviada pelo Z-PRO será entregue ao comprador no Mercado Livre.

{% hint style="warning" %}
**Limite de caracteres em pós-venda:** Mensagens enviadas após a finalização da compra (pós-venda) possuem um limite de **350 caracteres**. Mensagens mais longas serão rejeitadas pela API do Mercado Livre.
{% endhint %}

***

### Resumo das Funcionalidades

| Funcionalidade                             | Onde acessar                          |
| ------------------------------------------ | ------------------------------------- |
| Configurar integração com Mercado Livre    | Super Admin > App Mercado Livre       |
| Criar canal de atendimento                 | Painel Admin > Canais > Mercado Livre |
| Receber mensagens e perguntas como tickets | Atendimento (fila de tickets)         |
| Renovação automática do token              | Automática (a cada 6 horas)           |

***

### Encerramento

Com a integração ativa, o Z-PRO passa a:

* **Receber automaticamente** todas as mensagens e perguntas dos compradores do Mercado Livre.
* **Centralizar o atendimento** em uma única plataforma omnichannel.
* **Renovar tokens automaticamente** sem necessidade de intervenção manual.
* **Permitir o uso de múltiplas contas** (uma por tenant) com integrações isoladas.

Esta integração é ideal para vendedores que utilizam o Mercado Livre como canal de vendas e desejam unificar o atendimento dos compradores junto aos demais canais de comunicação (WhatsApp, Instagram, E-mail etc.).

***

### Possíveis Erros e Soluções

#### Erro de autenticação OAuth ao criar o canal

**Causa:** Redirect URI cadastrado incorretamente no DevCenter do Mercado Livre.

**Solução:** Verifique se o **Redirect URI** está cadastrado **exatamente** como `https://oauth.techprovider.com.br/callback.html` no app do Mercado Livre.

#### Mensagens não estão chegando como tickets

**Causa:** Webhook URL incorreto ou canal não autorizado.

**Solução:**

1. Confirme que o **Webhook URL** cadastrado no Mercado Livre é `https://oauth.techprovider.com.br/ml-webhook`.
2. Refaça o processo de autorização do canal no Painel Admin.

#### Mensagem de pós-venda rejeitada

**Causa:** A mensagem ultrapassou o limite de **350 caracteres** imposto pela API do Mercado Livre.

**Solução:** Reduza o tamanho da mensagem ou divida o conteúdo em múltiplas mensagens.

#### Configuração Global não está sendo aplicada para um tenant

**Causa:** O tenant possui uma configuração própria que sobrepõe a Global.

**Solução:** Remova a configuração específica do tenant ou ajuste-a conforme necessário. A Global só se aplica quando o tenant **não tem** configuração própria.


# Nuvemshop - Superadmin

{% hint style="danger" %}
**Funcionalidade em beta:** este recurso foi lançado recentemente e ainda está em fase de testes. Alguns comportamentos podem apresentar instabilidade ou não funcionar como esperado em todos os cenários. Estamos coletando feedback e aplicando melhorias e correções ao longo das próximas versões. Se encontrar algum problema, entre em contato com o suporte.
{% endhint %}

{% hint style="info" %}
**Disponível para o perfil:** Super Administrador
{% endhint %}

Configure a integração com o Nuvemshop para receber pedidos como atendimentos e notificar clientes automaticamente. Um único app pode cobrir todos os tenants (Global) ou ser configurado por tenant específico.

{% hint style="warning" %}
**Beta:** esta integração está em fase beta. A disponibilidade pode variar conforme o plano contratado.
{% endhint %}

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

***

#### Como acessar

No painel Super Admin, acesse **Redes Sociais e Marketplaces → Nuvemshop**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FJAq1reKJk4Dyry2tswnx%2Fimage.png?alt=media&amp;token=0cb3a99d-7c97-4882-95ee-9749ef452f7c" alt=""><figcaption></figcaption></figure>

***

#### Conectando uma loja

Clique em **+ Novo App Nuvemshop**. A integração suporta dois modos de conexão:

**Modo OAuth (recomendado)**

1. Informe a **URL da loja** (ex.: <https://minha-loja.com>)
2. Clique em **Conectar** — uma janela abre o site da Nuvemshop para autorização
3. Após autorizar, as credenciais são preenchidas automaticamente

**Modo manual (BYO)**

Cole as credenciais obtidas no painel de parceiros da Nuvemshop:

| Campo             | O que é                                                                         |
| ----------------- | ------------------------------------------------------------------------------- |
| **Store ID**      | ID da loja na Nuvemshop — user\_id retornado no OAuth ou no painel de parceiros |
| **Access Token**  | Token de acesso da API. Não expira; obtido via OAuth ou painel de parceiros     |
| **Client ID**     | ID do app de parceiro (opcional)                                                |
| **Client Secret** | Usado para validar o HMAC dos webhooks no modo manual (opcional)                |

**Ativando os webhooks**

Após preencher as credenciais, copie a **URL do Webhook** exibida no formulário e cole em: **Nuvemshop → Configurações → Avançado → Webhooks → URL de entrega**

Os webhooks notificam a plataforma sobre novos pedidos e atualizações em tempo real.

{% hint style="info" %}
O campo **Callback do OAuth proxy** é fixo e informativo — o cliente não precisa cadastrá-lo manualmente. Para usar um domínio próprio no OAuth (whitelabel), configure em `/auth-dominio`.
{% endhint %}

***

#### Configurações do app

| Opção                                 | O que faz                                                                     |
| ------------------------------------- | ----------------------------------------------------------------------------- |
| **Tenant**                            | Global = todos os tenants usam esta config. Ou selecione um tenant específico |
| **Sincronizar produtos**              | Mantém o cache do seletor de produtos atualizado                              |
| **Canal vinculado**                   | O picker de produtos usará esta loja quando o ticket vier deste canal         |
| **Descrição**                         | Identificação opcional — ex: "Loja principal da empresa"                      |
| **Fechar ticket ao completar pedido** | Fecha o ticket automaticamente quando o pedido for marcado como concluído     |
| **Ativo**                             | Liga ou desliga a integração                                                  |

***

#### Páginas relacionadas

* [Nuvemshop — Gestão Comercial](/configuracao-administrador/gestao-comercial/operacao-gestao-comercial/nuvemshop) — gerenciar pedidos e produtos no dia a dia
* [Nuvemshop — Configurações Apps ](/configuracao-administrador/configuracoes-painel-admin/apps-configuracoes/nuvemshop-configuracoes-apps)— configuração por tenant no painel admin

***


# OLX - Superadmin

Como integrar uma conta OLX como canal no Z-PRO

{% hint style="danger" %}
**Funcionalidade em beta:** este recurso foi lançado recentemente e ainda está em fase de testes. Alguns comportamentos podem apresentar instabilidade ou não funcionar como esperado em todos os cenários. Estamos coletando feedback e aplicando melhorias e correções ao longo das próximas versões. Se encontrar algum problema, entre em contato com o suporte.
{% endhint %}

Esta documentação detalha o processo para integrar uma conta da **OLX** à plataforma **Z-PRO**, permitindo que sua equipe receba **mensagens de compradores interessados nos seus anúncios** diretamente no painel de atendimento como tickets.

Com essa integração, todas as interações de compradores realizadas nos seus anúncios da OLX passam a ser centralizadas no Z-PRO, evitando a necessidade de monitorar a caixa de mensagens da plataforma manualmente.

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

{% hint style="info" %}
**Pré-requisitos:**

* Uma conta ativa na **OLX** (anunciante).
* Credenciais OAuth fornecidas pela **OLX** (Client ID e Client Secret).
* Acesso de **Super Admin** na sua instalação do Z-PRO.
  {% endhint %}

{% hint style="info" %}
**Páginas de referência das telas do admin:**\
[Configuração - Apps — OLX](/configuracao-administrador/configuracoes-painel-admin/apps-configuracoes/olx-configuracao-apps)

[Canal OLX](/configuracao-administrador/administracao-painel-admin/canais-de-comunicacao/canal-olx)
{% endhint %}

***

### Como funciona a integração

Após a configuração:

* Cada **mensagem** enviada por um comprador através da OLX criará um **ticket** dentro do Z-PRO.
* Sua equipe poderá responder os compradores diretamente do painel de atendimento.

{% hint style="warning" %}
**Atenção aos limites da OLX:**

* **Tokens OLX não possuem refresh automático.** Se o token expirar, será necessário **reconectar via OAuth** manualmente.
* As **respostas enviadas via API são somente texto** — não é possível enviar imagens, áudios ou outros tipos de mídia.
* Uma configuração **Global** (sem tenant) será aplicada a **todos os tenants** que não tiverem uma configuração própria.
  {% endhint %}

***

### Etapa 1: Solicitando as Credenciais OAuth na OLX

Diferente de outras plataformas, a OLX **não possui um portal self-service** para criar aplicações. As credenciais OAuth (**Client ID** e **Client Secret**) precisam ser solicitadas diretamente pelo time da OLX por e-mail.

1. Envie um e-mail para **`suporteintegrador@olxbr.com`** solicitando a criação de um aplicativo OAuth.
2. No e-mail, inclua as seguintes informações:
   * **Nome do cliente** (sua empresa)
   * **Nome do aplicativo** (ex.: `Integração Z-PRO`)
   * **Descrição** do uso (ex.: "Integração para receber e responder mensagens de compradores via Z-PRO")
   * **Website** da empresa
   * **Telefone** de contato
   * **E-mail** de contato
   * **Redirect URI(s)** — informe a URL fixa do Z-PRO:
     * `https://oauth.techprovider.com.br/callback.html`
3. Aguarde o retorno da OLX com o **Client ID** e o **Client Secret**.

{% hint style="info" %}
**Documentação oficial completa da OLX:** Para detalhes técnicos completos sobre o fluxo OAuth da OLX, consulte a documentação oficial em <https://developers.olx.com.br/anuncio/api/oauth.html>.
{% endhint %}

{% hint style="warning" %}
**Quer usar um domínio próprio (whitelabel)?** Caso você queira utilizar um domínio próprio para o OAuth em vez do `oauth.techprovider.com.br`, configure-o **antes de enviar o e-mail para a OLX** em **`/oauth-dominio`** dentro do Z-PRO, e informe seu domínio customizado como Redirect URI no lugar do padrão. Veja o artigo [Domínio OAuth Customizado](/configuracao-superadmin/canais-superadmin/dominio-oauth-customizado).
{% endhint %}

***

### Etapa 2: Permissões (Scopes) Necessárias

Ao solicitar as credenciais, certifique-se de que o aplicativo terá os **scopes (permissões)** corretos para a integração de mensagens funcionar:

| Scope                 | Finalidade                                                                        |
| --------------------- | --------------------------------------------------------------------------------- |
| **`chat`**            | Acesso à configuração do chat e recebimento de mensagens da OLX. **Obrigatório.** |
| **`basic_user_info`** | Nome e e-mail do usuário. Recomendado.                                            |
| **`autoservice`**     | Alterações em configurações de webhook e leads. Recomendado.                      |

{% hint style="warning" %}
O scope **`chat`** é o mais importante e **obrigatório** para que o Z-PRO consiga receber e responder mensagens. Sem ele, a integração não funcionará.
{% endhint %}

***

### Etapa 3: Acessando o App OLX no Painel Super Admin

Com as credenciais em mãos, acesse o Z-PRO para iniciar a integração.

1. Faça login no Z-PRO com o usuário **Super Administrador** da sua instalação.
2. No menu lateral, localize a seção **Redes Sociais / Marketplace**.
3. Clique na opção **App OLX**.
4. Clique no botão **Novo App** para criar uma nova integração.

***

### Etapa 4: Definindo o Escopo da Integração (Global ou Tenant)

Ao criar um novo app, defina o escopo:

* **Global (todos os tenants):** A integração será aplicada para todos os tenants da instalação que não tiverem uma configuração própria.
* **Tenant específico:** A integração será aplicada apenas para uma conta/empresa específica.

{% hint style="warning" %}
**Recomendação:** A configuração **Global** funciona como um fallback — qualquer tenant que **não tenha** uma configuração própria utilizará a global. Para clientes individuais (revendedores SaaS), o ideal é configurar **por tenant**.
{% endhint %}

***

### Etapa 5: Preenchendo as Credenciais do Aplicativo

Preencha o formulário **Novo App OLX** com as informações recebidas por e-mail da OLX:

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FRdH3dPzUA4pO9EPNeRYl%2Fimage.png?alt=media&amp;token=eb50d9c1-c93a-4352-9c15-6185a4b568f8" alt="" width="375"><figcaption></figcaption></figure>

Clique em **Criar** para salvar a integração.

{% hint style="info" %}
**Quer usar um domínio próprio (whitelabel)?** Caso você queira utilizar um domínio próprio para o OAuth em vez do `oauth.techprovider.com.br`, configure-o previamente em **`/oauth-dominio`** dentro do Z-PRO.

Atenção: se você alterar o domínio OAuth, será necessário solicitar à OLX a **atualização do Redirect URI** cadastrado no app.
{% endhint %}

***

### Etapa 6: Criando o Canal OLX no Painel Admin

Após a integração estar criada no Super Admin, é necessário **vincular um canal** dentro do painel administrativo do tenant para que as mensagens cheguem como tickets.

1. Acesse o **painel administrativo** do Z-PRO da conta (tenant) integrada.
2. No menu lateral, vá em **Canais**.
3. Clique em **Adicionar Canal**.
4. Selecione o tipo **OLX**, dê um nome e clique em **Criar Canal**.

<figure><img src="https://3541975055-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FM5B652UsmGn3Q7h9Du1t%2Fuploads%2FaDxbJcHVaLWsV3Wf4Aea%2Fimage.png?alt=media&amp;token=8cfd37f2-dd41-4fe7-b8d7-a72f08430496" alt="" width="375"><figcaption></figcaption></figure>

1. Após a criação do canal, clique em **Conectar** e siga o fluxo de **autenticação OAuth**: você será redirecionado para a OLX para autorizar o acesso da sua conta de anunciante.
2. Após autorizar, o canal será criado e ficará **conectado**.

A partir desse momento, todas as **mensagens** enviadas por compradores nos seus anúncios da OLX passarão a chegar no Z-PRO como **tickets de atendimento**.

***

### Etapa 7: Atendimento dos Tickets da OLX

Cada nova mensagem de comprador gera um ticket no Z-PRO, que pode ser respondido diretamente pelo painel de atendimento.

* As mensagens chegam na **fila de tickets**, igual a qualquer outro canal.
* O ticket conterá os dados do comprador e o contexto do anúncio.
* A resposta enviada pelo Z-PRO será entregue ao comprador na OLX.

{% hint style="warning" %}
**Apenas mensagens de texto:** A API da OLX **não permite envio de mídia** (imagens, vídeos, áudios). Todas as respostas enviadas pelo Z-PRO precisam ser **texto puro**. Tentativas de envio de mídia serão rejeitadas.
{% endhint %}

***

### Renovação do Token (Reconexão Manual)

Diferente do Mercado Livre, os tokens emitidos pela OLX **não possuem refresh automático**.

{% hint style="warning" %}
**Tempo de validade do token:** A OLX **não divulga publicamente** o tempo exato de expiração do `access_token` na sua [documentação oficial de OAuth](https://developers.olx.com.br/anuncio/api/oauth.html). Para confirmar o TTL específico do seu aplicativo, entre em contato com `suporteintegrador@olxbr.com`.

Na prática, recomendamos **monitorar o status do canal** e refazer a conexão sempre que ele aparecer como desconectado.
{% endhint %}

Quando o token expirar, o canal OLX no Z-PRO ficará com status **desconectado** e as mensagens deixarão de chegar. Para restabelecer a integração:

1. Acesse o **Painel Admin > Canais**.
2. Localize o canal OLX desconectado.
3. Clique em **Conectar** e refaça o fluxo de **autenticação OAuth**.

{% hint style="info" %}
Recomendamos monitorar periodicamente o status do canal OLX para evitar perda de mensagens. Configure um responsável para refazer a conexão sempre que necessário.
{% endhint %}

***

### Resumo das Funcionalidades

| Funcionalidade                  | Onde acessar                     |
| ------------------------------- | -------------------------------- |
| Configurar integração com OLX   | Super Admin > App OLX            |
| Criar canal de atendimento      | Painel Admin > Canais > OLX      |
| Receber mensagens como tickets  | Atendimento (fila de tickets)    |
| Reconectar canal após expiração | Painel Admin > Canais > Conectar |

***

### Encerramento

Com a integração ativa, o Z-PRO passa a:

* **Receber automaticamente** todas as mensagens dos compradores da OLX como tickets.
* **Centralizar o atendimento** em uma única plataforma omnichannel.
* **Permitir o uso de múltiplas contas** (uma por tenant) com integrações isoladas.

Esta integração é ideal para anunciantes que utilizam a OLX como canal de vendas e desejam unificar o atendimento dos compradores junto aos demais canais de comunicação (WhatsApp, Instagram, E-mail, Mercado Livre etc.).

***

### Possíveis Erros e Soluções

#### Não recebi as credenciais da OLX

**Causa:** Solicitação incompleta ou falta de retorno do time de integradores da OLX.

**Solução:** Reenvie o e-mail para `suporteintegrador@olxbr.com` confirmando todos os dados (nome do app, descrição, website, telefone, e-mail e o Redirect URI exato `https://oauth.techprovider.com.br/callback.html`).

#### Erro de autenticação OAuth ao criar o canal

**Causa:** Redirect URI cadastrado incorretamente pela OLX.

**Solução:** Solicite à OLX (`suporteintegrador@olxbr.com`) a confirmação de que o Redirect URI cadastrado no app é **exatamente** `https://oauth.techprovider.com.br/callback.html`.

#### Mensagens não estão chegando como tickets

**Causa:** Webhook não configurado corretamente ou scope `chat` ausente.

**Solução:**

1. Confirme com a OLX que o app foi criado com o scope **`chat`**.
2. Verifique se o canal está conectado no painel admin.
3. Caso necessário, refaça a autorização OAuth.

#### Resposta com imagem ou áudio rejeitada

**Causa:** A API da OLX aceita apenas mensagens de texto.

**Solução:** Envie apenas **mensagens de texto puro**. Mídias precisam ser enviadas por outro canal (e-mail, WhatsApp etc.) após combinar com o comprador.

#### Canal OLX está desconectado

**Causa:** Token expirado — a OLX **não renova automaticamente**.

**Solução:** Acesse **Painel Admin > Canais**, localize o canal OLX e clique em **Conectar** para refazer o fluxo OAuth.

#### Configuração Global não está sendo aplicada para um tenant

**Causa:** O tenant possui uma configuração própria que sobrepõe a Global.

**Solução:** Remova a configuração específica do tenant ou ajuste-a conforme necessário. A Global só se aplica quando o tenant **não tem** configuração própria.


# Rocket.chat - Superadmin

{% hint style="danger" %}
**Funcionalidade em beta:** este recurso foi lançado recentemente e ainda está em fase de testes. Alguns comportamentos podem apresentar instabilidade ou não funcionar como esperado em todos os cenários. Estamos coletando feedback e aplicando melhorias e correções ao longo das próximas versões. Se encontrar algum problema, entre em contato com o suporte.
{% endhint %}

Esta documentação detalha o processo para integrar um servidor **Rocket.Chat** ao **Z-PRO**, permitindo que os agentes acessem o chat interno do Rocket.Chat diretamente pelo painel, sem precisar alternar entre plataformas.

{% hint style="warning" %}
**Configuração global vs. por tenant:** os apps cadastrados aqui ficam disponíveis para todos os tenants. A conexão e o gerenciamento do número WABA de cada tenant é feito individualmente pelo Administrador em Configurações → Integrações
{% endhint %}

{% hint style="info" %}
**Pré-requisitos:**

* Um servidor **Rocket.Chat** instalado e acessível via URL pública.
* Acesso de **administrador** no servidor Rocket.Chat.
* Acesso de **Super Admin** na sua instalação do Z-PRO.
  {% endhint %}

{% hint style="info" %}
**Página de referência da tela do admin:**\
Apps — Rocket.Chat
{% endhint %}

***

#### Como funciona a integração

Após a configuração, os agentes passam a acessar o Rocket.Chat **embutido diretamente no Z-PRO** via **Comunicação e Marketing → Redes Sociais → Rocket.Chat**, sem precisar abrir outra aba ou sistema.

{% hint style="info" %}
Diferente das integrações de marketplace (Mercado Livre, OLX), o Rocket.Chat **não cria tickets** no painel de atendimento. O acesso é direto ao chat interno do servidor RC.
{% endhint %}

***

#### Etapa 1: Criar o Bot User no Rocket.Chat

No painel de administração do seu servidor Rocket.Chat:

1. Acesse **Administração → Usuários → Novo Usuário**.
2. Crie um usuário dedicado para a integração com as seguintes **roles (funções)**:
   * `bot`
   * `livechat-agent`
3. Anote o **Username** e o **User ID** deste usuário.

{% hint style="info" %}
Use um usuário exclusivo para a integração — evita conflitos e facilita o monitoramento da conta no RC.
{% endhint %}

***

#### Etapa 2: Gerar o Personal Access Token

Ainda no servidor Rocket.Chat, gere o token que o Z-PRO usará para autenticar:

1. Faça login com o usuário admin (ou com o bot user criado na Etapa 1).
2. Clique no avatar do usuário → **Perfil → Tokens de Acesso Pessoal**.
3. Clique em **Adicionar** e dê um nome ao token (ex: "Z-PRO Integration").
4. Copie e guarde o **User ID** e o **Token** gerados — eles não serão exibidos novamente.

***

#### Etapa 3: Habilitar Iframe Integration no Rocket.Chat

Para que o Rocket.Chat seja embutido corretamente no Z-PRO:

1. No painel de administração do RC, acesse **Administração → Geral**.
2. Localize a seção **Iframe Integration**.
3. Ative a opção **Enable Send** e/ou **Enable Receive** conforme necessário.
4. Salve as configurações.

{% hint style="warning" %}
Sem esta configuração habilitada no servidor Rocket.Chat, o iframe não carregará corretamente dentro do Z-PRO.
{% endhint %}

***

#### Etapa 4: Configurando no Painel Super Admin

Com as informações do servidor em mãos, acesse o Z-PRO:

1. Faça login com o usuário **Super Administrador**.
2. No menu lateral, localize **Redes Sociais / Marketplace → App Rocket.Chat**.
3. Clique em **+ Novo App RC** e preencha:

| Campo                               | Como preencher                                                                                           |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Tenant**                          | Selecione **Global** ou um tenant específico                                                             |
| **URL do servidor**                 | URL base do servidor Rocket.Chat — ex: `https://chat.suaempresa.com`                                     |
| **Admin User ID (X-User-Id)**       | User ID obtido na Etapa 2                                                                                |
| **Admin Auth Token (X-Auth-Token)** | Personal Access Token obtido na Etapa 2                                                                  |
| **Descrição**                       | Identificação opcional — ex: "RC principal da empresa"                                                   |
| **Criar usuários automaticamente**  | Quando ativo, cria automaticamente uma conta no RC para cada agente que acessar o chat pela primeira vez |
| **Ativo**                           | Mantenha ativado                                                                                         |

4. Clique em **Criar**.

{% hint style="warning" %}
**Global vs. Tenant específico:** A configuração **Global** funciona como fallback — qualquer tenant sem configuração própria utilizará a global. Para clientes individuais (revendedores SaaS), o ideal é configurar **por tenant**.
{% endhint %}

***

#### Etapa 5: Ativando para o Tenant no Painel Admin

Após criar a configuração no Super Admin, é necessário **ativar a integração para o tenant** no painel administrativo:

1. Acesse o **painel administrativo** do tenant.
2. Vá em **Configurações → Integrações → Rocket.Chat**.
3. Ative o toggle **Habilitar Rocket.Chat**.
4. Salve.

***

#### Etapa 6: Acesso dos Agentes

Após a ativação, os agentes passam a visualizar o Rocket.Chat embutido no Z-PRO:

**Caminho de acesso:** **Comunicação e Marketing → Redes Sociais → Rocket.Chat**

O chat interno do servidor RC ficará disponível diretamente nessa seção, sem necessidade de abrir outro sistema.

{% hint style="info" %}
Se **"Criar usuários automaticamente"** estiver ativo, a conta no RC é criada automaticamente na primeira vez que o agente acessar esta seção.
{% endhint %}

***

#### Resumo das Funcionalidades

| Funcionalidade                        | Onde acessar                                                         |
| ------------------------------------- | -------------------------------------------------------------------- |
| Configurar integração com Rocket.Chat | Super Admin > App Rocket.Chat                                        |
| Configurar credenciais por tenant     | Painel Admin > Configurações > Apps > Rocket.Chat                    |
| Ativar para o tenant                  | Painel Admin > Configurações > Integrações > Rocket.Chat             |
| Acessar o chat interno                | Painel Admin > Comunicação e Marketing > Redes Sociais > Rocket.Chat |

***

#### Possíveis Erros e Soluções

**Iframe não carrega dentro do Z-PRO**

**Causa:** Iframe Integration desabilitada no servidor Rocket.Chat.

**Solução:** Acesse **Administração → Geral → Iframe Integration** no RC e habilite as opções de Send/Receive.

**Erro de autenticação ao salvar a configuração**

**Causa:** User ID ou Auth Token incorretos.

**Solução:** Gere um novo Personal Access Token no RC (**Perfil → Tokens de Acesso Pessoal**) e atualize a configuração no Z-PRO.

**Agentes não visualizam o Rocket.Chat no menu**

**Causa:** Toggle de ativação não foi habilitado para o tenant.

**Solução:** Acesse **Configurações → Integrações → Rocket.Chat** no painel admin e ative o toggle **Habilitar Rocket.Chat**.




---

[Next Page](/llms-full.txt/1)

