SEND_IMAGE - Enviar Imagem
O que é este Node?
O SEND_IMAGE é o node responsável por enviar imagens (JPG, PNG) via WhatsApp Business API com caption opcional.
Por que este Node existe?
Imagens valem mil palavras. O SEND_IMAGE existe para:
- Comunicação visual: Enviar fotos de produtos, promoções
- Prova visual: Screenshots, comprovantes visuais
- Marketing: Banners, anúncios, ofertas
- Catálogo: Fotos de produtos para venda
- Caption: Adicionar texto descritivo à imagem
Como funciona internamente?
Quando o SEND_IMAGE é executado, o sistema:
- Valida fonte: Verifica imageUrl ou imageId
- Constrói payload: Cria objeto tipo 'image'
- Adiciona caption: Inclui legenda se fornecida
- Envia para API: POST com tipo image
- 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_image" |
| 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 |
| imageUrl | string | Condicional | URL da imagem (obrigatório se sem imageId) |
| imageId | string | Condicional | ID da imagem (obrigatório se sem imageUrl) |
| imageCaption | string | Não | Legenda da imagem |
Exemplo Completo: Promoção de Produto
{
"name": "Promoção WhatsApp - SEND_IMAGE",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "whatsapp_1",
"type": "whatsapp_meta",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Enviar Promoção",
"parameters": {
"operation": "send_image",
"accessToken": "EAAxxxxxxxx",
"phoneNumberId": "123456789",
"recipientPhone": "5511999999999",
"imageUrl": "https://loja.com/promo/blackfriday.jpg",
"imageCaption": "🔥 BLACK FRIDAY! 50% OFF\n\nTênis Esportivo\nDe: R$ 299,90\nPor: R$ 149,90\n\n⏰ Últimas unidades!\nCódigo: BF2025"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 500, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "whatsapp_1" },
{ "source": "whatsapp_1", "target": "end_1" }
]
}
Formatos Suportados
- JPG/JPEG: Recomendado
- PNG: Suporta transparência
- Tamanho máximo: 5MB
Boas Práticas
✅ SIM: - Otimize imagens antes de enviar (< 500KB ideal) - Use JPG para fotos, PNG para logos/gráficos - Inclua caption descritivo - Use imageId para reenviar mesma imagem
❌ NÃO: - Não envie imagens muito pesadas (> 2MB) - Não use imagens de baixa qualidade - Não ultrapasse 5MB
Dicas
💡 Otimização: Use TinyPNG ou Squoosh para comprimir imagens 💡 Dimensões: 1080x1080px é ideal para produtos 💡 Formato: JPG 80% qualidade é suficiente 💡 Caption: Máximo 1024 caracteres
Próximo Node
→ SEND_VIDEO - Enviar vídeos → SEND_DOCUMENT - Enviar documentos