🌉 Puente Inventa

Gateway HTTP para comunicación con Cloud Run

✅ Operativo

📡 ¿Qué es este puente?

Este sistema actúa como un intermediario HTTP entre los dispositivos Jacos y la plataforma Inventa en Cloud Run.

Permite que dispositivos que solo soportan HTTP puedan comunicarse de forma segura con servicios en la nube.

🔧 ¿Cómo funciona?

1. Los Jacos envían datos via HTTP POST

2. El puente autentica y estructura los datos

3. Reenvía la información a Cloud Run

4. Retorna la respuesta al dispositivo

🔌 Endpoints Disponibles

POST /operacions.php
Envío de operaciones y coordenadas GPS desde dispositivos Jacos
📋 Estructura de datos requerida:
{ "d": [ { "persona_id": "12076", "finca_id": "75", "lat": "7.8666950", "lng": "-76.6362400", "fecha": "2025-09-10 21:42:52", "tipo_labor_id": 392 } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)
POST /coordenadas.php
Registro de coordenadas de ubicación GPS
📋 Estructura de datos requerida:
{ "d": [ { "lat": "7.8666950", "lng": "-76.6362400", "timestamp": "2025-09-11 10:30:00", "accuracy": "5.2", "device_id": "JACO001" } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)
POST /zanteps.php
Subida de datos de Batería Zante
📋 Estructura de datos requerida:
{ "d": [ { "device_id": "ZANTE001", "battery_level": "85", "voltage": "12.4", "temperature": "23.5", "timestamp": "2025-09-11 10:30:00" } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)
GET /zantefecha.php/{zante-id}
Gestión de fechas y sincronización temporal Zante
📋 Estructura de datos requerida:
{ "d": [ { "device_id": "ZANTE001", "current_time": "2025-09-11 10:30:00", "timezone": "America/Bogota", "sync_requested": true } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)
GET /wifis.php
Gestión de redes WiFi disponibles y configuración
📋 Estructura de datos requerida:
{ "d": [ { "device_id": "JACO001", "ssid": "Red_Finca_001", "bssid": "AA:BB:CC:DD:EE:FF", "signal_strength": "-45", "security": "WPA2", "connected": true } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)
POST /cierre_dia_personas.php
Cierre de jornada laboral y registro de personas
📋 Estructura de datos requerida:
{ "d": [ { "persona_id": "12076", "finca_id": "75", "fecha_cierre": "2025-09-11 18:00:00", "horas_trabajadas": "8.5", "tareas_completadas": 15 } ] }

📋 Headers requeridos:

  • Content-Type: application/json
  • zante-id: [ID_DEL_DISPOSITIVO] (opcional)

🛡️ Seguridad

• Autenticación mediante tokens Bearer

• Headers de autorización personalizados

• Validación de datos antes del reenvío

• Logging de todas las transacciones

• Acceso web restringido

📊 Características

• Soporte para múltiples tipos de datos

• Manejo de errores robusto

• Reintentos automáticos

• Respuestas en formato JSON

• Documentación integrada

🚀 Stack Tecnológico

PHP 7.2+ HTTP/HTTPS JSON Google Cloud Run Laravel/Lumen Apache .htaccess