=== VeezDelivery – Envíos Express, Despachos y Logística para WooCommerce ===
Contributors: veezdelivery
Donate link: https://veez.cl
Tags: envios, despachos, chile, delivery, courier
Requires at least: 5.8
Tested up to: 7.1
Requires PHP: 7.4
Requires Plugins: woocommerce
WC requires at least: 5.0
WC tested up to: 9.3
Stable tag: 2.1.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Envíos express en Chile con tarifas en tiempo real, validación de RUT y despacho automático de repartidores con seguimiento GPS para WooCommerce.

== Description ==

**VeezDelivery para WooCommerce** es la solución logística oficial que conecta tu tienda online directamente con la red de repartidores y transporte express de VeezDelivery en Chile.

Optimiza la experiencia de compra de tus clientes calculando tarifas de envío dinámicas en tiempo real en el checkout según peso, distancia y disponibilidad de flota. Automatiza el despacho de pedidos a repartidores tan pronto como se confirma el pago, valida el RUT chileno con algoritmo Módulo 11 tanto en el checkout clásico como en bloques Gutenberg, y ofrece seguimiento GPS en vivo con código PIN de entrega segura.

### Características Principales

* **Cotización de Tarifas en Tiempo Real**: Calcula el valor del envío y los tiempos estimados de entrega en el checkout según la ubicación de tu bodega de despacho y la dirección del cliente.
* **Despacho Automático de Repartidores**: Emite solicitudes de despacho automáticas a la flota de VeezDelivery cuando un pedido cambia al estado configurado (ej: Procesando o Pagado).
* **Validación de RUT Chileno (Módulo 11)**: Validación matemática y formateo automático de RUT (con puntos y guion) compatible de forma nativa con el Checkout Clásico y el nuevo Checkout por Bloques de Gutenberg (React 18).
* **Compatibilidad Total con HPOS**: Soporte oficial y declarado para el almacenamiento de pedidos de alto rendimiento de WooCommerce (High-Performance Order Storage / Tablas personalizadas) y postmeta tradicional.
* **Código PIN de Entrega Segura**: Genera un código PIN de verificación único para cada despacho, visible en la página de confirmación del pedido y en los correos del cliente para una entrega verificada sin fraudes.
* **Seguimiento GPS en Vivo**: Inserta enlaces interactivos de rastreo en tiempo real en los detalles de compra y notificaciones por correo para que el cliente siga la ruta del repartidor.
* **Modo Pruebas / Sandbox Integrado**: Realiza simulaciones completas de cotización y compras de prueba sin incurrir en costos de envío ni notificar a repartidores reales.
* **Visor de Logs del Sistema**: Monitorea peticiones a la API, eventos de webhooks y sincronizaciones de pedidos directamente desde la pestaña de administración de WooCommerce.
* **Sincronización Bidireccional Segura**: Actualización inmediata de estados de entrega mediante Webhooks REST cifrados y conciliación automática en segundo plano cada 30 minutos vía WP-Cron.
* **Nuevo Estado de Pedido "Entregado"**: Registra el estado nativo `wc-delivered` en WooCommerce para marcar automáticamente las órdenes completadas con éxito por el conductor.

== External Service Disclosure ==

Este plugin se comunica directamente con la plataforma de logística en la nube de VeezDelivery (https://veez.cl) mediante endpoints REST seguros (https://api.veez.cl/api/v1) para calcular tarifas de envío en tiempo real, geocodificar direcciones y despachar repartidores automáticamente.

**Datos enviados a VeezDelivery:**
* Dirección de destino, comuna, región y coordenadas geográficas para el cálculo de ruta.
* Peso total, dimensiones y desglose de productos del carrito para verificar límites de capacidad de flota.
* Nombre del destinatario, teléfono de contacto y RUT para la recepción conforme del paquete.
* Dirección de origen (bodega o tienda) y número de referencia del pedido WooCommerce.

**Datos recibidos desde VeezDelivery:**
* Opciones de envío disponibles, tarifas calculadas en tiempo real y tiempos estimados de entrega.
* Asignación de conductor, datos del vehículo, cambios en el estado del despacho y URL de seguimiento GPS en vivo.
* Código PIN de entrega para la verificación del cliente en destino.

**Términos de servicio y privacidad de terceros:**
* [Términos y Condiciones del Servicio](https://veez.cl/terminos)
* [Política de Privacidad](https://veez.cl/privacidad)

== Installation ==

1. Sube la carpeta `veezdelivery-shipping-for-woocommerce` al directorio `/wp-content/plugins/` de tu sitio WordPress, o instala directamente el archivo `.zip` desde **Plugins** > **Añadir nuevo** > **Subir plugin**.
2. Activa el plugin a través del menú **Plugins** en WordPress.
3. Ve a **WooCommerce** > **Ajustes** > **Integración** > **VeezDelivery**.
4. Introduce tu clave API de Producción y/o Sandbox obtenida desde el panel de comercio de VeezDelivery (https://veez.cl).
5. Dirígete a **WooCommerce** > **Ajustes** > **Envío** > **Zonas de envío**, añade o edita una zona e incorpora el método de envío **VeezDelivery – Envíos Express**.
6. Selecciona la bodega física de despacho correspondiente y guarda los cambios.

== Frequently Asked Questions ==

= ¿Dónde obtengo las credenciales de la API de VeezDelivery? =
Puedes generar tu clave API (Live y Sandbox) directamente desde tu panel de comercio en https://veez.cl en la sección de integraciones y desarrolladores.

= ¿Cómo calcula el plugin las tarifas de envío en tiempo real? =
Al momento en que el cliente ingresa su dirección en el checkout, el plugin envía el peso de los productos y la distancia desde tu bodega de despacho a los servidores de VeezDelivery, devolviendo de inmediato las opciones de transporte disponibles y su costo exacto.

= ¿El validador de RUT chileno es compatible con el Checkout de Bloques de Gutenberg? =
Sí. El validador incluye compatibilidad nativa con React 18 y el sistema de despacho de eventos del Checkout de Bloques de WooCommerce, formateando automáticamente con puntos y guion y validando el dígito verificador mediante el algoritmo Módulo 11.

= ¿Es compatible con WooCommerce HPOS (High-Performance Order Storage)? =
Sí. El plugin cuenta con compatibilidad oficial declarada para las tablas de pedidos de alto rendimiento (HPOS) y almacena metadatos de forma transparente y optimizada.

= ¿Cómo funciona el despacho automático de pedidos? =
Cuando un pedido en tu tienda cambia al estado seleccionado en la configuración (por ejemplo, "Procesando" tras confirmarse el pago), el plugin genera automáticamente una orden de despacho en VeezDelivery y asigna un repartidor de la flota disponible.

= ¿Qué es el Código PIN de Entrega? =
Es un código de seguridad único generado al momento del despacho. El cliente lo visualiza en su comprobante y en los correos de compra, y debe entregárselo al repartidor al recibir el paquete para verificar la entrega conforme.

= ¿Cómo funciona el Modo Pruebas (Sandbox)? =
Al activar el Modo Test en los ajustes de integración, el plugin utiliza tu clave Sandbox. Esto permite probar cotizaciones en el carrito y simular compras completas sin generar cargos reales ni notificar a conductores en calle.

= ¿Qué estado de pedido añade el plugin a WooCommerce? =
Registra el estado personalizado **Entregado** (`wc-delivered`), permitiendo que el pedido pase a esta etapa automáticamente cuando el repartidor confirme la entrega en destino.

== Screenshots ==

1. Pantalla de ajustes de integración global con credenciales API y visor de logs del sistema.
2. Configuración del método de envío por zona con selección de bodega de origen y tipos de vehículos.
3. Validación en tiempo real del RUT chileno en el checkout y cotización dinámica de envío express.
4. Sección de seguimiento en vivo con enlace al mapa GPS y Código PIN de Entrega en el comprobante del cliente.

== Changelog ==

= 2.1.0 =
* Arquitectura: Modularización del núcleo del plugin en servicios desacoplados y traits de métodos de envío para mayor mantenibilidad y rendimiento.
* Novedad: Desacoplamiento del despacho automático de pedidos en el manejador de eventos `VeezDelivery_Order_Dispatcher`.
* Novedad: Registro nativo y soporte para el estado personalizado de pedido "Entregado" (`wc-delivered`).
* SEO e Idioma: Traducción completa al español y optimización de palabras clave para envíos express y logística e-commerce en Chile.
* Estándares: Cumplimiento riguroso de directrices de desarrollo de WordPress.org y sanitización de datos.

= 2.0.2 =
* Compatibilidad: Declaración oficial de compatibilidad total con WooCommerce High-Performance Order Storage (HPOS).
* Seguridad: Validación explícita de permisos de usuario (`current_user_can('manage_woocommerce')`) en la limpieza de registros de depuración.
* Terminología: Unificación oficial del término "Código PIN de Entrega" en plantillas, notas administrativas y correos.
* Optimización: Encolado de scripts con versión estática del plugin para control de caché en producción.
* Pruebas: Verificación de compatibilidad con WordPress 6.7 y WooCommerce 9.3.

= 2.0.1 =
* Corrección: Formateo y validación de RUT chileno en tiempo real con algoritmo Módulo 11 en checkout clásico y bloques Gutenberg.
* Corrección: Persistencia de selección de bodegas de despacho por cada zona de envío en la base de datos de WordPress.

= 2.0.0 =
* Lanzamiento inicial público con cálculo de tarifas en tiempo real, despacho automático y sincronización por webhooks bidireccionales.

== Upgrade Notice ==

= 2.1.0 =
Actualización recomendada: arquitectura modular, traducción completa al español, optimización SEO y soporte para estado de pedido "Entregado".

= 2.0.2 =
Actualización con compatibilidad total para WooCommerce HPOS, mejoras de seguridad y terminología de Código PIN de Entrega.
