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

# Consultar envio

> Retorna um envio feito pela API pelo `messageId` devolvido no envio: destinatário, tipo, status e quando foi enviado, entregue e lido. Alternativa ao webhook `MESSAGE.STATUS_UPDATED` para quem prefere consultar. Só encontra mensagens da própria instância e só envios pela API (mensagens digitadas no celular e recebidas não aparecem).



## OpenAPI

````yaml /pt-br/api-reference/openapi.json get /messages/{messageId}
openapi: 3.1.0
info:
  title: Zapfy API
  description: >-
    API de WhatsApp multi-tenant. Envie mensagens e gerencie webhooks por uma
    superfície única.
  version: 1.0.0
servers:
  - url: https://api.zapfy.io/v1
security:
  - accountToken: []
paths:
  /messages/{messageId}:
    get:
      tags:
        - Mensagens
      summary: Consultar envio
      description: >-
        Retorna um envio feito pela API pelo `messageId` devolvido no envio:
        destinatário, tipo, status e quando foi enviado, entregue e lido.
        Alternativa ao webhook `MESSAGE.STATUS_UPDATED` para quem prefere
        consultar. Só encontra mensagens da própria instância e só envios pela
        API (mensagens digitadas no celular e recebidas não aparecem).
      parameters:
        - name: messageId
          in: path
          required: true
          schema:
            type: string
          description: '`messageId` devolvido pelo envio.'
          example: 3EB0C767D26A1D8E4F2B
      responses:
        '200':
          $ref: '#/components/responses/SentMessage'
        '401':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
      security:
        - instanceToken: []
components:
  responses:
    SentMessage:
      description: Envio encontrado.
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/SentMessage'
    Error:
      description: Erro.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Instance not found
  schemas:
    SentMessage:
      type: object
      description: Um envio feito pela API.
      required:
        - messageId
        - to
        - type
        - status
        - createdAt
      properties:
        messageId:
          type: string
          description: ID da mensagem no WhatsApp, o mesmo do envio e dos webhooks.
          example: 3EB0C767D26A1D8E4F2B
        to:
          type: string
          description: Destinatário, como foi enviado em `to`.
          example: '5511999998888'
        type:
          type: string
          enum:
            - TEXT
            - IMAGE
            - VIDEO
            - AUDIO
            - DOCUMENT
            - STICKER
            - LOCATION
            - CONTACT
            - POLL
            - INTERACTIVE
          description: >-
            O que foi enviado. `send-link` é `TEXT`; `send-button`, `send-list`
            e `send-carousel` são `INTERACTIVE`.
          example: TEXT
        status:
          type: string
          enum:
            - QUEUED
            - SENT
            - DELIVERED
            - READ
            - FAILED
          description: >-
            `QUEUED` (aceita, na fila da instância) · `SENT` (✓, o WhatsApp
            aceitou) · `DELIVERED` (✓✓, chegou no aparelho) · `READ` (✓✓ azul) ·
            `FAILED` (não foi enviada; veja `failureReason`). Só avança.
          example: DELIVERED
        failureReason:
          type: string
          enum:
            - NOT_ON_WHATSAPP
            - MEDIA_DOWNLOAD_FAILED
            - MEDIA_INVALID
            - MEDIA_UPLOAD_FAILED
            - INVALID_MESSAGE
            - INSTANCE_LOGGED_OUT
            - INSTANCE_DELETED
            - WHATSAPP_ERROR
          description: >-
            Código do motivo, estável para agrupar e decidir: `NOT_ON_WHATSAPP`
            (o número não tem WhatsApp) · `MEDIA_DOWNLOAD_FAILED` (não deu para
            baixar a mídia da URL) · `MEDIA_INVALID` (o arquivo não serve para o
            tipo de mensagem) · `MEDIA_UPLOAD_FAILED` (o WhatsApp recusou o
            upload da mídia) · `INVALID_MESSAGE` (o WhatsApp não aceita esse
            conteúdo ali) · `INSTANCE_LOGGED_OUT` (a instância foi deslogada com
            a mensagem na fila) · `INSTANCE_DELETED` (a instância foi apagada
            com a mensagem na fila) · `WHATSAPP_ERROR` (o WhatsApp recusou o
            envio depois das tentativas). Presente só com `status` FAILED.
        failureMessage:
          type: string
          description: >-
            O que aconteceu, numa frase com o erro original (em inglês). Para
            mostrar ou registrar; para decidir, use `failureReason`. Presente só
            com `status` FAILED.
          example: >-
            Could not download the media from the URL after 4 attempts: failed
            to download file: HTTP status 404
        createdAt:
          type: string
          format: date-time
          description: Quando o envio foi aceito (202).
          example: '2026-10-04T11:59:59.000Z'
        sentAt:
          type: string
          format: date-time
          description: Quando o WhatsApp aceitou o envio. Ausente enquanto está na fila.
          example: '2026-10-04T12:00:00.000Z'
        deliveredAt:
          type: string
          format: date-time
          description: Quando chegou no aparelho. Ausente enquanto não chegou.
          example: '2026-10-04T12:00:03.000Z'
        readAt:
          type: string
          format: date-time
          description: >-
            Quando foi lida. Ausente enquanto não foi lida (ou se a confirmação
            de leitura estiver desligada).
        failedAt:
          type: string
          format: date-time
          description: Quando o envio foi dado como falho. Presente só com `status` FAILED.
  securitySchemes:
    accountToken:
      type: http
      scheme: bearer
      description: Token de conta (`zpfy_acct_...`) — gerencia instâncias e webhooks.
    instanceToken:
      type: http
      scheme: bearer
      description: Token de instância (`zpfy_inst_...`) — envia mensagens.

````

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