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

# Configurar mensagens temporárias em grupo

> Define o temporizador de mensagens temporárias (disappearing messages) de um grupo.

Valores aceitos para a duração:
- `0` ou `off` para desativar
- `1d`
- `7d`
- `90d`

Observações:
- este endpoint é apenas para grupos
- requer privilégios de administrador do grupo
- se o identificador informado não for de grupo, a API retorna erro orientando usar `/chat/ephemeral`
- após sucesso, a resposta devolve o chat e os dados atualizados do grupo




## OpenAPI

````yaml /openapi-pt-BR.json post /group/ephemeral
openapi: 3.1.0
info:
  title: WppFy -  WhatsApp API
  version: 1.0.0
  description: >
    API para gerenciamento de instâncias do WhatsApp e comunicações.


    ## Recomendação Importante: WhatsApp Business

    **É ALTAMENTE RECOMENDADO usar contas do WhatsApp Business** em vez do
    WhatsApp normal para integração, o WhatsApp normal pode apresentar
    inconsistências, desconexões, limitações e instabilidades durante o uso com
    a nossa API.


    ## Autenticação

    - Endpoints regulares requerem um header 'token' com o token da instância


    ## Estados da Instância

    As instâncias podem estar nos seguintes estados:

    - `disconnected`: Desconectado do WhatsApp

    - `connecting`: Em processo de conexão

    - `connected`: Conectado e autenticado com sucesso
servers:
  - url: https://api.wppfy.com
security:
  - token: []
tags:
  - name: Instancia
    description: |
      Operações relacionadas ao ciclo de vida de uma instância, como conectar,
      desconectar e verificar o status.
  - name: Proxy
    description: >
      A WppFy opera com um proxy interno como padrão.

      Você pode manter esse padrão, configurar um proxy próprio via `proxy_url`
      ou usar seu celular android como proxy instalando o app em
      https://github.com/WppFy/silver_proxy_apk (APK direto:
      https://github.com/WppFy/silver_proxy_apk/raw/refs/heads/main/silver_proxy.apk).

      Se nada for enviado, seguimos no proxy interno. IPs são brasileiros; para
      clientes internacionais, considere um proxy da região do cliente.
  - name: Perfil
    description: |
      Operações relacionadas ao perfil da instância do WhatsApp, como alterar
      nome e imagem de perfil.
  - name: Business
    description: |
      ⚠️ **EXPERIMENTAL** - Endpoints ainda não testados completamente.

      Operações relacionadas ao perfil comercial do WhatsApp Business.
      Permite consultar e atualizar dados do perfil comercial como descrição,
      endereço, email, categorias e gerenciar o catálogo de produtos.

      **Requisitos:**
      - A conta atualmente conectada deve ser uma conta **WhatsApp Business**
      - Contas pessoais do WhatsApp não possuem perfil comercial

      **Nota:** Estes endpoints podem não funcionar como esperado.
      Reporte problemas encontrados.
  - name: Chamadas
    description: |
      Operações relacionadas a chamadas peloWhatsApp.
      Permite realizar e rejeitar chamadas programaticamente.
  - name: Enviar Mensagem
    description: >
      Endpoints para envio de mensagens do WhatsApp com diferentes tipos de
      conteúdo.


      ## Campos Opcionais Comuns


      Todos os endpoints de envio de mensagem suportam os seguintes campos
      opcionais:


      - **`delay`** *(integer)*: Atraso em milissegundos antes do envio
        - Durante o atraso aparecerá "Digitando..." ou "Gravando áudio..." dependendo do tipo
        - Exemplo: `5000` (5 segundos)

      - **`readchat`** *(boolean)*: Marcar chat como lido após envio
        - Remove o contador de mensagens não lidas do chat
        - Exemplo: `true`

      - **`readmessages`** *(boolean)*: Marcar últimas mensagens recebidas como
      lidas
        - Marca as últimas 10 mensagens **recebidas** (não enviadas por você) como lidas
        - Útil para confirmar leitura de mensagens pendentes antes de responder
        - Diferente do `readchat` que apenas remove contador de não lidas
        - Exemplo: `true`

      - **`replyid`** *(string)*: ID da mensagem para responder
        - Cria uma resposta vinculada à mensagem original
        - Suporte varia por tipo de mensagem
        - Exemplo: `"3A12345678901234567890123456789012"`

      - **`mentions`** *(string)*: Números para mencionar (apenas para envio em
      grupos)
        - Números específicos: `"5511999999999,5511888888888"`
        - Mencionar todos: `"all"`

      - **`forward`** *(boolean)*: Marca a mensagem como encaminhada no WhatsApp
        - Adiciona o indicador "Encaminhada" na mensagem
        - Exemplo: `true`

      - **`track_source`** *(string)*: Origem do rastreamento da mensagem
        - Identifica o sistema ou fonte que está enviando a mensagem
        - Útil para integrações (ex: "chatwoot", "crm", "chatbot")
        - Exemplo: `"chatwoot"`

      - **`track_id`** *(string)*: ID para rastreamento da mensagem
        - Identificador livre para acompanhar a mensagem em sistemas externos
        - Permite correlacionar mensagens entre diferentes plataformas
        - **Nota**: O sistema aceita valores duplicados - não há validação de unicidade
        - Use o mesmo ID em várias mensagens se fizer sentido para sua integração
        - Exemplo: `"msg_123456789"`

      ### Envio para Grupos

      - **`number`** *(string)*: Para enviar mensagem para grupo, use o ID do
      grupo que termina com `@g.us`
        - Exemplo: `"120363012345678901@g.us"`
        - **Como obter o ID do grupo:**
          - Use o `chatid` do webhook recebido quando alguém envia mensagem no grupo
          - Use o endpoint `GET /group/list` para listar todos os grupos e seus IDs

      ## Placeholders Disponíveis


      Todos os endpoints de envio de mensagem suportam placeholders dinâmicos
      para personalização automática:


      ### Campos de Nome

      - **`{{name}}`**: Nome consolidado do chat, usando a primeira opção
      disponível:
        1. Nome do lead (`lead_name`)
        2. Nome completo do lead (`lead_fullName`)
        3. Nome do contato no WhatsApp (`wa_contactName`)
        4. Nome do perfil do WhatsApp (`wa_name`)

      - **`{{first_name}}`**: Primeira palavra válida do nome consolidado
      (mínimo 2 caracteres)


      ### Campos do WhatsApp

      - **`{{wa_name}}`**: Nome do perfil do WhatsApp

      - **`{{wa_contactName}}`**: Nome do contato como salvo no WhatsApp


      ### Campos do Lead

      - **`{{lead_name}}`**: Nome do lead

      - **`{{lead_fullName}}`**: Nome completo do lead

      - **`{{lead_personalid}}`**: ID pessoal (CPF, CNPJ, etc)

      - **`{{lead_email}}`**: Email do lead

      - **`{{lead_status}}`**: Status atual do lead

      - **`{{lead_notes}}`**: Anotações do lead

      - **`{{lead_assignedAttendant_id}}`**: ID do atendente designado


      ### Campos Personalizados

      Campos adicionados via custom fields são acessíveis usando
      `{{lead_field01}}` à `{{lead_field20}}` ou usar `{{nomedocampo}}` definido
      em `/instance/updateFieldsMap`.


      ### Exemplo de Uso

      ```

      Olá {{name}}! Vi que você trabalha na {{company}}.

      Seu email {{lead_email}} está correto?

      ```


      **💡 Dica**: Use `/chat/find` para buscar dados do chat e ver os campos
      disponíveis antes de enviar mensagens com placeholders.
  - name: Mensagem Async
    description: >
      Controles operacionais da fila interna de envio assíncrono usada quando um
      endpoint de envio recebe `async=true`.


      Esta seção serve para:

      - consultar o estado atual da fila async

      - configurar o delay entre mensagens enviadas com `async=true`

      - limpar backlog pendente e cancelar mensagens ainda não concluídas


      Escopo:

      - cobre apenas a fila interna de mensagens diretas async

      - não altera mensagens já enviadas com sucesso
  - name: Ações na mensagem e Buscar
  - name: Chats
  - name: Contatos
  - name: Bloqueios
  - name: Etiquetas
  - name: Grupos e Comunidades
  - name: Newsletters e Canais
    description: >
      Operações para leitura e acompanhamento de canais do WhatsApp
      (newsletters).


      Casos de uso principais:

      - listar posts já publicados em um canal

      - editar posts recentes de um canal

      - deletar posts recentes de um canal

      - consultar views e reações dos posts

      - integrar canais sem necessidade de persistir as mensagens localmente


      Observações:

      - `/newsletter/messages` retorna o conteúdo dos posts

      - `/newsletter/messages/edit` edita o conteúdo de posts recentes

      - `/newsletter/messages/delete` apaga posts recentes

      - views (`viewsCount`) e reactions (`reactionCounts`) vêm em cada post de
      `/newsletter/messages`, não por evento de webhook

      - `/newsletter/updates` está obsoleta: o WhatsApp não responde e a API
      devolve 504

      - newsletters usam rotas próprias e não devem usar `/message/edit` ou
      `/message/delete`
  - name: Respostas Rápidas
    description: >
      Gerenciamento de respostas rápidas para agilizar o atendimento.


      **⚠️ Importante**: Este recurso tem serventia apenas se você utilizar um
      sistema frontend/interface

      personalizada para registrar e utilizar as respostas. A API apenas
      armazena as respostas, 

      mas não as aplica automaticamente.


      ### Como funciona:

      - **Criar**: Cadastre respostas pré-definidas com títulos e conteúdo

      - **Listar**: Recupere todas as respostas cadastradas para exibir na sua
      interface

      - **Usar**: Seu sistema frontend pode usar essas respostas para agilizar
      digitação


      ### Casos de uso:

      - Interfaces web personalizadas de atendimento

      - Apps mobile com sugestões de resposta

      - Sistemas CRM com templates de mensagem

      - Ferramentas de produtividade para atendentes


      **Não é um chatbot**: Para respostas automáticas, use os recursos de
      Chatbot.
  - name: CRM
    description: >
      Sistema completo de gestão de relacionamento com clientes integrado à API.


      **💾 Armazenamento interno**: Todos os dados dos leads ficam salvos
      diretamente na API,

      eliminando a necessidade de bancos de dados externos. Sua aplicação pode
      focar apenas

      na interface e lógica de negócio.


      ### Recursos disponíveis:

      - **📋 20+ campos personalizáveis**: Nome, telefone, email, empresa,
      observações, etc.

      - **🏷️ Sistema de etiquetas**: Organize e categorize seus contatos

      - **🔍 Busca avançada**: Filtre por qualquer campo ou etiqueta

      - **📊 Histórico completo**: Todas as interações ficam registradas
      automaticamente


      ### 🎯 Placeholders em mensagens:

      Use variáveis dinâmicas nas mensagens para personalização automática:


      ```

      Olá {{nome}}! Vi que você trabalha na {{empresa}}.

      Seu email {{email}} está correto?

      Observações: {{observacoes}}

      ```


      ### Fluxo típico:

      1. **Captura**: Leads chegam via WhatsApp ou formulários

      2. **Enriquecimento**: Adicione dados usando `/chat/editLead`

      3. **Segmentação**: Organize com etiquetas

      4. **Comunicação**: Envie mensagens personalizadas com placeholders

      5. **Acompanhamento**: Histórico fica salvo automaticamente


      **Ideal para**: Vendas, marketing, atendimento, qualificação de leads
  - name: Integração Chatwoot
    description: >
      **🚧 INTEGRAÇÃO BETA - Sistema de integração com Chatwoot para atendimento
      unificado**


      **⚠️ AVISO**: Esta integração está em fase BETA. Use por sua conta e
      risco. Recomendamos testes em ambiente não-produtivo antes do uso em
      produção.


      Esta categoria contém recursos para configurar e gerenciar a integração
      com o Chatwoot, uma plataforma de atendimento ao cliente open-source. A
      integração permite centralizar conversas do WhatsApp no Chatwoot.


      ### Recursos disponíveis:

      - 🔧 **Configuração Completa**: Configure URL, tokens e credenciais do
      Chatwoot

      - 📬 **Sincronização Bidirecional**: Mensagens novas entre WhatsApp e
      Chatwoot são sincronizadas automaticamente

      - 📱 **Gerenciamento de Contatos**: Sincronização automática de nomes e
      telefones

      - 🔄 **Atualização LID→PN**: Migração automática de Local ID para Phone
      Number

      - 🏷️ **Nomes Inteligentes**: Sistema de nomes com til (~) para
      atualização automática

      - 🚫 **Separação de Grupos**: Opção para ignorar grupos na sincronização

      - 👤 **Assinatura de Mensagens**: Identificação do agente nas mensagens
      enviadas

      - 🔗 **Webhook Automático**: URL gerada automaticamente para configurar no
      Chatwoot


      ### 🏷️ Sistema de Nomes Inteligentes:

      - **Nomes com til (~)**: Atualizados automaticamente quando contato
      modifica nome no WhatsApp

      - **Nomes específicos**: Para nome fixo, remover til (~) do nome no
      Chatwoot

      - **Exemplo**: "~João Silva" = automático, "João Silva" = fixo

      - **Migração LID→PN**: Sem duplicação de conversas durante a transição

      - **Respostas nativas**: Aparecem diretamente no Chatwoot sem marcações
      externas


      ### ⚠️ Limitações conhecidas:

      - **Sincronização de histórico**: Não implementada - apenas mensagens
      novas são sincronizadas


      ### Casos de uso:

      - Atendimento centralizado no Chatwoot

      - Equipes de suporte com múltiplos agentes

      - Integração com CRM via Chatwoot

      - Centralização de canais de comunicação

      - Gestão automática de contatos e nomes


      **Ideal para**: Empresas com equipes de atendimento, call centers, suporte
      técnico (em ambiente de testes)


      **Requer**: Instância do Chatwoot configurada, tokens de API e ambiente de
      testes


      **🚧 Lembre-se**: Integração em BETA - funcionalidades podem mudar sem
      aviso prévio
  - name: Server-Sent Events (SSE)
paths:
  /group/ephemeral:
    post:
      tags:
        - Grupos e Comunidades
      summary: Configurar mensagens temporárias em grupo
      description: >
        Define o temporizador de mensagens temporárias (disappearing messages)
        de um grupo.


        Valores aceitos para a duração:

        - `0` ou `off` para desativar

        - `1d`

        - `7d`

        - `90d`


        Observações:

        - este endpoint é apenas para grupos

        - requer privilégios de administrador do grupo

        - se o identificador informado não for de grupo, a API retorna erro
        orientando usar `/chat/ephemeral`

        - após sucesso, a resposta devolve o chat e os dados atualizados do
        grupo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - groupjid
                - duration
              properties:
                groupjid:
                  type: string
                  description: JID do grupo no formato xxxxx@g.us
                  example: 120363339858396166@g.us
                duration:
                  oneOf:
                    - type: string
                    - type: integer
                  description: Duração desejada para mensagens temporárias
                  example: 1d
            examples:
              ativar_1_dia:
                summary: Ativar por 1 dia
                value:
                  groupjid: 120363339858396166@g.us
                  duration: 1d
              desativar:
                summary: Desativar mensagens temporárias
                value:
                  groupjid: 120363339858396166@g.us
                  duration: 'off'
      responses:
        '200':
          description: Temporizador atualizado com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  response:
                    type: string
                    example: Ephemeral timer updated successfully
                  chat:
                    $ref: '#/components/schemas/Chat'
                  ephemeral:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        example: true
                      seconds:
                        type: integer
                        format: int64
                        example: 86400
                      label:
                        type: string
                        example: 1d
                  group:
                    $ref: '#/components/schemas/Group'
                  needs_refresh:
                    type: boolean
                    description: >-
                      Indica se os detalhes do grupo precisam ser consultados
                      novamente
                    example: false
              examples:
                sucesso:
                  summary: Timer atualizado
                  value:
                    response: Ephemeral timer updated successfully
                    chat:
                      wa_chatid: 120363339858396166@g.us
                      wa_ephemeralExpiration: 86400
                      wa_isGroup: true
                    ephemeral:
                      enabled: true
                      seconds: 86400
                      label: 1d
                    group:
                      JID: 120363339858396166@g.us
                      IsEphemeral: true
                      DisappearingTimer: 86400
                    needs_refresh: false
        '400':
          description: Payload inválido, grupo inválido ou duração não suportada
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: 'invalid duration. Allowed values: 0, off, 1d, 7d, 90d'
        '401':
          description: Token inválido ou ausente
        '403':
          description: Usuário não é administrador do grupo
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: user is not an admin of this group
        '500':
          description: Erro interno ao atualizar o temporizador
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: 'Error updating chat ephemeral timer: connection closed'
components:
  schemas:
    Chat:
      type: object
      description: Representa uma conversa/chamado no sistema
      properties:
        id:
          type: string
          description: ID único da conversa (r + 7 bytes aleatórios em hex)
        wa_fastid:
          type: string
          description: Identificador rápido do WhatsApp
        wa_chatid:
          type: string
          description: ID completo do chat no WhatsApp
        wa_chatlid:
          type: string
          description: LID do chat no WhatsApp (quando disponível)
        wa_archived:
          type: boolean
          description: Indica se o chat está arquivado
          default: false
        wa_contactName:
          type: string
          description: >
            Nome salvo na agenda do celular deste número (vazio: não está
            salvo). A conversa nasce com ele (por LID, pelo número ligado) e ele
            muda quando o contato é salvo ou apagado no celular.
          default: ''
        wa_name:
          type: string
          description: >
            Nome definido pelo usuário no perfil do WhatsApp ("push name").

            Vem do perfil do contato e pode não estar disponível dependendo do
            contexto ou da origem dos dados.
          default: ''
        name:
          type: string
          description: >
            Nome resolvido pelo sistema como fallback.

            Normalmente consolida o melhor valor disponível entre dados
            internos, nome vindo do WhatsApp e nome salvo nos contatos.

            Por isso, costuma ter maior chance de vir preenchido.
          default: ''
        image:
          type: string
          description: URL da imagem do chat
          default: ''
        imagePreview:
          type: string
          description: URL da miniatura da imagem
          default: ''
        parent_community:
          type: object
          description: Comunidade pai do chat quando ele representa um subgrupo
          properties:
            jid:
              type: string
              format: jid
            name:
              type: string
            image_url:
              type: string
            image_preview_url:
              type: string
            default_subgroup_jid:
              type: string
              format: jid
        wa_ephemeralExpiration:
          type: integer
          format: int64
          description: Tempo de expiração de mensagens efêmeras
          default: 0
        wa_isBlocked:
          type: boolean
          description: Indica se o contato está bloqueado
          default: false
        wa_isGroup:
          type: boolean
          description: Indica se é um grupo
          default: false
        wa_isGroup_admin:
          type: boolean
          description: Indica se o usuário é admin do grupo
          default: false
        wa_isGroup_announce:
          type: boolean
          description: Indica se é um grupo somente anúncios
          default: false
        wa_isGroup_community:
          type: boolean
          description: Indica se é uma comunidade
          default: false
        wa_isGroup_member:
          type: boolean
          description: Indica se é membro do grupo
          default: false
        wa_isPinned:
          type: boolean
          description: Indica se o chat está fixado
          default: false
        wa_label:
          type: array
          description: Labels do chat
          items:
            type: string
        wa_notes:
          type: string
          description: Anotações internas do chat sincronizadas via app state
          default: ''
        wa_lastMessageTextVote:
          type: string
          description: Texto/voto da última mensagem
          default: ''
        wa_lastMessageType:
          type: string
          description: Tipo da última mensagem
          default: ''
        wa_lastMsgTimestamp:
          type: integer
          format: int64
          description: Timestamp da última mensagem
          default: 0
        wa_lastMessageSender:
          type: string
          description: Remetente da última mensagem
          default: ''
        lead_awaitingReply:
          type: boolean
          readOnly: true
          description: >-
            `true` quando o contato espera resposta: a última mensagem é dele e
            ninguém concluiu a conversa (`POST /lead/resolve`). A mensagem do
            contato liga; a nossa (você, a IA, um fluxo ou uma integração)
            desliga. Nas conversas anteriores a este campo, a api decide pelo
            remetente (o número ou o LID da instância). Só em conversas com
            pessoas: ausente em grupos e canais, que não entram em nenhum dos
            dois filtros, e quando a conversa não tem última mensagem conhecida
            (só a data). Filtrável no `/chat/find`.
        wa_muteEndTime:
          type: integer
          format: int64
          description: Timestamp do fim do silenciamento
          default: 0
        owner:
          type: string
          description: Dono da instância
          default: ''
        wa_unreadCount:
          type: integer
          format: int64
          description: Contador de mensagens não lidas
          default: 0
        phone:
          type: string
          description: Número de telefone
          default: ''
        common_groups:
          type: string
          description: 'Grupos em comum separados por vírgula, formato: (nome_grupo)id_grupo'
          default: ''
          example: >-
            Grupo
            Família(120363123456789012@g.us),Trabalho(987654321098765432@g.us)
        lead_name:
          type: string
          description: Nome do lead
          default: ''
        lead_fullName:
          type: string
          description: Nome completo do lead
          default: ''
        lead_email:
          type: string
          description: Email do lead
          default: ''
        lead_personalid:
          type: string
          description: Documento de identificação
          default: ''
        lead_status:
          type: string
          description: Status livre do lead
          default: ''
        lead_tags:
          type: array
          description: >
            Tags do lead. Tags configuradas com `kanban=true` também determinam
            as

            colunas em que o cartão aparece no Kanban.
          items:
            type: string
        lead_notes:
          type: string
          description: Anotações sobre o lead
          default: ''
        lead_isTicketOpen:
          type: boolean
          description: Indica se tem ticket aberto
          default: false
        lead_assignedAttendant_id:
          type: string
          description: ID do atendente responsável
          default: ''
        lead_kanbanOrder:
          type: integer
          format: int64
          description: Ordem no kanban
          default: 0
        lead_field01:
          type: string
          default: ''
        lead_field02:
          type: string
          default: ''
        lead_field03:
          type: string
          default: ''
        lead_field04:
          type: string
          default: ''
        lead_field05:
          type: string
          default: ''
        lead_field06:
          type: string
          default: ''
        lead_field07:
          type: string
          default: ''
        lead_field08:
          type: string
          default: ''
        lead_field09:
          type: string
          default: ''
        lead_field10:
          type: string
          default: ''
        lead_field11:
          type: string
          default: ''
        lead_field12:
          type: string
          default: ''
        lead_field13:
          type: string
          default: ''
        lead_field14:
          type: string
          default: ''
        lead_field15:
          type: string
          default: ''
        lead_field16:
          type: string
          default: ''
        lead_field17:
          type: string
          default: ''
        lead_field18:
          type: string
          default: ''
        lead_field19:
          type: string
          default: ''
        lead_field20:
          type: string
          default: ''
        chatbot_agentResetMemoryAt:
          type: integer
          format: int64
          description: >-
            Início da memória da IA (ms): o agente só lê as mensagens da
            conversa a partir daqui. 0: sem corte (vale a janela do agente).
            Grave pelo `/chat/editLead`.
          default: 0
        chatbot_lastTrigger_id:
          type: string
          description: ID do último gatilho executado
          default: ''
        chatbot_lastTriggerAt:
          type: integer
          format: int64
          description: Timestamp do último gatilho
          default: 0
        chatbot_disableUntil:
          type: integer
          format: int64
          description: >-
            Automação (IA, gatilhos e fluxos) pausada nesta conversa até este
            horário, em milissegundos. `-1`: até alguém religar; `0`: ligada.
          default: 0
        chatbot_summary:
          type: string
          description: >-
            Motivo da pausa feita pela automação: pedido de humano (IA ou fluxo;
            pausa até alguém religar) ou limite de respostas da IA (pausa de 1
            hora). Vazio quando não há pausa ou depois que ela acaba. Religar
            (`chatbot_disableUntil: 0` no `/chat/editLead`) ou concluir (`POST
            /lead/resolve`) limpa.
          default: ''
    Group:
      type: object
      description: Representa um grupo/conversa coletiva
      properties:
        JID:
          type: string
          format: jid
          description: Identificador único do grupo
          example: jid8@g.us
        OwnerJID:
          type: string
          format: jid
          description: JID do proprietário do grupo
          example: 1232@s.whatsapp.net
        OwnerPN:
          type: string
          format: jid
          description: Número/LID do proprietário (quando disponível)
        Name:
          type: string
          description: Nome do grupo
          example: Grupo de Suporte
        NameSetAt:
          type: string
          format: date-time
          description: Data da última alteração do nome
        NameSetBy:
          type: string
          format: jid
          description: JID do usuário que definiu o nome
        NameSetByPN:
          type: string
          format: jid
          description: LID/PN de quem definiu o nome
        Topic:
          type: string
          description: Descrição do grupo
        TopicID:
          type: string
          description: ID interno da descrição
        TopicSetAt:
          type: string
          format: date-time
          description: Data da última alteração da descrição
        TopicSetBy:
          type: string
          format: jid
          description: JID de quem alterou a descrição
        TopicSetByPN:
          type: string
          format: jid
          description: LID/PN de quem alterou a descrição
        TopicDeleted:
          type: boolean
          description: Indica se a descrição foi apagada
        IsLocked:
          type: boolean
          description: |
            Indica se apenas administradores podem editar informações do grupo
            - true = apenas admins podem editar
            - false = todos podem editar
          example: true
        IsAnnounce:
          type: boolean
          description: Indica se apenas administradores podem enviar mensagens
        AnnounceVersionID:
          type: string
          description: Versão da configuração de anúncios
        IsEphemeral:
          type: boolean
          description: Indica se as mensagens são temporárias
        DisappearingTimer:
          type: integer
          description: Tempo em segundos para desaparecimento de mensagens
          minimum: 0
        IsIncognito:
          type: boolean
          description: Indica se o grupo é incognito
        IsParent:
          type: boolean
          description: Indica se é um grupo pai (comunidade)
        IsJoinApprovalRequired:
          type: boolean
          description: Indica se requer aprovação para novos membros
        LinkedParentJID:
          type: string
          format: jid
          description: JID da comunidade vinculada
        IsDefaultSubGroup:
          type: boolean
          description: Indica se é um subgrupo padrão da comunidade
        DefaultMembershipApprovalMode:
          type: string
          description: Modo padrão de aprovação de membros (quando comunidade)
        GroupCreated:
          type: string
          format: date-time
          description: Data de criação do grupo
        CreatorCountryCode:
          type: string
          description: Código do país do criador
        ParticipantVersionID:
          type: string
          description: Versão da lista de participantes
        Participants:
          description: >-
            Lista de participantes. É null quando omitida por noParticipants e
            pode estar vazia quando participant_profiles estiver presente.
          oneOf:
            - type: array
              items:
                $ref: '#/components/schemas/GroupParticipant'
            - type: 'null'
        MemberAddMode:
          type: string
          enum:
            - ''
            - admin_add
            - all_member_add
          description: Modo de adição de novos membros
        AddressingMode:
          type: string
          enum:
            - ''
            - pn
            - lid
          description: Endereçamento preferido do grupo
        OwnerCanSendMessage:
          type: boolean
          description: Verifica se é possível você enviar mensagens
        OwnerIsAdmin:
          type: boolean
          description: >-
            Indica privilégio de administrador confirmado. Pode estar ausente
            quando falso; dados parciais não concedem privilégio de
            administrador.
        DefaultSubGroupId:
          type: string
          description: >-
            Se o grupo atual for uma comunidade, nesse campo mostrará o ID do
            subgrupo de avisos
        invite_link:
          type: string
          description: >-
            Link de convite, exposto somente para administrador com permissão
            confirmada. Pode estar ausente; não assuma que toda leitura consulta
            o WhatsApp.
        request_participants:
          type: string
          description: >-
            Pedidos conhecidos de entrada, separados por vírgula. Exposto
            somente para administrador quando solicitado.
        image_url:
          type: string
          description: >-
            URL da imagem completa já persistida; a API não consulta o WhatsApp
            durante a listagem
        image_preview_url:
          type: string
          description: URL do preview já persistido
        picture_id:
          type: string
          description: Identificador da imagem completa no WhatsApp
        picture_preview_id:
          type: string
          description: Identificador do preview no WhatsApp
        picture_empty_at:
          type: string
          format: date-time
          description: Última confirmação de que o grupo não possuía imagem
        image_checked_at:
          type: string
          format: date-time
          description: Última consulta da imagem completa
        image_preview_checked_at:
          type: string
          format: date-time
          description: Última consulta do preview
        parent_community:
          type: object
          description: Resumo da comunidade pai de um subgrupo
          properties:
            jid:
              type: string
              format: jid
            name:
              type: string
            image_url:
              type: string
            image_preview_url:
              type: string
            default_subgroup_jid:
              type: string
              format: jid
        participant_profiles:
          type: array
          description: >-
            Perfis adicionais dos participantes, quando disponíveis. Campos
            ausentes não devem ser inferidos.
          items:
            type: object
            description: >-
              Perfil adicional de um participante; campos ausentes não devem ser
              inferidos.
            properties:
              jid:
                type: string
                format: jid
              pn:
                type: string
                format: jid
              lid:
                type: string
                format: jid
              username:
                type: string
              display_name:
                type: string
              name:
                type: string
              image_url:
                type: string
              image_preview_url:
                type: string
              picture_id:
                type: string
              picture_preview_id:
                type: string
              is_admin:
                type: boolean
              is_super_admin:
                type: boolean
        ParticipantCount:
          type: integer
          minimum: 0
          description: >-
            Quantidade conhecida de participantes. Pode diferir do tamanho da
            lista quando os dados estiverem parciais ou tiverem sido omitidos da
            resposta.
        request_participants_lid:
          type: string
          description: >-
            LIDs dos pedidos conhecidos de entrada, separados por vírgula;
            somente para administrador quando solicitado.
    GroupParticipant:
      type: object
      description: Participante de um grupo
      properties:
        JID:
          type: string
          format: jid
          description: Identificador do participante
        LID:
          type: string
          format: jid
          description: Identificador local do participante
        PhoneNumber:
          type: string
          format: jid
          description: Número do participante (quando disponível)
        IsAdmin:
          type: boolean
          description: Indica se é administrador
        IsSuperAdmin:
          type: boolean
          description: Indica se é super administrador
        DisplayName:
          type: string
          description: Nome exibido ou resolvido localmente para o participante
        ImagePreview:
          type: string
          description: >-
            Campo legado não preenchido. Use
            participant_profiles[].image_preview_url.
          deprecated: true
        Error:
          type: integer
          description: Código de erro ao adicionar participante
          minimum: 0
        AddRequest:
          description: Informações da solicitação de entrada
          oneOf:
            - type: object
              properties:
                Code:
                  type: string
                  description: Código da solicitação
                Expiration:
                  type: string
                  format: date-time
                  description: Data de expiração da solicitação
            - type: 'null'
        Username:
          type: string
          description: Username observado no WhatsApp, quando disponível.
  securitySchemes:
    token:
      name: token
      type: apiKey
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.