Pular para o conteúdo

Mídia por URL assinada

GET/media/{id}/{media_id}desde M2sem token (URL assinada)

Quando usar

Rota fora de /v1, sem token. A assinatura HMAC-SHA256 (segredo em data/media_key) é a credencial. Apagar data/media_key invalida todas as URLs já emitidas.

Autenticação

Não usa token: a URL assinada (exp e sig) é a credencial e vale 1 hora. Assinatura inválida ou expirada responde 403 forbidden.

Parâmetros

Caminho

NomeTipoDescrição
idobrigatóriostringId da instância (inst_...).
media_idobrigatóriostringId da mídia (med_...), de media.id no log.

Query

NomeTipoDescrição
expobrigatóriostringExpiração (unix).
sigobrigatóriostringAssinatura.

Exemplo

Janela do terminal
curl -s "$LITEZAP_URL/media/$ID/$MEDIA_ID?exp=1792252800&sig=9f86d081884c7d65" \
-o arquivo

Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.

Resposta

200 O arquivo. Também: application/octet-stream.

Erros

CódigoHTTPRetentávelO que fazer
forbidden403nãoUse o token certo (admin, ou o da própria instância).
not_found404nãoConfira o id do recurso (mensagem, chat, contato, mídia ou webhook).
instance_not_found404nãoConfira o id da instância.
media_unavailable410nãoA mídia expirou no WhatsApp; peça o arquivo de novo ao contato.

Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.

Equivalente na Z-API: (sem equivalente). Veja Migrar da Z-API.

Outras operações de Mídia: Baixar mídia recebida