SEND_VIDEO - Enviar Vídeo
O que é este Node?
O SEND_VIDEO é o node responsável por enviar vídeos (MP4, 3GPP) via WhatsApp Business API com caption opcional.
Por que este Node existe?
Vídeo é engajamento. O SEND_VIDEO existe para:
- Demonstrações: Mostrar produtos/serviços em ação
- Tutoriais: Ensinar passo a passo
- Marketing: Anúncios em vídeo, promoções
- Depoimentos: Compartilhar testemunhos de clientes
- Conteúdo: Vídeos educativos, informativos
Como funciona internamente?
Quando o SEND_VIDEO é executado, o sistema:
- Valida fonte: Verifica videoUrl ou videoId
- Constrói payload: Cria objeto tipo 'video'
- Adiciona caption: Inclui legenda se fornecida
- Envia para API: POST com tipo video
- Retorna message_id: Confirma envio
Código interno (whatsapp-meta-executor.service.ts:393-434):
private async sendMedia(data: WhatsAppMetaNodeData): Promise<any> {
const mediaType = this.getMediaType(data.operation!);
const mediaUrl = this.getMediaUrl(data);
const mediaId = this.getMediaId(data);
const caption = this.getMediaCaption(data);
const mediaObject: any = {};
if (mediaId) {
mediaObject.id = mediaId;
} else {
mediaObject.link = mediaUrl;
}
if (caption) {
mediaObject.caption = caption;
}
const payload = {
messaging_product: 'whatsapp',
to: data.recipientPhone,
type: mediaType,
[mediaType]: mediaObject
};
const response: AxiosResponse = await axios.post(
`${this.WHATSAPP_API_BASE}/${data.phoneNumberId}/messages`,
payload,
{
headers: {
'Authorization': `Bearer ${data.accessToken}`,
'Content-Type': 'application/json'
}
}
);
return response.data;
}
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| operation | string | Sim | Deve ser "send_video" |
| accessToken | string | Sim | Token de acesso da WhatsApp Business API |
| phoneNumberId | string | Sim | ID do número WhatsApp Business |
| recipientPhone | string | Sim | Número do destinatário |
| videoUrl | string | Condicional | URL do vídeo (obrigatório se sem videoId) |
| videoId | string | Condicional | ID do vídeo (obrigatório se sem videoUrl) |
| videoCaption | string | Não | Legenda do vídeo |
Exemplo Completo: Tutorial de Produto
{
"name": "Tutorial Produto - SEND_VIDEO",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "message_1",
"type": "message",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Introdução",
"parameters": {
"message": "🎥 Como usar seu novo produto\n\nVeja o vídeo tutorial:"
}
}
},
{
"id": "whatsapp_1",
"type": "whatsapp_meta",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Enviar Tutorial",
"parameters": {
"operation": "send_video",
"accessToken": "EAAxxxxxxxx",
"phoneNumberId": "123456789",
"recipientPhone": "5511999999999",
"videoUrl": "https://videos.empresa.com/tutorial-produto.mp4",
"videoCaption": "📱 Tutorial Completo\n\nAprenda a configurar e usar seu produto em 3 minutos!\n\nDúvidas? Estamos à disposição."
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 700, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "message_1" },
{ "source": "message_1", "target": "whatsapp_1" },
{ "source": "whatsapp_1", "target": "end_1" }
]
}
Formatos Suportados
- MP4: Recomendado (H.264 codec)
- 3GPP: Formato mobile
- Tamanho máximo: 16MB
Boas Práticas
✅ SIM: - Comprima vídeos antes de enviar - Use resolução 720p (HD) - Mantenha vídeos curtos (< 2 minutos) - Use caption descritivo
❌ NÃO: - Não envie vídeos longos (> 5 min) - Não ultrapasse 16MB - Não use resolução 4K (desnecessário)
Dicas
💡 Compressão: Use HandBrake ou FFmpeg para comprimir 💡 Duração: Vídeos < 1 minuto têm melhor engajamento 💡 Codec: H.264 é o mais compatível 💡 Bitrate: 1-2 Mbps é suficiente para 720p
Próximo Node
→ SEND_IMAGE - Enviar imagens → SEND_AUDIO - Enviar áudios