const fs = require('fs'); const path = require('path'); const axios = require('axios'); const EVOLUTION_API_URL = process.env.EVOLUTION_API_URL || 'https://evolution.almeira.com.co'; const EVOLUTION_API_KEY = process.env.EVOLUTION_API_KEY || 'EE49029EEB85-4568-8F81-C9FDFC6E2943'; const EVOLUTION_INSTANCE_NAME = process.env.EVOLUTION_INSTANCE_NAME || 'AutomataAlmeira'; const TARGET_PHONE = '573167455877'; const apkPath = path.resolve(__dirname, '../dripzone-app/android/app/build/outputs/apk/debug/app-debug.apk'); async function sendApkToCarlos() { let sizeMB = '95.00'; if (fs.existsSync(apkPath)) { const stat = fs.statSync(apkPath); sizeMB = (stat.size / (1024 * 1024)).toFixed(2); } const caption = `🚀 *DripZone Sneakers - APK Oficial Actualizado (Build Producción)*\n\n📅 *Generado:* ${new Date().toLocaleString('es-CO', { timeZone: 'America/Bogota' })}\n📦 *Tamaño:* ${sizeMB} MB\n\n✨ *Novedades de esta versión:*\n💡 *Estrategias Inteligentes de Precio Sugerido:* Toma de decisión antes de publicar con 3 estrategias calculadas dinámicamente (\`⚡ Alta Rotación\`, \`⚖️ Recomendado DripZone\`, \`💎 Máxima Ganancia\`), visualizando margen neto en COP y % de ahorro para el cliente respecto al mercado oficial colombiano.\n🌐 *Búsqueda Visual de Precios en Colombia:* Reconocimiento inteligente de sneakers desde la foto para consultar precios de referencia, tiendas colombianas y fichas técnicas.\n🗄️ *Persistencia Total en Appwrite Cloud:* Base de datos sincronizada al 100%. Las Ciudades & Zonas, Métodos de Pago ($10.000 anticipo), Pedidos & Logística y Proveedores ahora se pueden crear, editar, eliminar y consultar permanentemente sin pérdidas de datos.\n💬 *Feed Completo de WhatsApp:* Monitoreo integral de todos los mensajes (leídos y no leídos) en los grupos de mayoristas.\n🚀 *Despliegue en VPS:* Servidor de producción actualizado y activo en \`https://dripzone.almeira.com.co\`.\n\n📲 *Descarga Directa del APK:* https://dripzone.almeira.com.co/DripZone.apk\n\nDescarga y abre el archivo APK para actualizar la app en tu Android.`; console.log(`📤 [1/2] Enviando notificación oficial a WhatsApp (+${TARGET_PHONE})...`); try { const textRes = await axios.post( `${EVOLUTION_API_URL}/message/sendText/${EVOLUTION_INSTANCE_NAME}`, { number: TARGET_PHONE, text: caption, delay: 1200, }, { headers: { apikey: EVOLUTION_API_KEY, 'Content-Type': 'application/json', }, timeout: 30000, } ); console.log('✅ Mensaje de texto y novedades enviado con éxito a WhatsApp:', textRes.data?.key?.id); } catch (err) { console.error('⚠️ Error enviando mensaje de texto:', err?.response?.data || err.message); } console.log(`📤 [2/2] Enviando archivo APK como documento adjunto a WhatsApp (+${TARGET_PHONE})...`); try { const mediaRes = await axios.post( `${EVOLUTION_API_URL}/message/sendMedia/${EVOLUTION_INSTANCE_NAME}`, { number: TARGET_PHONE, mediatype: 'document', mimetype: 'application/vnd.android.package-archive', fileName: 'DripZone_Actualizado.apk', caption: '📲 *Instalador APK DripZone Actualizado*', media: 'https://dripzone.almeira.com.co/DripZone.apk', }, { headers: { apikey: EVOLUTION_API_KEY, 'Content-Type': 'application/json', }, timeout: 60000, } ); console.log('🎉 ¡Archivo APK adjunto enviado con éxito a WhatsApp!', mediaRes.data?.key?.id); } catch (mediaErr) { console.warn('ℹ️ Envío de media vía URL programado post-despliegue:', mediaErr?.response?.data || mediaErr.message); } } sendApkToCarlos();