CHEFMANAGER 3.4.2 · INTEGRACIONES Y CANALES EXTERNOS

1. WHATSAPP BUSINESS
- Configurar Integraciones > WhatsApp Business API.
- Adaptador Meta Cloud: token + Phone Number ID. El endpoint puede construirse automáticamente.
- Adaptador genérico: endpoint HTTPS + token Bearer.
- WhatsApp > Automatización permite textos para: pedido confirmado, listo, en camino y entregado.
- Si se usan plantillas oficiales, registrar nombre e idioma de la plantilla.
- Los eventos se agregan a integration_jobs con deduplicación; cron/worker.php procesa y reintenta.
- El reporte diario de vencimientos utiliza el mismo canal si está habilitado.

2. DELIVERY EXTERNO
- Configurar Integraciones > Delivery externo con endpoint HTTPS y token.
- Opcional: secreto de webhook HMAC SHA-256.
- Desde Gestión de delivery, un pedido pendiente puede enviarse al proveedor externo.
- ChefManager envía pickup, dropoff, importe, tarifa, callback y tracking del cliente.
- La respuesta puede devolver external_delivery_id, status, tracking_url, fee y eta_minutes.
- El proveedor devuelve cambios al webhook indicado en Integraciones.
- Autenticación de webhook: Authorization: Bearer <credencial> o X-ChefManager-Signature: sha256=<HMAC del body>.
- Estados reconocidos: pending, assigned/accepted, picked_up/collected, on_the_way/in_transit, delivered y cancelled/canceled.

3. GPS DE REPARTIDOR EXTERNO SIN USUARIO
- El repartidor debe estar registrado como Externo y asignado a un delivery activo.
- En Gestión de delivery usar “Compartir GPS externo”.
- ChefManager genera un enlace temporal de un solo delivery, por defecto 8 horas.
- El repartidor abre el enlace en su celular y acepta compartir ubicación.
- No obtiene acceso administrativo; solo transmite GPS para esa entrega.
- Al expirar/revocar el enlace o finalizar/cancelar la entrega, deja de ser válido.

4. REPUTACIÓN / GOOGLE BUSINESS PROFILE
- El administrador de la plataforma obtiene acceso al Google Business Profile API, habilita las APIs necesarias y configura client_id, client_secret y opcional redirect_uri en config/app.php.
- Cada restaurante entra a Reputación > Google Business > Conectar Google.
- OAuth devuelve y almacena tokens cifrados.
- Después se detectan cuentas/ubicaciones administrables y el Local selecciona la suya.
- “Sincronizar ahora” importa/actualiza reseñas; cron/worker.php realiza sincronización periódica.
- Reseñas 1–2 estrellas crean notificaciones a dueño/administrador/gerente.
- Facebook, Instagram, TripAdvisor y otras fuentes siguen permitiendo registro manual hasta usar un conector/API autorizado.

5. CRON RECOMENDADO
Ejecutar cada 1–5 minutos:
  php cron/worker.php

El worker procesa integraciones, webhooks, notificaciones y sincronizaciones previstas. También puede ejecutarse:
  php cron/reviews-sync.php

Para limpieza periódica:
  php cron/cleanup.php

6. PRINCIPIO DE SEGURIDAD
- Credenciales externas cifradas en la base.
- Llave de cifrado local fuera del navegador.
- Endpoints de salida solo HTTPS públicos.
- Cola con reintentos y trazabilidad.
- Webhook externo autenticado.
- OAuth protegido con state temporal y de un solo uso.
- GPS externo limitado por token, entrega y expiración.
