=== Hedwig Envíos for WooCommerce ===
Contributors: fenrisdev
Tags: envios, paqueteria, mexico, dhl, fedex
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Stable tag: 1.5.5
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Cotiza y genera guías de DHL, FedEx, Paquete Express y Estafeta para México desde tus pedidos de WooCommerce.

== Description ==

Hedwig Envíos conecta tu tienda WooCommerce con el servicio de Hedwig para que
puedas cotizar tarifas de envío y generar guías para México sin salir del
escritorio de WordPress.

= Qué hace =

* **Tarifas en vivo en el carrito.** Un método de envío que trae precios reales
  de DHL, FedEx, Paquete Express y Estafeta según el código postal del cliente y
  las medidas del pedido.
* **Guías desde la pantalla del pedido.** Confirma peso y medidas, elige una
  tarifa y genera la guía. La guía se descarga en PDF.
* **Cotizador suelto.** Cotiza y genera guías sin necesidad de un pedido.
* **Rastreo del envío** dentro del propio pedido, con el historial que reporta
  la paquetería.
* **Cancelación de guías** con motivo. El saldo vuelve a tu monedero de Hedwig
  en el plazo que indica el servicio, no de inmediato.
* **Recolecciones.** Programa que la paquetería pase a recoger el paquete. Una
  recolección siempre se crea a partir de una guía existente, así que va a la
  dirección de origen de esa guía.
* **Monedero, libreta de direcciones y paquetes guardados** desde el panel del
  plugin.
* **Incidencias de soporte** desde la pantalla del pedido.

= Qué necesitas =

* WooCommerce activo.
* Una cuenta de Hedwig Envíos, que puedes crear desde el propio plugin.
* **HTTPS.** El plugin se bloquea solo si el sitio no tiene certificado SSL.
  Sin TLS, los datos de envío de tus clientes viajarían sin cifrar.

= Sobre el costo =

El plugin es gratis y no limita ninguna de sus funciones. Generar guías descuenta
del monedero de tu cuenta de Hedwig, porque la paquetería cobra por cada guía.
Las cuentas sin verificar tienen un límite de prueba que pone el servicio, no el
plugin, hasta que se completa la verificación de identidad.

== Servicios externos ==

Este plugin depende de un servicio externo, **Hedwig Envíos**. Sin él, el plugin
no puede cotizar ni generar guías, porque ese servicio es el que habla con las
paqueterías.

= Cuándo se conecta y qué envía =

**Al cotizar en el carrito**, cada cálculo de tarifa envía únicamente:

* código postal de origen y de destino,
* peso y medidas del paquete,
* valor declarado, si tienes el seguro activado.

En este paso **no se envía ningún dato personal** de tu cliente.

**Al generar una guía**, y solo entonces, se envían los datos que hacen falta
para imprimirla:

* nombre, teléfono y correo de quien recibe,
* dirección completa, con calle, número, colonia, código postal, ciudad, estado
  y referencias de entrega,
* los mismos datos de quien envía, que capturas tú en los ajustes,
* descripción del contenido y número de pedido.

**Al usar el panel** se leen el saldo, las guías, las direcciones y las
notificaciones de tu cuenta.

El servicio también manda avisos automáticos a tu tienda cuando un envío cambia
de estado, para mantener el pedido al día.

= Términos del servicio y privacidad =

* Servicio: https://hedwigenvios.com
* Términos y condiciones: https://hedwigenvios.com/legal/terminos/
* Aviso de privacidad: https://hedwigenvios.com/legal/privacidad/

Al conectar tu tienda aceptas los términos de Hedwig Envíos. Si no quieres que
ese servicio trate los datos de tus clientes, no instales el plugin.

== Licencia ==

El código del plugin es GPLv2 o posterior. El texto completo está en `LICENSE`.

Las tipografías de `assets/fonts/` son trabajo de terceros y **no** están
cubiertas por esa GPL. Karla y Prata se distribuyen bajo la SIL Open Font
License 1.1, que es compatible con la GPL. Los avisos de copyright y el texto de
la licencia están en `OFL.txt`.

No se redistribuye ningún otro código de terceros. React y las librerías
`@wordpress/*` se toman de WordPress en tiempo de ejecución, no vienen
empaquetadas.

== Código fuente ==

La interfaz del panel está escrita en TypeScript y viaja compilada en
`build/index.js`. **El fuente sin compilar viene dentro de este mismo paquete**,
en `src/`, junto con toda su configuración de compilación: `package.json`,
`tsconfig.json`, `webpack.config.js`, `tailwind.config.js` y
`postcss.config.js`.

Para reconstruir `build/` desde el fuente, dentro de la carpeta del plugin:

`pnpm install && pnpm build`

Las herramientas de compilación son `@wordpress/scripts` y Tailwind CSS, las dos
software libre. Durante la instalación del plugin no se descarga ni se ejecuta
nada. `build/` viaja listo.

== Installation ==

1. Sube el plugin a `/wp-content/plugins/` o instálalo desde el escritorio de
   WordPress.
2. Actívalo desde el menú **Plugins**.
3. Entra a **Hedwig Envíos** y crea tu cuenta o conecta una que ya tengas.
4. En **Ajustes**, captura la dirección de origen desde la que envías, con sus
   referencias de entrega. Sin ellas las paqueterías rechazan la guía.
5. Si quieres tarifas en el carrito, agrega el método de envío **Hedwig** a tus
   zonas de envío de WooCommerce.

== Frequently Asked Questions ==

= ¿Necesito una cuenta de paga? =

Necesitas una cuenta de Hedwig Envíos con saldo para generar guías, igual que con
cualquier paquetería. El plugin en sí no cobra nada ni bloquea ninguna función.

= ¿Por qué el plugin no funciona sin HTTPS? =

Porque los datos de envío de tus clientes viajarían sin cifrar. El plugin se
bloquea a propósito hasta que el sitio tenga certificado SSL.

= ¿Puedo cancelar una guía que ya generé? =

Solo mientras la paquetería no la haya recogido. Una vez que el envío va en
camino ya no se puede cancelar. El saldo vuelve al monedero en el plazo que
indica el servicio al cancelar, no de inmediato.

= ¿El plugin guarda los datos de mis clientes? =

En tu propia base de datos guarda el número de rastreo, la paquetería, el estado
y el precio dentro del pedido. Los datos de la dirección se mandan a Hedwig para
imprimir la guía, como se detalla en la sección de servicios externos.

= ¿El plugin oculta los avisos del escritorio? =

Solo dentro de su propia pantalla, para que la interfaz no quede empujada hacia
abajo por los avisos de otros plugins. En el resto del escritorio de WordPress,
incluida la pantalla del pedido, no toca nada.

== Screenshots ==

1. Tarifas en vivo de DHL, FedEx, Estafeta y Paquete Express dentro del pedido
   de WooCommerce, con la más barata destacada.
2. El panel de Hedwig en la pantalla del pedido. Cotiza el envío o programa una
   recolección sin salir de WooCommerce.
3. Cotizador suelto. Bastan dos códigos postales y el paquete, sin necesidad de
   un pedido.
4. Escritorio con el saldo del monedero prepagado, el estado de la cuenta y las
   guías recientes.
5. Niveles por volumen y programa de referidos.
6. Libreta de direcciones, para tener a un clic a quienes envías y recibes con
   frecuencia.
7. La lista de tarifas de cerca, con la fecha estimada de entrega de cada
   paquetería.

== Changelog ==

= 1.5.5 =
* Ahora eliges qué servicios de paquetería ve tu cliente al comprar y puedes
  sumar un cargo distinto a cada uno, con un monto fijo o un porcentaje. El cargo
  general y el individual no se combinan.
* En el carrito, cada tarifa muestra el logotipo de la paquetería, el nombre del
  servicio y los días de entrega, sin repetir el nombre de la paquetería.
* Ajustes de textos en el panel y en el pedido.

= 1.5.4 =
* Si todos los productos tienen medidas, el paquete se arma con ellas. Las
  piezas se acomodan para que ningún lado pase de 100 cm, con 2 cm de margen
  por lado, y el paquete nunca mide menos de lo que ocupan los productos. Si a
  algún producto le faltan medidas, se usa la caja de Ajustes.

= 1.5.3 =
* Las guías se generan con el identificador de la tarifa cotizada. El costo
  y los datos internos de la tarifa ya no pasan por la tienda.
* En la zona extendida ya no se enseña el costo de la paquetería, solo que
  el recargo va incluido en el precio.
* Al cotizar se enseña el peso físico, el peso volumétrico y el peso que
  realmente se cobra, igual que lo calculan las paqueterías. Si el volumen pesa más
  que la báscula, se avisa qué peso conviene declarar.
* Cotización libre ya autocompleta ciudad, estado y colonia al escribir el
  código postal, igual que ya pasaba en la guía de un pedido.

= 1.5.2 =
* La recolección propone el mismo paquete con el que se despachó la guía. Antes
  arrancaba con medidas fijas y podía pedir la recogida de un bulto que no
  existía.
* Más margen al generar la guía. Las llamadas que hablan con la paquetería
  esperan hasta 45 segundos: una guía real tardó 15 y el plugin decía que no
  hubo respuesta, aunque la guía sí se había creado y cobrado.
* La pestaña «Pedidos» ya no lista los pedidos completados. Es la bandeja de lo
  que falta despachar, no el historial.
* Las direcciones del servicio apuntan a hedwigenvios.com, el sitio propio de
  Hedwig Envíos.

= 1.5.1 =
* Corregido: en las órdenes hechas con el checkout de bloques, el panel del
  pedido decía que no había referencias de entrega aunque el cliente sí las
  hubiera escrito. WooCommerce las guarda con otra clave y ahora se leen todas.

= 1.5.0 =
* Tu tienda ya cotiza el envío sola dentro del carrito, con las tarifas de tus
  paqueterías. Tú eliges si le sumas un recargo para cubrir el empaque.
* Puedes capturar el número interior del domicilio: departamento, local u
  oficina. Sin él el mensajero llega al edificio, pero no a la puerta.
* Al escribir el código postal se llenan solos el estado y la ciudad, y la
  colonia se elige de una lista. Todo sigue siendo editable a mano.
* El logotipo de FedEx ya no dice «Express»: Hedwig también cotiza FedEx
  Terrestre y ese logotipo confundía junto a una tarifa terrestre.
* Un recorrido guiado la primera vez que entras, para no empezar en blanco.

= 1.4.8 =
* El texto del directorio y de la ficha, traducidos por completo al español.

= 1.4.7 =
* Tus clientes ya ven el rastreo de su paquete arriba de su pedido en cualquier
  tema, incluidos los temas con plantillas propias de WooCommerce.
* Ajustes visuales menores.

= 1.4.6 =
* El plugin ahora le dice al servicio de Hedwig qué versión está corriendo, para
  que el servicio pueda avisarte cuando haya una más nueva. Solo se envían el
  nombre del plugin, la versión y la dirección de la tienda. Nada tuyo ni de tus
  clientes.
* Corregido un atributo inválido en el registro del campo del carrito por
  bloques. Hacía que WooCommerce descartara todos los atributos del campo de
  referencias de entrega y dejara un aviso en cada carga de página.
* Nuevo estado de pedido "En camino". Generar una guía para un pedido lo mueve
  ahí de forma automática, y de ahí pasa solo a Completado cuando la paquetería
  reporta el paquete como entregado.
* Nuevo correo al cliente, que sale al generar la guía. Dice que el pedido está
  listo para enviarse, no que ya vaya en camino, con la paquetería, el número de
  rastreo y un enlace al pedido. Se puede editar o apagar desde WooCommerce →
  Ajustes → Correos electrónicos, como cualquier otro correo de la tienda.
* Tus clientes ya ven el rastreo de su propio paquete arriba de su pedido, con
  la paquetería, el número de rastreo, la fecha estimada de entrega y los
  eventos que reporta la paquetería. Los pedidos sin guía no muestran nada.
* Nueva pantalla "Nivel y referidos". Enseña qué nivel de precio te ha ganado tu
  volumen, cuántas guías te faltan para subir y tu código de invitación. Cuando
  alguien se registra con él, verifica su cuenta, recarga y manda su primer
  paquete, los dos reciben saldo.
* El formulario de registro ahora acepta un código de invitación opcional.
* Corregido un error fatal en el manejador de webhooks. Una referencia de clase
  equivocada rompía todos los eventos que llegaban del servicio.

= 1.3.5 =
* El plugin ahora habla con el servicio de producción en
  hedwig-envios.fenrisdev.com en lugar del de pruebas. Los enlaces de Términos y
  Privacidad del pie siguen la misma base, así que también apuntan a producción.
* Los encabezados ahora usan Prata, una tipografía con SIL Open Font License, en
  lugar de la comercial anterior. Todo lo que viaja en este paquete es ya
  compatible con la GPL.

= 1.3.4 =
* La pestaña de Verificación ahora muestra una tarjeta de estado, con si la
  solicitud está en revisión o fue rechazada, el motivo del rechazo, cuántas
  veces has aplicado y las fechas.
* Corregido que el estado nunca se leía. La pestaña lo buscaba en el lugar
  equivocado de la respuesta del servicio, así que siempre mostraba el mismo
  aviso genérico aunque hubiera una solicitud en curso.

= 1.3.3 =
* El enlace del pie ahora cubre toda la frase "Desarrollado por Fenris" en lugar
  de una sola palabra.
* Los avisos de verificación tienen su propio icono en la campanita y abren la
  pestaña de Verificación al hacer clic.

= 1.3.2 =
* Todas las pantallas terminan ahora con un pie que enlaza a los Términos y
  Condiciones y al Aviso de Privacidad y acredita a Fenris como desarrollador.
  También se muestra en la pantalla de inicio de sesión.
* El icono del menú ya no se ve apagado. WordPress baja los iconos de imagen al
  60% para que no destaquen sobre los dashicons, y eso dejaba la marca lavada.

= 1.3.1 =
* Los mensajes de descarga de guía ahora usan esc_html__() en lugar de __().
  wp_die() imprime su mensaje, así que la cadena traducida también hay que
  escaparla.

= 1.3.0 =
* El plugin ya se puede traducir. 353 textos que ve el usuario están envueltos
  en las funciones de traducción, tanto en PHP como en el panel de React.
* Todos los archivos PHP se niegan a correr cuando WordPress no está cargado,
  así que una petición directa a un archivo del plugin ya no puede sacar un
  error fatal.

= 1.2.0 =
* Renombrado a "Hedwig Envíos for WooCommerce" para cumplir con las reglas de
  marcas registradas de WordPress.org.
* El readme pasó a estar en inglés.
* Documentadas las tres excepciones del análisis estático: el flujo binario del
  PDF de la guía, el campo del carrito (WooCommerce verifica el nonce antes y el
  valor se sanea en la línea siguiente) y la limpieza de transients al
  desinstalar.

= 1.1.3 =
* El icono del menú de WordPress y el logo ya no se quedan pegados en la caché
  del navegador. Sus URLs llevan ahora la versión del plugin. La marca vieja
  seguía saliendo aunque el archivo en disco ya fuera el nuevo.

= 1.1.2 =
* Los botones de rastrear, ver detalles y cancelar de la pantalla del pedido
  ahora van con relleno sólido. Eran transparentes con un borde tenue y se
  perdían sobre el ticket.
* Los mensajes de error y las píldoras de estado tampoco son ya tintes
  translúcidos, que prácticamente desaparecían sobre el ticket claro.
* En modo oscuro vuelve a verse el texto de "aquí aparecerán las tarifas". Tenía
  texto claro sobre un velo claro.

= 1.1.1 =
* Los distintivos verdes (Verificado, Entregado) ahora usan texto blanco sobre
  un verde oscurecido, que es donde el blanco de verdad se lee.
* El ticket de la guía ahora usa el verde azulado de la marca.
* Las notificaciones ahora te llevan a donde está lo que anuncian. Una respuesta
  de soporte abre esa incidencia.
* Corregido el panel de notificaciones, que se salía de la pantalla en el móvil.
* Corregida la flecha del selector de "Mostrar", que encimaba el número.
* **Mi cuenta de Hedwig** ahora muestra tu nombre y tu correo. Llegaban vacíos.
* En la pantalla de cotización, las direcciones marcadas como "origen y destino"
  vuelven a salir en los dos selectores.
* Las recolecciones solo se pueden programar para guías recién generadas. Ya no
  se ofrecen para envíos que van en camino o ya entregados.

= 1.1.0 =
* Nueva sección **Recolecciones**. Una recolección se programa desde una guía.
  La paquetería va a la dirección de origen de esa guía, así que no hay
  dirección ni paquetería que capturar. Solo eliges día, ventana de horario,
  número de piezas y el tamaño del paquete más grande.
* Guías, direcciones, paquetes y recolecciones ahora **paginan** (10, 20, 50 o
  100 por página) y tienen un **buscador** que ignora mayúsculas y acentos.
* **Mi cuenta de Hedwig** en Ajustes, para editar tu nombre y cambiar tu
  contraseña. El correo se muestra pero no se edita, porque es la credencial con
  la que entras.
* Direcciones y paquetes rediseñados.
* Abrir una incidencia de soporte devuelve ahora un aviso automático con el
  horario de atención, que deja claro que esto no es un chat en vivo.
* Las pestañas ahora indican que se deslizan en el móvil.
* Corregido el botón de notificaciones, invisible en modo claro.
* Corregidos los colores del panel del pedido y el botón de la guía, que se
  desbordaba.
* Los errores del servidor ya no se muestran en crudo.

= 1.0.2 =
* Jerarquía de color bien aplicada. El verde azulado es el color primario en
  toda la interfaz, el verde el secundario y el coral el de acento.
* Los neutros se tiñen hacia el verde azulado en lugar de ser grises planos.
* Fuera las superficies negras. La cabecera pasa a ser una superficie clara,
  donde vive el logo principal a color, y los paneles oscuros pasan a verde
  azulado profundo.

= 1.0.1 =
* Nueva identidad de marca, con paleta de verde azulado, verde y coral, logo
  nuevo y la tipografía Elegancy para los encabezados. Karla se queda para el
  texto y los datos.
* Se retira la identidad anterior, de acento ocre y Playfair Display.

= 0.1.0 =
* Versión inicial.

== Upgrade Notice ==

= 1.5.2 =
La recolección ya se programa con el paquete real de la guía, y generar una guía
lenta deja de avisar de un error que no ocurrió.

= 1.4.7 =
Tus clientes ya ven el rastreo de su paquete arriba del pedido en cualquier tema.

= 1.3.5 =
Se conecta al servicio de producción en lugar del de pruebas. Cambia la
tipografía de los encabezados. Vuelve a conectar tu cuenta después de
actualizar.

= 1.3.4 =
La pestaña de Verificación ahora muestra el estado real de tu solicitud, el
motivo del rechazo y tu número de intentos.

= 1.3.3 =
Retoques menores del pie y del icono de notificaciones. No cambia el
comportamiento.

= 1.3.2 =
Agrega un pie con los documentos legales en todas las pantallas y evita que el
icono del menú se vea apagado. No cambia el comportamiento.

= 1.3.1 =
Corrección de escapado en los mensajes de descarga de guía. No cambia el
comportamiento.

= 1.3.0 =
La interfaz ya se puede traducir. No cambia el comportamiento.

= 1.2.0 =
Cambió el nombre de la carpeta del plugin. Elimina el plugin viejo antes de
instalar este, y vuelve a conectar tu cuenta de Hedwig después.

= 1.1.3 =
Corrige el icono del menú, que seguía mostrando la marca anterior por la caché
del navegador.

= 1.1.2 =
Mejora la legibilidad en la pantalla del pedido y corrige el modo oscuro en la
pantalla de cotización.

= 1.1.1 =
Correcciones de color, notificaciones que ahora navegan, y recolecciones que ya
no se pueden programar para envíos que van en camino.

= 1.1.0 =
Agrega Recolecciones, paginación y buscadores. Si tenías muchas direcciones o
guías, ahora cargan página por página en lugar de todas de golpe.

= 1.0.2 =
Corrige cómo se aplica la identidad. Color primario visible en toda la interfaz
y sin superficies negras.

= 1.0.1 =
Cambia por completo la identidad visual del panel. Si después de actualizar
sigues viendo los colores anteriores, fuerza una recarga de caché (Ctrl+F5).

= 0.1.0 =
Versión inicial.
