diff --git a/index.js b/index.js index 8b3b03b..7b251ca 100644 --- a/index.js +++ b/index.js @@ -244,7 +244,8 @@ app.post('/sendInteractiveImage', 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' }); } @@ -269,41 +270,41 @@ app.post('/sendProductMessage', async (req, res) => { try { const jid = `${phone}@s.whatsapp.net`; - // 4.1) Construire le payload "product" + // Build product payload exactly comme avant const productPayload = { - productImage: { url: productImageUrl }, // ou buffer si vous préférez + productImage: { url: productImageUrl }, productImageCount, - title: messageTitle, + title: productTitle, // ici productTitle description: productDescription, - priceAmount1000: priceAmount1000 * 1000, // attention au facteur 1000 + priceAmount1000: priceAmount1000 * 1000, // ajustez si besoin currencyCode, retailerId, url: productUrl }; - // 4.2) Transformer les boutons + // Transformer les boutons const buttons = interactiveButtons.map(btn => { const params = {}; if (btn.id) params.id = btn.id; if (btn.url) params.url = btn.url; if (btn.display_text) params.display_text = btn.display_text; return { - name: btn.name, - buttonParamsJson: JSON.stringify(params) + name: btn.name, + buttonParamsJson: JSON.stringify(params) }; }); - // 4.3) Envoi du message - await client.sendMessage( + // **On utilise sock.sendMessage** et non client.sendMessage + await sock.sendMessage( jid, { - product: productPayload, + product: productPayload, businessOwnerJid, caption, - title: messageTitle, + title: messageTitle, footer, - media: true, - interactiveButtons: buttons + media: true, + interactiveButtons: buttons }, quoted ? { quoted } : {} ); @@ -315,6 +316,7 @@ app.post('/sendProductMessage', async (req, res) => { } }); + // 5) 404 et gestion des erreurs app.use((req, res) => res.status(404).json({ error: 'Ressource introuvable' })); app.use((err, req, res, next) => {