This commit is contained in:
julien 2025-05-06 17:35:50 +02:00
parent 139159b093
commit 56132c2ee7

View File

@ -244,7 +244,8 @@ app.post('/sendInteractiveImage', async (req, res) => {
// } // }
// }); // });
app.post('/sendProductMessage', async (req, res) => { app.post('/sendProductMessage', async (req, res) => {
if (!client || !isConnected) { // On vérifie sock et isConnected, pas client
if (!sock || !isConnected) {
return res.status(400).json({ error: 'Non connecté à WhatsApp' }); return res.status(400).json({ error: 'Non connecté à WhatsApp' });
} }
@ -269,19 +270,19 @@ app.post('/sendProductMessage', async (req, res) => {
try { try {
const jid = `${phone}@s.whatsapp.net`; const jid = `${phone}@s.whatsapp.net`;
// 4.1) Construire le payload "product" // Build product payload exactly comme avant
const productPayload = { const productPayload = {
productImage: { url: productImageUrl }, // ou buffer si vous préférez productImage: { url: productImageUrl },
productImageCount, productImageCount,
title: messageTitle, title: productTitle, // ici productTitle
description: productDescription, description: productDescription,
priceAmount1000: priceAmount1000 * 1000, // attention au facteur 1000 priceAmount1000: priceAmount1000 * 1000, // ajustez si besoin
currencyCode, currencyCode,
retailerId, retailerId,
url: productUrl url: productUrl
}; };
// 4.2) Transformer les boutons // Transformer les boutons
const buttons = interactiveButtons.map(btn => { const buttons = interactiveButtons.map(btn => {
const params = {}; const params = {};
if (btn.id) params.id = btn.id; if (btn.id) params.id = btn.id;
@ -293,8 +294,8 @@ app.post('/sendProductMessage', async (req, res) => {
}; };
}); });
// 4.3) Envoi du message // **On utilise sock.sendMessage** et non client.sendMessage
await client.sendMessage( await sock.sendMessage(
jid, jid,
{ {
product: productPayload, product: productPayload,
@ -315,6 +316,7 @@ app.post('/sendProductMessage', async (req, res) => {
} }
}); });
// 5) 404 et gestion des erreurs // 5) 404 et gestion des erreurs
app.use((req, res) => res.status(404).json({ error: 'Ressource introuvable' })); app.use((req, res) => res.status(404).json({ error: 'Ressource introuvable' }));
app.use((err, req, res, next) => { app.use((err, req, res, next) => {