Media

Media

POST /v1/media — upload de arquivos (imagem/vídeo/documento/áudio) e retorna media_id para uso em mensagens.

Faz upload de mídia e retorna um media_id para usar em POST /v1/messages.

POST /v1/media 201400401402404409413422429

Query: account_id (opcional; default = conexão padrão). Headers: Idempotency-Key (opcional). Body: multipart/form-data com o campo file (binário).

O account_id vai na query string, não como campo multipart. Parsing em stream não enxerga campos após o blob.

LimiteValor
Tamanho (gateway)64 MB
Tamanho (Meta)limites por tipo, mais restritos

Resposta 201

Resposta 201

{ "media_id": "1234567890" }

O media_id da Meta tem TTL de ~30 dias — após isso, o upload precisa ser refeito.

Exemplo

curl -X POST "https://api.wablastmessage.com/v1/media?account_id=ckv..." \
-H "Authorization: Bearer wak_sua_chave" \
-F "file=@/caminho/imagem.jpg"

Use o media_id retornado no campo media.id de POST /v1/messages:

{
  "to": "+5511999990000",
  "type": "image",
  "media": { "id": "1234567890", "caption": "Veja o produto" }
}

GET /v1/media/{id}

Baixa os bytes de uma mídia recebida (o media.id do webhook message.received, não o media_id de upload).

GET /v1/media/{id} 200401404410502429

Path: id (string, obrigatório) — o media.id recebido no webhook.

Resposta 200: stream binário com o Content-Type real do arquivo (imagem/áudio/vídeo/documento).

A Meta apaga mídia recebida ~7 dias após o recebimento. Baixe e guarde logo — depois disso a API retorna 410 MEDIA_EXPIRED.

StatusErroSignificado
404MEDIA_NOT_FOUNDmídia não encontrada
410MEDIA_EXPIREDmídia expirada (apagada pela Meta)
502MEDIA_DOWNLOAD_FAILEDfalha no download junto à Meta

Exemplo

curl -o midia.jpg "https://api.wablastmessage.com/v1/media/1234567890" \
-H "Authorization: Bearer wak_sua_chave"

DELETE /v1/media/{id}

Apaga uma mídia recebida do lado da Meta, completando o CRUD de mídia (upload + download + delete).

DELETE /v1/media/{id} 200401404429

Path: id (string, obrigatório) — o media.id do webhook.

Resposta 200

Resposta 200

{ "success": true }
StatusErroSignificado
404MEDIA_NOT_FOUNDmídia não encontrada

Exemplo

curl -X DELETE "https://api.wablastmessage.com/v1/media/1234567890" \
-H "Authorization: Bearer wak_sua_chave"
Pular para o conteúdo