=== Conector ELIT ===
Contributors: elitarg
Tags: ecommerce, woocommerce, products, elit, sync
Donate link: https://elit.com.ar
Requires at least: 5.6
Tested up to: 6.7
Requires PHP: 7.0
Stable tag: 0.6.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Con este plugin tendrás todos los productos actualizados, precios, stock e información del mismo.

=== Description ===

Con el plugin oficial de ELIT podrás conectar todos los productos con tu tienda. Se crearán automáticamente las categorías, los productos con sus características, atributos y fotografías.

Para instalarlo, **no necesita conocimientos técnicos:** sólo con subir el plugin desde la opción Plugins > Añadir nuevo, sigue los pasos y listo.

### ¿Qué puedo hacer con este plugin?
* Publicar todos los productos disponibles en ELIT.
* Ajustar la cantidad mínima de stock. Por defecto: 1.
* Seleccionar la moneda en pesos argentinos o dólares estadounidenses. Por defecto: ARS.
* Mostrar u ocultar las cantidades de stock. Por defecto: No.
* Aplicar una descripción corta a todos los productos (opcional).
* Actualizar todos los productos manualmente. Muy útil cuando se produzca un cambio de markups.
* Activar o desactivar la sincronización automática sin desinstalar el plugin.
* Mapear categorías y subcategorías de ELIT a categorías propias de tu tienda.
* Eliminar masivamente todos los productos de ELIT desde el panel de ajustes.
* Detección y eliminación automática de productos duplicados por SKU.
* Sincronización paginada para catálogos grandes (100 productos por página).
* Enlace directo a Ajustes desde la lista de plugins.

### ¿Puedo limitar ciertos productos?
Si, tiene varias alternativas para gestionar desde nuestro sitio WEB, desde el menú Herramientas > Gestión de precios:
- Opción 1: *Todos* los productos. Coloque un markup general mayor a 0, y opcionalmente markups específicos a cada sub-categoría.
- Opción 2: *Todos* los productos *excepto* algunas categorías y/o sub-categorías. Coloque un markup general y las que quiera exceptuar le coloca margen 0.
- Opción 3: *Sólo* algunas categorías y/o sub-categorías. Coloque markup general 0 y un markup específico a las mismas.

### Ajustes disponibles
* **Nº de cliente** (obligatorio): Tu número de cliente en ELIT.
* **Token** (obligatorio): Token de autenticación proporcionado por ELIT.
* **Prefijo SKU** (obligatorio): Prefijo que se añade al código de producto para generar el SKU (ej: ELT_).
* **Stock mínimo** (obligatorio): Umbral por debajo del cual un producto se marca como agotado. Por defecto: 1.
* **Mostrar cantidades**: Muestra u oculta las cantidades exactas de stock en la tienda.
* **Moneda**: ARS (pesos argentinos) o USD (dólares estadounidenses). Los precios siempre incluyen IVA e impuestos internos.
* **Descripción corta**: Texto opcional que se aplica como descripción corta en todos los productos.
* **Activar Sincronización**: Permite activar o desactivar la sincronización automática sin desinstalar el plugin.
* **Sincronizar atributos**: Por defecto: Sí. Si se cambia a "No", la sincronización no crea, modifica ni borra atributos de los productos: los nuevos se crean sin atributos y los existentes conservan los que tengan.

### Acciones avanzadas
* **Actualizar todo**: Resincroniza todos los productos ignorando la fecha de última actualización.
* **Eliminar todos los productos ELIT**: Elimina todos los productos cuyo SKU comience con el prefijo configurado. Al ejecutar esta acción, la sincronización se desactiva automáticamente y se limpian los cron jobs.

### Mapeo de categorías
Permite asignar cada categoría o subcategoría de ELIT a una categoría propia de tu tienda WooCommerce. Durante la sincronización se usará la categoría mapeada en lugar de la original de ELIT. Las filas sin categoría destino se ignoran y se usa la categoría de ELIT por defecto. El mapeo se guarda vía AJAX sin recargar la página.

También se puede marcar una categoría o subcategoría como "Excluir": los productos de esa categoría no se crean, y si ya existían se pasan a borrador y dejan de mostrarse en la tienda.

=== Screenshots ===
1. Completa todos los campos requeridos y comenzá a ver todos los productos.

=== Frequently Asked Questions ===

= ¿Debo ejecutar la actualización cada cierto tiempo? =
No. El plugin se encarga de mantener siempre actualizados los productos, con el stock real, descripción, fotografías y cotización del dólar del día. La sincronización incremental se ejecuta cada minuto y la completa dos veces al día.

= ¿Por qué los productos no tienen imágenes? =
Se requiere instalar el plugin FIFU (Featured Image From URL) o FIFU Premium para que el conector pueda mostrar las imágenes. El plugin muestra un aviso si no está instalado.

= Ya tengo un producto creado y quiero evitar que se dupliquen, ¿qué debo hacer? =
El conector detecta y elimina automáticamente productos duplicados por SKU, conservando siempre el más antiguo. Si querés que un producto no se publique, envialo a la papelera y el conector no volverá a visibilizarlo.

= ¿Puedo agregar más fotografías o descripción a un producto? =
Si. Lo único que siempre mantiene actualizado el conector son el título, precio, cantidad, SKU, categoría, subcategoría, atributos, peso, dimensiones e imagen principal.

= ¿Puedo desactivar la sincronización sin desinstalar el plugin? =
Si. Desde el panel de ajustes, cambiá la opción "Activar Sincronización" a "No" y guardá los cambios. El plugin permanecerá instalado pero no ejecutará sincronizaciones automáticas.

= ¿Qué pasa al eliminar todos los productos ELIT? =
Se eliminan permanentemente todos los productos cuyo SKU comience con el prefijo configurado. Además, la sincronización se desactiva automáticamente y los cron jobs se limpian. Para reanudar, activá la sincronización manualmente desde los ajustes.

= ¿Puedo mapear las categorías de ELIT a mis propias categorías? =
Si. En la sección "Mapeo de categorías" del panel de ajustes podés asignar cada categoría o subcategoría de ELIT a una categoría de tu tienda. El mapeo se guarda sin recargar la página.

= ¿Qué datos se sincronizan de cada producto? =
Nombre, precio (con IVA e impuestos internos), stock, SKU (con prefijo), categoría, subcategoría, atributos, peso, dimensiones (largo, ancho, alto), descripción corta e imagen principal.

= ¿Qué sucede al desactivar o desinstalar el plugin? =
Se eliminan todas las opciones almacenadas (credenciales, configuración, mapeo de categorías, fecha de última actualización) y se limpian los cron jobs programados. Los productos ya creados en WooCommerce NO se eliminan.

== Changelog ==

= 0.6.4 =
- [NUEVO] El EAN/GTIN del producto ahora se sincroniza en el campo nativo de WooCommerce (Global Unique ID), habilitando resultados enriquecidos.
- [NUEVO] La descripción técnica del producto (armada por ELIT a partir de sus atributos) ahora se sincroniza como descripción larga del producto.
- [NUEVO] Mapeo de categorías: ahora se puede marcar una categoría o subcategoría de ELIT como "Excluir", para que esos productos no se creen, actualicen ni publiquen en la tienda.

= 0.6.3 =
- [NUEVO] Nueva opción "Sincronizar atributos" (Sí/No, por defecto Sí) para desactivar la sincronización de atributos de producto si se cargan manualmente.

= 0.6.2 =
- [FIX] En la sincronización completa, los productos que dejan de estar disponibles para la web (web:false) o se dan de baja en ELIT ahora pasan a borrador en WooCommerce en lugar de quedar publicados.
- [FIX] El SKU ya no se recorta a 32 caracteres. Los productos con código largo se cargan con el SKU completo e idéntico a ELIT, evitando SKUs abreviados y colisiones que impedían cargar algunos productos.

= 0.6.0 =
- [FIX] Durante la sincronización, si una categoría ELIT no tiene mapeo configurado, el producto queda sin categoría en lugar de crear automáticamente una nueva categoría en WooCommerce.
- [FIX] Si una categoría ELIT tiene mapeo pero el término ya no existe, el producto queda sin categoría en lugar de crear una nueva.
- [FIX] Stable tag actualizado a 0.6.0.

= 0.5.3 =
- [NEW] Mapeo de categorías: permite asignar categorías y subcategorías de ELIT a categorías propias de la tienda WooCommerce.
- [NEW] Guardado de mapeo de categorías vía AJAX sin recargar la página.
- [NEW] Opción para activar/desactivar la sincronización automática sin desinstalar el plugin.
- [NEW] Botón para eliminar masivamente todos los productos de ELIT por prefijo SKU, con confirmación y desactivación automática de la sincronización.
- [NEW] Detección y eliminación automática de productos duplicados por SKU.
- [NEW] Soporte de paginación en la API para catálogos grandes (100 productos por página).
- [NEW] Enlace directo a "Ajustes" desde la lista de plugins instalados.
- [NEW] Soporte para atributos de productos desde la API de ELIT.
- [NEW] Soporte para FIFU Premium además de la versión gratuita.
- [FIX] Validación de datos esenciales antes de crear/actualizar productos (nombre, código, stock).
- [FIX] Solo se crean productos nuevos si tienen stock > 0, markup > 0 y precio > 0.
- [FIX] Mejoras de seguridad: nonces en formularios, verificación de permisos, sanitización de datos.
- [FIX] Al eliminar productos, se desactivan los cron jobs para evitar resincronización inmediata.

= 0.4.0 =
- [FIX] Se cambió el protocolo CURL por HTTP API para mejorar la conectividad con la API de ELIT.
- [FIX] Se optimizaron los procesos de actualización de los productos.

= 0.3.7 =
- [FIX] Se elimina el timezone por generar conflictos con otros plugins y Wordpress en general.
- [NEW] Se notifica a través de la API la versión del plugin utilizada.

= 0.3.6 =
- [NEW] Se agregó la posibilidad de elegir ARS (pesos argentinos) o USD (dólares estadounidenses).
- [NEW] Se agregó el archivo readme.txt.

= 0.3.5 =
- [NEW] Se puede omitir la importación de subcategorías de productos. Utilizando desde la web de ELIT gestión de precios, colocando un markup general en 0 y colocando a subcategorías específicas el markup deseado, se importarán solo esos productos. También colocando markup general deseado y a algunas subcategorías en 0 se omiten las mismas.

= 0.3.4 =
- [FIX] Se corrigieron errores de conexión con la base de datos ELIT.

= 0.3.3 =
- [NEW] Dimensiones (largo, ancho y alto) de productos para utilizar con herramientas de envíos.
- [FIX] Se corrige un error con la selección de depósitos.

= 0.3.2 =
- [NEW] Opción stock mínimo: para tener control sobre productos con bajas existencias.
- [NEW] Opción depósito: se puede seleccionar todos, sucursal o centro de distribución.
- [NEW] Opción mostrar cantidades: cuando la opción sea NO, se mostrará solo que hay existencias, al contrario con SI, se muestran las cantidades exactas de cada SKU.
- [NEW] Opción descripción corta: opcional, se puede aplicar una leyenda a todos los productos. Útil si quiere indicar que hay demora, ej: "Disponible en 72 hs".
- [FIX] Se actualizan todos los productos una vez al día, para recibir cambios de cotización USD.
- [FIX] Al desactivar o desinstalar el plugin, la próxima vez que se active, se actualizarán todos los productos.