diff --git a/server.js b/server.js index 7e4a619..c1b5456 100644 --- a/server.js +++ b/server.js @@ -1873,12 +1873,14 @@ app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => { console.log(`🤖 [DEBUG APP-OP] Exp: ${id} | Estado: '${stName}' | statusChanged: ${statusChanged} | dateChanged: ${dateChanged}`); - // 🚀 CAMBIO CLAVE: LEER PROVEEDOR REAL (HOME SERVE O MULTIASISTENCIA) + // 🚀 LEER PROVEEDOR REAL (HOME SERVE O MULTIASISTENCIA) const checkProv = await pool.query("SELECT provider FROM scraped_services WHERE id=$1", [id]); const providerName = checkProv.rows[0]?.provider; + // BANDERAS INTELIGENTES const isAsignado = stName.includes('asignado'); const isCitado = stName.includes('citado') || stName.includes('cita') || stName.includes('agendado'); + const isNoLocalizado = stName.includes('no localizado') || stName.includes('buzon') || stName.includes('contesta'); // --- ASIGNADO --- if (statusChanged && isAsignado) { @@ -1915,6 +1917,16 @@ app.put("/services/set-appointment/:id", authMiddleware, async (req, res) => { if (oldDate === "") await triggerWhatsAppEvent(req.user.accountId, id, 'wa_evt_date'); else if (oldDate !== newDate) await triggerWhatsAppEvent(req.user.accountId, id, 'wa_evt_update'); } + // --- NO LOCALIZADO --- + else if (isNoLocalizado && statusChanged) { + if (providerName === 'homeserve') { + console.log(`✅ [APP-OP] Disparando robot HS: NO LOCALIZADO`); + triggerHomeServeRobot(req.user.accountId, id, 'notfound').catch(console.error); + } else if (providerName === 'multiasistencia') { + console.log(`✅ [APP-OP] Disparando robot MULTI: NO LOCALIZADO`); + triggerMultiRobot(req.user.accountId, id, 'notfound').catch(console.error); + } + } // --- CAMINO / FINALIZADO --- else if (stName.includes('camino')) { await triggerWhatsAppEvent(req.user.accountId, id, 'wa_evt_onway');