This commit is contained in:
julien 2025-05-06 16:24:21 +02:00
parent 91e363ea0d
commit 791967b226

View File

@ -127,50 +127,38 @@ app.post('/sendInteractiveImage', async (req, res) => {
} }
try { try {
// 1) Charger l'image // 1) Charger l'image en buffer
const imagePath = path.join(__dirname, 'public', 'logo-merlo-cs-FR.jpg'); const imagePath = path.join(__dirname, 'public', 'logo-merlo-cs-FR.jpg');
const imageBuffer = fs.readFileSync(imagePath); const imageBuffer = fs.readFileSync(imagePath);
// 2) Préparer le média SANS spécifier explicitement le mimetype : // 2) Envoyer directement avec sendMessage
// Baileys détecte automatiquement le format à partir du buffer :contentReference[oaicite:0]{index=0} await sock.sendMessage(
const preparedMedia = await prepareWAMessageMedia( `${phone}@s.whatsapp.net`,
{ image: imageBuffer },
{ upload: sock.waUploadToServer }
);
// 3) Construire le message interactif avec en-tête IMAGE
const message = {
interactive: {
type: 'button',
header: {
type: 'IMAGE',
image: preparedMedia.image
},
body: {
text: caption || 'Description par défaut'
},
footer: {
text: footer || 'Pied de page'
},
action: {
buttons: [
{ {
type: 'url', image: { url: imageBuffer }, // Buffer pris en charge nativement
title: 'Proposition', caption: caption || 'Description par défaut',
title: title || 'Titre par défaut',
subtitle: subtitle || 'Sous-titre',
footer: footer || 'Pied de page',
media: true, // indique un header media
interactiveButtons: [
{
name: 'cta_url',
buttonParamsJson: JSON.stringify({
display_text: '📄 Proposition',
url: 'https://merlo-ch.com/uploads/proposition/f_p_250505_0000136_00008_EB00001909.pdf' url: 'https://merlo-ch.com/uploads/proposition/f_p_250505_0000136_00008_EB00001909.pdf'
})
}, },
{ {
type: 'url', name: 'cta_url',
title: 'Spec machine', buttonParamsJson: JSON.stringify({
display_text: '🔧 Spec machine',
url: 'https://merlo-ch.com/uploads/proposition/d_p_250505_0000136_00008_EB00001909.pdf' url: 'https://merlo-ch.com/uploads/proposition/d_p_250505_0000136_00008_EB00001909.pdf'
})
} }
] ]
} }
} );
};
// 4) Envoi
await sock.sendMessage(`${phone}@s.whatsapp.net`, message);
return res.json({ success: true }); return res.json({ success: true });
} catch (e) { } catch (e) {