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

# Obter URL da mídia

> Consulte os dados de uma mídia pelo ID, como tipo, tamanho e URL de download.

Consulta uma mídia pelo **ID**, seja ela enviada por você com o [Upload de mídia](https://developers.datafyapi.com.br/api-reference/whatsapp/recursos/midia/upload-de-midia.md), seja recebida de um cliente pelo [webhook](https://developers.datafyapi.com.br/api-reference/whatsapp/webhooks/eventos/mensagens.md). A resposta traz o tipo, o tamanho, o hash e uma URL de download.

```json theme={null}
{
  "messaging_product": "whatsapp",
  "url": "https://lookaside.fbsbx.com/whatsapp_business/attachments/?mid=1234567890123456&ext=1757960000&hash=ATtAbCdEfGh",
  "mime_type": "image/jpeg",
  "sha256": "c160fa1bc488af7f48984bd627bc5cbc5a20b98eaaf11af92e99a206b376252d",
  "file_size": 36287,
  "id": "1234567890123456"
}
```

## A URL não abre sozinha

> [!WARNING]
>
> A `url` da resposta aponta para o domínio da Meta, **expira em 5 minutos** e só funciona com o **token da Meta**. Ela não abre no navegador nem com o seu token `sk_live_xxx`: nos dois casos a resposta é `401`.

Como o token da Meta fica guardado na Datafy e nunca é exposto, **baixar o arquivo por essa URL não é possível pela API**. Para obter o arquivo, use o endpoint da Datafy [Baixar mídia recebida](https://developers.datafyapi.com.br/api-reference/whatsapp/datafy/baixar-midia.md): ele busca a mídia na Meta, guarda o arquivo e devolve uma URL pronta, válida por 30 dias.

| O que você quer | Endpoint |
| - | - |
| Saber o tipo, o tamanho ou o hash da mídia | **Obter URL da mídia** (esta página) |
| Baixar o arquivo | [Baixar mídia recebida](https://developers.datafyapi.com.br/api-reference/whatsapp/datafy/baixar-midia.md) |

## Prazos

* Mídia enviada por você com o upload fica disponível por **30 dias**, se não for apagada antes.
* Mídia recebida de um cliente pelo webhook fica disponível para download por **7 dias**.

O parâmetro opcional `phone_number_id` faz a Meta processar a consulta só quando a mídia pertence àquele número.

Veja mais detalhes na [documentação de mídia da Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/media).


## OpenAPI

````yaml api-reference/whatsapp/specs/obter-url-midia.json GET /v1/{media_id}
openapi: 3.1.0
info:
  title: Datafy API — Obter URL da mídia
  version: 1.0.0
servers:
  - url: https://cloud.datafyapi.com.br
    description: Produção
security:
  - bearerAuth: []
paths:
  /v1/{media_id}:
    get:
      summary: Obter URL da mídia
      description: >-
        Espelho de `GET /{media_id}` da Meta Cloud API. Retorna os dados da
        mídia e uma URL de download que expira em 5 minutos.
      operationId: obterUrlMidia
      parameters:
        - name: media_id
          in: path
          required: true
          schema:
            type: string
          description: ID da mídia, retornado pelo upload ou recebido no webhook.
        - name: phone_number_id
          in: query
          required: false
          schema:
            type: string
          description: >-
            Opcional. Se informado, a Meta só processa a requisição quando a
            mídia pertence a esse número.
      responses:
        '200':
          description: Dados da mídia.
          content:
            application/json:
              schema:
                type: object
                properties:
                  messaging_product:
                    type: string
                    description: Sempre `whatsapp`.
                  url:
                    type: string
                    description: >-
                      URL de download da mídia, no domínio da Meta. Expira em 5
                      minutos e exige o token da Meta.
                  mime_type:
                    type: string
                    description: Tipo MIME do arquivo.
                  sha256:
                    type: string
                    description: Hash SHA-256 do arquivo.
                  file_size:
                    type: integer
                    description: Tamanho do arquivo em bytes.
                  id:
                    type: string
                    description: ID da mídia.
              example:
                messaging_product: whatsapp
                url: >-
                  https://lookaside.fbsbx.com/whatsapp_business/attachments/?mid=1234567890123456&ext=1757960000&hash=ATtAbCdEfGh
                mime_type: image/jpeg
                sha256: >-
                  c160fa1bc488af7f48984bd627bc5cbc5a20b98eaaf11af92e99a206b376252d
                file_size: 36287
                id: '1234567890123456'
        '400':
          description: Erro retornado pela Meta, como ID inválido ou expirado.
          content:
            application/json:
              example:
                error:
                  message: (#100) Invalid parameter
                  type: OAuthException
                  code: 100
                  fbtrace_id: AbCdEfGhIjK
        '401':
          description: Token ausente ou inválido.
          content:
            application/json:
              example:
                statusCode: 401
                message: Token inválido ou não encontrado.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Token gerado no painel da Datafy ao criar o canal. Formato:
        `sk_live_xxx`.

````

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