Sign inGet started

Mensagens de vídeo no WhatsApp

Uma mensagem de vídeo carrega uma URL pública que o WhatsApp busca no momento do envio, com uma legenda opcional abaixo dela.

Enviar um vídeo

Defina video.url:
const msg = await bird.whatsapp.send({
  to: "+16505551234",
  from: "+13124495648",
  video: { url: "https://cdn.example.com/unboxing.mp4" },
});
console.log(msg.id, msg.status);
A forma completa adiciona um caption opcional:
Exemplo de código
{
  "to": "+16505551234",
  "from": "+13124495648",
  "video": {
    "url": "https://cdn.example.com/unboxing.mp4",
    "caption": "How to set it up"
  }
}
video não tem o campo filename. from é obrigatório em toda mensagem de serviço: um número que seu espaço de trabalho possui, não um gerenciado pelo Bird.

Limites

CampoLimiteAplicado por
Tamanho do arquivo16 MBapenas WhatsApp, no fetch (async)
FormatoContainer MP4, vídeo H.264, áudio AACapenas WhatsApp, no fetch (async)
captionaté 1.024 caracteresBird, no accept (422)
urlabsoluta, https, com host, sem espaço brutoBird, no accept (422)
Bird verifica o formato da URL e o comprimento da legenda antes de qualquer enfileiramento. Não verifica o tamanho real do arquivo, o container ou o codec; apenas o fetch do próprio WhatsApp no momento do envio pode fazer isso. Consulte envio de mídia por URL e quando a mídia falha no hub.

Lendo um vídeo recebido

Um vídeo recebido carrega o mesmo objeto video, mais um id e mime_type que Bird aprendeu ao buscar o arquivo. Ambos estão ausentes em uma releitura de saída, já que Bird nunca buscou o arquivo que enviou. Consulte Recebendo vídeo no WhatsApp para a leitura completa de entrada, o payload whatsapp.received e o que observar.

Limites e modos de falha

  • A janela de atendimento ao cliente precisa estar aberta. Vídeo é uma mensagem de serviço, entregável apenas dentro de uma janela aberta; consulte a janela de atendimento ao cliente no hub.
  • Bird rejeita http; o próprio WhatsApp faria o fetch. Consulte envio de mídia por URL no hub para a verificação completa de formato.
  • Um fetch rejeitado ainda é cobrado. Consulte quando a mídia falha no hub para media_rejected e o fato da cobrança em caso de falha. O texto de rejeição de vídeo do WhatsApp não foi medido de forma independente como o de imagem, então trate o mapeamento como inferido por simetria, e não confirmado por causa.
  • WhatsApp armazena em cache uma URL buscada por cerca de 10 minutos. Reenviar a mesma URL dentro dessa janela re-serve o primeiro fetch; altere a URL para forçar um novo.
  • Um GIF animado não é um tipo distinto. WhatsApp não tem um tipo de mensagem gif; um GIF animado que você envia chega ao destinatário, e chegaria de volta para você como recebido, como um video comum com tipo MIME MP4.

Próximos passos