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

# Enviar uma mensagem via WhatsApp

> Enfileira uma mensagem para envio via WhatsApp. Suporta 10 tipos: texto, imagem, vídeo, áudio, documento, localização, enquete, contato, encaminhamento e reação. A mensagem é processada de forma assíncrona via BullMQ. Números brasileiros são automaticamente reenviados com/sem o 9º dígito em caso de falha.



## OpenAPI

````yaml openapi-pt-BR.json post /api/instances/{instanceId}/messages/send
openapi: 3.0.0
info:
  title: Wappfy API
  description: >-
    WhatsApp API Platform — Manage instances, send messages, and build
    integrations.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.wappfy.io
    description: Production
security: []
tags:
  - name: Instâncias
    description: Criar, conectar e gerenciar instâncias WhatsApp (WAHA ou Cloud API)
  - name: Mensagens
    description: >-
      Enviar mensagens via WhatsApp (texto, mídia, localização, enquete,
      contatos e mais)
  - name: Conversas
    description: >-
      Listar conversas, ler mensagens, marcar como vistas e gerenciar
      indicadores de digitação
  - name: Grupos
    description: Criar e gerenciar grupos WhatsApp, participantes e links de convite
  - name: Contatos
    description: Buscar contatos, verificar números de telefone e obter fotos de perfil
  - name: Etiquetas
    description: Organizar conversas com etiquetas do WhatsApp Business
  - name: Canais
    description: Criar e gerenciar Canais WhatsApp (newsletters)
  - name: Status
    description: Publicar status/stories de texto
  - name: Presença
    description: Definir e obter presença online/offline
  - name: Webhooks
    description: >-
      Configurar endpoints de webhook para receber notificações de eventos em
      tempo real
  - name: Administração
    description: >-
      Administração da plataforma — gerenciamento de usuários, estatísticas e
      monitoramento de proxy (apenas admin)
paths:
  /api/instances/{instanceId}/messages/send:
    post:
      tags:
        - Mensagens
      summary: Enviar uma mensagem via WhatsApp
      description: >-
        Enfileira uma mensagem para envio via WhatsApp. Suporta 10 tipos: texto,
        imagem, vídeo, áudio, documento, localização, enquete, contato,
        encaminhamento e reação. A mensagem é processada de forma assíncrona via
        BullMQ. Números brasileiros são automaticamente reenviados com/sem o 9º
        dígito em caso de falha.
      operationId: MessagesController_send
      parameters:
        - name: instanceId
          required: true
          in: path
          description: UUID da instância WhatsApp
          schema:
            format: uuid
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMessageDto'
      responses:
        '201':
          description: Mensagem enfileirada para envio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendMessageResponseDto'
        '401':
          description: Token de autenticação ausente ou inválido
        '403':
          description: Permissões insuficientes
        '500':
          description: Erro interno do servidor
      security:
        - bearer: []
components:
  schemas:
    SendMessageDto:
      type: object
      properties:
        to:
          type: string
          description: Número de telefone ou chatId do destinatário
        type:
          type: string
          enum:
            - text
            - image
            - video
            - audio
            - document
            - location
            - template
            - poll
            - contact
            - forward
            - reaction
        body:
          type: string
        media_url:
          type: string
        caption:
          type: string
        template_name:
          type: string
        template_params:
          type: object
        location:
          $ref: '#/components/schemas/LocationDto'
        quoted_message_id:
          type: string
          description: ID da mensagem para responder/citar
        edit_message_id:
          type: string
          description: ID da mensagem para editar
        mentions:
          description: '@menções (números de telefone com @c.us)'
          type: array
          items:
            type: string
        poll:
          description: Dados da enquete (type=poll)
          allOf:
            - $ref: '#/components/schemas/PollDto'
        contacts:
          description: Cartões de contato (type=contact)
          type: array
          items:
            $ref: '#/components/schemas/ContactDto'
        forward_message_id:
          type: string
          description: ID da mensagem para encaminhar (type=forward)
        reaction:
          type: string
          description: Emoji de reação (type=reaction), string vazia para remover
        reaction_message_id:
          type: string
          description: ID da mensagem para reagir (type=reaction)
      required:
        - to
        - type
    SendMessageResponseDto:
      type: object
      properties:
        message:
          type: string
          example: Message queued for delivery
          description: Mensagem de confirmação
        jobId:
          type: string
          example: '42'
          description: ID do job BullMQ para rastreamento
      required:
        - message
        - jobId
    LocationDto:
      type: object
      properties:
        latitude:
          type: number
          description: Coordenada de latitude
          example: -23.5505
        longitude:
          type: number
          description: Coordenada de longitude
          example: -46.6333
        name:
          type: string
          description: Nome ou endereço do local
          example: Av. Paulista, São Paulo
      required:
        - latitude
        - longitude
    PollDto:
      type: object
      properties:
        name:
          type: string
          description: Pergunta da enquete
        options:
          description: Opções da enquete
          type: array
          items:
            type: string
        multipleAnswers:
          type: boolean
          description: Permitir múltiplas respostas
      required:
        - name
        - options
        - multipleAnswers
    ContactDto:
      type: object
      properties:
        fullName:
          type: string
        phoneNumber:
          type: string
        organization:
          type: string
        whatsappId:
          type: string
      required:
        - fullName
        - phoneNumber
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````