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

# Visualizar Mensagens do Canal

> Visualizar prévia das mensagens de um canal antes de segui-lo

## Descrição

Este endpoint permite visualizar uma prévia das mensagens de um canal sem precisar segui-lo. É útil para ver o conteúdo do canal antes de decidir se deseja segui-lo.

## Parâmetros de URL

<ParamField path="session" type="string" required>
  ID único da sessão WhatsApp autenticada
</ParamField>

<ParamField path="id" type="string" required>
  ID único do canal que deseja visualizar as mensagens
</ParamField>

## Parâmetros de Query

<ParamField query="invite" type="string" required>
  Código de convite do canal
</ParamField>

<ParamField query="limit" type="number" default="10">
  Número máximo de mensagens a retornar (padrão: 10)
</ParamField>

## Resposta

<ResponseField name="messages" type="array">
  Array contendo as mensagens do canal

  <Expandable title="Propriedades da mensagem">
    <ResponseField name="id" type="string">
      ID único da mensagem
    </ResponseField>

    <ResponseField name="content" type="string">
      Conteúdo da mensagem
    </ResponseField>

    <ResponseField name="timestamp" type="number">
      Timestamp da mensagem
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Resposta de Sucesso theme={null}
  {
    "messages": [
      {
        "id": "msg_123",
        "content": "Bem-vindo ao nosso canal!",
        "timestamp": 1672531200
      },
      {
        "id": "msg_124",
        "content": "Confira as novidades desta semana",
        "timestamp": 1672617600
      }
    ]
  }
  ```
</ResponseExample>

## Códigos de Status

* `200` - Prévia obtida com sucesso
* `400` - Parâmetros inválidos ou faltando código de convite
* `401` - Não autorizado
* `404` - Canal não encontrado
* `500` - Erro interno do servidor

## Exemplo de Uso

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.wappfy.com.br/api/my-session/channels/123456789@newsletter/messages/preview?invite=ABC123&limit=10"
  ```

  ```javascript JavaScript theme={null}
  const session = 'my-session';
  const channelId = '123456789@newsletter';
  const invite = 'ABC123';
  const limit = 10;
  const response = await fetch(
    `https://api.wappfy.com.br/api/${session}/channels/${channelId}/messages/preview?invite=${invite}&limit=${limit}`
  );
  const data = await response.json();
  console.log(data.messages);
  ```

  ```python Python theme={null}
  import requests

  session = 'my-session'
  channel_id = '123456789@newsletter'
  invite = 'ABC123'
  limit = 10
  response = requests.get(
    f'https://api.wappfy.com.br/api/{session}/channels/{channel_id}/messages/preview',
    params={'invite': invite, 'limit': limit}
  )
  data = response.json()
  print(data['messages'])
  ```
</CodeGroup>


## OpenAPI

````yaml viewer.json get /api/{session}/channels/{id}/messages/preview
openapi: 3.1.0
info:
  title: Wappfy - WhatsApp HTTP API
  version: '2.0'
  contact: {}
servers:
  - url: https://{host}
    description: Servidor Customizável
    variables:
      host:
        default: api.wappfy.com.br
        description: 'URL do servidor (ex: api.wappfy.com.br ou seu-servidor.com)'
security:
  - api_key: []
tags:
  - name: 🖥️ Sessions
    description: >-
      Controlar sessões do WhatsApp (contas) (Control WhatsApp sessions
      (accounts))
  - name: 🔑 Auth
    description: Autenticação
  - name: 🆔 Profile
    description: Informações do seu perfil
  - name: 🖼️ Screenshot
    description: Obter captura de tela do WhatsApp e mostrar código QR
  - name: 📤 Chatting
    description: Métodos de conversação
  - name: 📢 Channels
    description: Métodos de canais (newsletters) (Channels (newsletters) methods)
  - name: 🟢 Status
    description: Métodos de status (aka stories) (Status (aka stories) methods)
  - name: 💬 Chats
    description: Métodos de conversas
  - name: 👤 Contacts
    description: >-
      Métodos de contatos. Use número de telefone (sem +) ou número de telefone
      e `@c.us` no final como `contactId`. Ex: `12312312310` OU
      `12312312310@c.us` (Contacts methods.<br>
                      Use phone number (without +) or phone number and `@c.us` at the end as `contactId`.<br>
                      'E.g: `12312312310` OR `12312312310@c.us`<br>)
  - name: 👥 Groups
    description: Métodos de grupos (Groups methods).<br>
  - name: ✅ Presence
    description: Informações de presença
  - name: 📅 Events
    description: Mensagem de Evento
  - name: 🏷️ Labels
    description: Etiquetas - disponível apenas para contas WhatsApp Business
  - name: 🔍 Observability
    description: Outros métodos
  - name: 🗄️ Storage
    description: Métodos de armazenamento
externalDocs:
  description: Wappfy - WhatsApp HTTP API
  url: https://wappfy.com.br/
paths:
  /api/{session}/channels/{id}/messages/preview:
    get:
      tags:
        - 📢 Channels
      summary: Visualizar mensagens do canal
      description: >-
        Você pode usar ou código de convite
        (https://www.whatsapp.com/channel/123) ou (123) OU ID do Canal
        (123@newsletter) (You can use either invite code
        (https://www.whatsapp.com/channel/123) or (123)ORChannel ID
        (123@newsletter)). O parâmetro {session} deve ser o session.
      operationId: ChannelsController_previewChannelMessages
      parameters:
        - name: session
          required: true
          in: path
          description: Nome da sessão (instanceName)
          example: my-session
          schema:
            type: string
        - name: id
          required: true
          in: path
          description: ID do canal ou código de convite
          schema:
            default: 0029Va4K0PZ5a245NkngBA2M
        - name: downloadMedia
          required: true
          in: query
          schema:
            type: boolean
            default: false
        - name: limit
          required: true
          in: query
          schema:
            default: 10
            type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ChannelMessage'
      security:
        - api_key: []
components:
  schemas:
    ChannelMessage:
      type: object
      properties:
        reactions:
          type: object
          example:
            👍: 10
            ❤️: 5
          additionalProperties:
            type: number
        message:
          $ref: '#/components/schemas/WAMessage'
        viewCount:
          type: number
      required:
        - reactions
        - message
        - viewCount
    WAMessage:
      type: object
      properties:
        id:
          type: string
          description: ID da mensagem
          example: false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA
        timestamp:
          type: number
          description: Timestamp Unix de quando a mensagem foi criada
          example: 1666943582
        from:
          type: string
          description: ID do chat para o qual esta mensagem foi enviada
          example: 5511999999999@c.us
        fromMe:
          type: boolean
          description: Indica se a mensagem foi enviada pelo usuário atual
        source:
          enum:
            - api
            - app
          type: string
          description: >-
            The device that sent the message - either API or APP. Available in
            events (webhooks/websockets) only and only "fromMe: true" messages.
          example: api
        to:
          type: string
          description: >-
            * ID for who this message is for.

            * If the message is sent by the current user, it will be the Chat to
            which the message is being sent.

            * If the message is sent by another user, it will be the ID for the
            current user.
          example: 5511999999999@c.us
        participant:
          type: string
          description: Para grupos - participante que enviou a mensagem
        body:
          type: string
          description: Conteúdo da mensagem
        hasMedia:
          type: boolean
          description: Indica se a mensagem possui mídia disponível para download
        media:
          description: Objeto de mídia da mensagem, se houver e foi baixada
          allOf:
            - $ref: '#/components/schemas/WAMedia'
        ack:
          enum:
            - -1
            - 0
            - 1
            - 2
            - 3
            - 4
          type: number
          description: Status de confirmação (ACK) da mensagem
        ackName:
          type: string
          description: Nome do status de confirmação da mensagem
        author:
          type: string
          description: >-
            Se a mensagem foi enviada para um grupo, este campo conterá o
            usuário que enviou a mensagem
        location:
          description: Informações de localização contidas na mensagem
          allOf:
            - $ref: '#/components/schemas/WALocation'
        vCards:
          description: Lista de vCards contidos na mensagem
          type: array
          items:
            type: string
        _data:
          type: object
          description: >-
            Mensagem em formato bruto do WhatsApp. Pode mudar a qualquer
            momento, use com cautela!
        replyTo:
          $ref: '#/components/schemas/ReplyToMessage'
      required:
        - id
        - timestamp
        - from
        - fromMe
        - source
        - to
        - participant
        - body
        - hasMedia
        - mediaUrl
        - ack
        - ackName
    WAMedia:
      type: object
      properties:
        url:
          type: string
          description: URL da mídia na mensagem, se houver
          example: >-
            http://localhost:3000/api/files/false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA.oga
        mimetype:
          type: string
          description: Tipo MIME da mídia na mensagem
          example: audio/jpeg
        filename:
          type: string
          description: Nome original do arquivo de mídia
          example: example.pdf
        s3:
          description: Atributos S3 da mídia se você estiver usando armazenamento S3
          allOf:
            - $ref: '#/components/schemas/S3MediaData'
        error:
          type: object
          description: Mensagem de erro ao baixar a mídia
          example: null
    WALocation:
      type: object
      properties:
        description:
          type: string
        latitude:
          type: string
        longitude:
          type: string
      required:
        - latitude
        - longitude
    ReplyToMessage:
      type: object
      properties:
        id:
          type: string
          description: ID da mensagem
          example: AAAAAAAAAAAAAAAAAAAA
        participant:
          type: string
          example: 5511999999999@c.us
        body:
          type: string
          example: Hello!
        _data:
          type: object
          description: Raw data from reply's message
      required:
        - id
    S3MediaData:
      type: object
      properties:
        Bucket:
          type: string
          description: Nome do bucket S3
          example: my-bucket
        Key:
          type: string
          description: Chave do objeto no bucket S3
          example: default/false_11111111111@c.us_AAAAAAAAAAAAAAAAAAAA.oga
      required:
        - Bucket
        - Key
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: apikey
      description: Sua chave de API do Wappfy (obtenha em dash.wappfy.com.br)

````