Mídia

/v1/media

Use o nó media para carregar, recuperar ou excluir mídias.

Bordas

As seguintes bordas estão relacionadas ao nó:

BordaDescrição

/{media-id}

Use esta borda para recuperar e excluir mídias.

Antes de começar

As mídias enviadas por meio de mensagens são armazenadas nos servidores do WhatsApp por 14 dias. Se um usuário fizer uma solicitação para baixar a mídia depois desse período, os servidores do WhatsApp solicitarão o mesmo arquivo de mídia do cliente local do WhatsApp Business. Se a mídia tiver sido removida, o usuário será notificado de que ela está indisponível.

Não é seguro supor que o download foi concluído apenas com base nos recibos de entrega e leitura. No geral, as mídias de saída podem ser removidas depois de 30 dias, mas use a estratégia que melhor se adapta à sua empresa.

Limitações

  • Caso você use o processo de carregamento de mídia em vez de um link para a URL da mídia em questão, o arquivo precisará ser carregado no volume de mídia. Quando o carregamento for concluído, envie uma mensagem usando o ID de mídia.
  • O aplicativo processa a mídia carregada antes que ela seja enviada ao servidor. O tamanho máximo da mídia que pode ser carregada no nó media é 100 MB. No entanto, há limites após o processamento para os vários tipos de mídia descritos na tabela Tamanho de mídia após o processamento abaixo.
  • O armazenamento de mídia precisa ser gerenciado pela empresa. Se o volume de mídia alcançar o limite, o envio de mensagens começará a falhar.
  • Não há suporte às seguintes ações:
    • Envio de mídia por streams de bytes
    • Envio de mensagens com figurinhas animadas

Como carregar

Faça uma solicitação POST para /v1/media a fim de carregar a mídia. O corpo da solicitação local deve conter os dados de mídia binária, e o cabeçalho Content-Type precisa ser definido de acordo com o tipo de mídia carregado. Consulte a seção Tipos de conteúdo compatíveis para ver as opções aceitas.

Enviar os dados binários em uma solicitação POST HTTP é o método-padrão para carregar dados binários. Por exemplo, se quiser carregar uma imagem, envie uma solicitação POST com os bytes reais da imagem na carga. Outra opção é usar --data-binary caso você queira que cURL leia e use o arquivo fornecido em binários exatamente como ele está.

Exemplo

Carregamento de mídia:

POST /v1/media
Content-Type: image/jpeg or other appropriate media type

your-binary-media-data

Carregamento de mídia com cURL:

curl -X POST \
https://your-webapp-hostname:your-webapp-port/v1/media \
-H 'Authorization: Bearer your-auth-token' \ 
-H 'Content-Type: image/jpeg'  \ # or other appropriate media type
--data-binary @your-file-path

Em ambos os casos, uma resposta bem-sucedida retorna o campo id, necessário para recuperar mídias ou enviar mensagens de mídia aos clientes.

{
    "media": [
        {
            "id": "f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68"
        }
    ]
}

Se você receber uma mensagem de erro, consulte Mensagens de erro e status para saber mais.

Tipos de conteúdo compatíveis

Mídia Tipos de conteúdo compatíveis

audio

audio/aac, audio/mp4, audio/amr, audio/mpeg e
audio/ogg; codecs=opus


Observação: para ogg/opus, apenas arquivos de áudio de canal único são aceitos por clientes do WhatsApp.

document

Qualquer tipo MIME válido.

image

image/jpeg e image/png


No momento, imagens com fundo transparente não são compatíveis.

sticker

image/webp

video

video/mp4 e video/3gpp


Observações:

  • Apenas o codec de vídeo H.264 e o codec de áudio AAC são compatíveis.
  • Aceitamos vídeos com stream de áudio único ou sem stream de áudio.

Tamanho de mídia após o processamento

Este é o tamanho máximo permitido do arquivo de mídia após os processos de compactação e criptografia.

Tipo de mídia Tamanho

audio

16 MB

document

100 MB

image

5 MB

sticker

100 KB

video

16 MB

Perguntas frequentes

Para imagens, a legenda será adicionada como uma descrição. O texto da legenda aparece completo em imagens no Android e no iPhone.

Para documentos, a legenda substitui o nome do arquivo. O objetivo não é que seja exibida no dispositivo do usuário como um texto de descrição, e sim exibir o nome do arquivo. No iPhone, o texto completo é exibido, e no Android, o nome do arquivo é truncado. Isso ocorre devido a uma limitação técnica da implementação atual do WhatsApp em ambos os dispositivos.

O momento de excluir arquivos de mídia fica a seu critério.

Após carregar arquivos de mídia, você receberá um ID da mídia, que poderá ser usado para enviar uma mensagem incluindo o elemento de mídia carregado. Quando você enviar a mensagem de mídia, a API do WhatsApp Business criptografará e carregará a mídia para os servidores do WhatsApp, onde ela permanecerá por um período de 14 dias. Depois disso, você poderá optar por excluir a mídia fornecendo o ID dela ou mantê-la para uso posterior. Embora recomendemos que você mantenha a mídia por 30 dias, fica a seu critério decidir qual será a política de retenção com base nas necessidades e no caso de uso da sua empresa.

Não há mecanismos de limpeza para arquivos de mídia enviados nem recebidos. Para excluir seus arquivos de mídia manualmente, encontre-os no seu sistema de arquivos.

Para encontrar o ponto de montagem de seu volume de mídia, você pode executar um comando do Docker.

Solicitação

docker volume inspect whatsappMedia

Resposta

[
    {
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/whatsappMedia/_data",
        "Name": "whatsappMedia",
        "Options": {},
        "Scope": "local"
    }
]

Depois, para ver todos os arquivos de mídia de entrada, você pode executar o comando ls com o caminho de arquivo Mountpoint recebido:

ls /var/lib/docker/volumes/whatsappMedia/_data/

Para a configuração do AWS, o volume de mídia é montado em um caminho /mnt/wa/media no host.

Quando você enviar imagens como álbum por meio da WhatsApp Business API, será necessário enviar pelo menos 4 imagens consecutivas. Se a visualização de conversas do usuário estiver ativa quando as imagens forem recebidas, a visualização em álbum ficará indisponível até o próximo acesso.

Se algum destes critérios for atendido, um álbum não será criado:

  1. Imagens com legendas
  2. Divisor não lido – o usuário vê algumas imagens, mas não o resto
  3. Cabeçalho de data – novo dia entre entregas

Não. No momento, precisamos usar o AWS EFS para compartilhar o volume de mídia entre o Coreapp e o Webapp.

O tamanho máximo para o carregamento de qualquer arquivo é 64 MB. Esse limite também se aplica a qualquer imagem, documento ou vídeo que você enviar em uma mensagem.