Andreani WooCommerce

Description

Este plugin integra el método de envío de Andreani directamente en tu tienda WooCommerce, permitiendo a tus clientes seleccionar Andreani como opción de entrega durante el proceso de compra.

Importante: Este plugin está diseñado exclusivamente para zonas de envío en Argentina.

Funcionalidades incluidas:

  • Agrega el método de envío “Andreani Envios” en WooCommerce
  • Cálculo de tarifas de envío en tiempo real
  • Selección de sucursales Andreani para envíos Puerta a Sucursal
  • Generación automática de órdenes de envío y etiquetas (solo para clientes corporativos)
  • Compatible con Elementor, Divi, Bricks y otros page builders
  • API pública para desarrolladores (ver sección “Para desarrolladores”)

Requisitos previos:

Antes de configurar el plugin, necesitarás generar tu Credential ID (hash de autenticación) según el tipo de cliente:

  • Clientes PyME: Genera tu credencial en https://pymes.andreani.com/integraciones/ (selecciona la opción WooCommerce)
  • Clientes Corporativos: Genera tu credencial en https://corporativo.andreani.com/woocommerce

Una vez generada tu credencial, podrás configurar el método de envío “Andreani Envios” en las opciones de WooCommerce (WooCommerce > Ajustes > Envío > Zonas de envío).

External services

Este plugin se conecta a las APIs de Andreani para obtener información de envíos, calcular tarifas y gestionar órdenes de envío.

Servicio: APIs de Andreani
Propósito: Cálculo de tarifas de envío, obtención de información de sucursales y generación de órdenes de envío
Datos enviados:
– Información del producto (peso, dimensiones, valor)
– Código postal de origen y destino
– Credenciales de autenticación del cliente con Andreani
– Datos de la orden de compra (cuando se genera un envío)
– Información del destinatario (nombre, dirección, teléfono, email)

Cuándo se envían los datos:
– Durante el cálculo de tarifas de envío en el checkout
– Al consultar sucursales disponibles para envíos a sucursal
– Al generar una orden de envío después de una compra exitosa

Términos y condiciones: https://www.andreani.com/terminos-y-condiciones
Política de privacidad: https://www.andreani.com/politica-de-privacidad

Para desarrolladores

Guía técnica del contrato público estable a partir de 1.5.0. Todo lo listado acá es seguro de usar desde temas, page builders o plugins custom. Los cambios breaking se anuncian en el Changelog.

Modelo de integración

El plugin es zero-config en page builders. No detecta Elementor, Divi, Bricks, etc. — los shortcodes encolan sus assets al momento de renderizarse, así que funcionan automáticamente en cualquier builder que respete el contrato de shortcodes de WordPress.

Modo automático (default): los hooks de WooCommerce inyectan el selector de sucursales y los campos DNI en el checkout clásico.
Modo manual: los hooks quedan desactivados, el integrador usa los shortcodes donde quiera.

Se configura en WooCommerce Envío (tu zona) Andreani Envios Modo de renderizado del checkout.

Shortcodes

  • [andreani_sucursales] — Selector de sucursales. Carga las sucursales según el CP presente en el formulario más cercano. Soporta múltiples instancias por página.
  • [andreani_dni_field context="billing|shipping"] — Campo DNI/CUIT. El atributo context acepta billing (por defecto) o shipping.

Los shortcodes encolan sus assets on-demand — no requieren tildar Forzar carga de assets.

Clases CSS públicas

Contrato estable. Seguras de usar en CSS custom:

  • .andreani-sucursales-standalone — Wrapper del shortcode de sucursales.
  • .andreani-sucursales-select — El <select> de sucursales (funciona en el <tr> legacy y en el wrapper standalone).
  • .andreani-sucursales-details — Bloque con nombre y dirección de la sucursal elegida (dentro del wrapper standalone).
  • .andreani-sucursales-row — Fila del checkout clásico (legacy, solo en modo auto).
  • .andreani-dni-field-shortcode — Wrapper del shortcode de DNI.

El CSS del plugin solo aplica estilos estructurales (layout, spacing). Color, tipografía y font-weight se heredan del tema.

Ejemplo de override desde Apariencia Personalizar CSS adicional:

.andreani-sucursales-standalone { background: #f7f7f7; border-radius: 8px; padding: 1rem; }
.andreani-sucursales-select { border: 2px solid #333; }

Filters PHP

  • andreani_sucursales_markup( string $html, int $instance_id, string $cp_destino ) — Modifica el markup del selector.
  • andreani_dni_field_markup( string $html, string $context, array $field_args ) — Modifica el markup del campo DNI del shortcode.
  • andreani_should_enqueue_checkout( bool $should, string $razon ) — Fuerza o bloquea el encolado eager de assets. $razon puede ser is_checkout, force_enqueue o ''.

Ejemplo:

add_filter( 'andreani_sucursales_markup', function( $html, $instance_id, $cp ) {
    return '<div class="mi-wrapper-custom">' . $html . '</div>';
}, 10, 3 );

Eventos JS

Emitidos en document como eventos jQuery y CustomEvent nativo — compatibles con listeners tradicionales y modernos.

  • andreani:ready — El plugin terminó de bindearse. detail: { wcClassic: boolean }.
  • andreani:cp-changed — El CP cambió en algún input. detail: { postcode }.
  • andreani:sucursal-selected — El usuario seleccionó una sucursal. detail: { code, nombre, direccion, wrapper, postcode }.
  • andreani:error — Error de AJAX o validación. detail: { code, message?, postcode?, wrapper? }.

Ejemplo (jQuery):

jQuery( document ).on( 'andreani:sucursal-selected', function( e, detail ) {
    console.log( 'Sucursal elegida:', detail.code, detail.nombre );
} );

Ejemplo (vanilla JS):

document.addEventListener( 'andreani:cp-changed', function( e ) {
    console.log( 'Nuevo CP:', e.detail.postcode );
} );

API JavaScript

El objeto window.andreaniCheckout expone:

  • andreaniCheckout.ajaxUrl — URL de admin-ajax.
  • andreaniCheckout.nonce — token (acción andreani_checkout_nonce).
  • andreaniCheckout.i18n — strings traducidas.
  • andreaniCheckout.refresh( wrapper? ) — recarga sucursales para un wrapper específico o todos si se omite el argumento.
  • andreaniCheckout.getSelected( wrapper? ) — devuelve { code, nombre, direccion } de la selección actual o null.
  • andreaniCheckout.init( wrapper? ) — bindea selects inyectados dinámicamente (modals, popups de Elementor, etc.).

Ejemplo:

const info = window.andreaniCheckout.getSelected();
if ( info ) console.log( info.nombre );

AJAX y nonce

Endpoint público: andreani_get_sucursales (acepta usuarios no logueados).

Acepta dos nonces durante el ciclo 1.5.x:
* nonce con acción andreani_checkout_nonce (recomendado, propio del plugin).
* security con acción update-order-review (legacy de WC, para código custom que lo use).

El nonce legacy se remueve en una versión mayor futura.

Compatibilidad

  • Classic WooCommerce Checkout: soporte completo en modo auto o manual.
  • Elementor / Divi / Bricks / Beaver Builder / Breakdance / Oxygen / cualquier builder futuro: modo manual con shortcodes. Funciona sin configuración adicional.
  • WC Blocks Checkout (Gutenberg): sin soporte nativo en 1.5.x (requiere integración por Store API — planificada para una versión mayor futura).

Migración desde 1.4.x

La actualización a 1.5.0 es transparente — el upgrader corre automáticamente al entrar al panel de WP admin y:

  1. Siembra los defaults de checkout_modo y checkout_force_enqueue si faltan.
  2. Normaliza keys de config_por_modo a slug ascii-safe (fix del envío gratis con nombres acentuados).
  3. Fuerza un re-login contra la API de Andreani para sincronizar credenciales con la nueva persistencia de sesión.

Si tenías código custom que dependía de:

  • andreani_has_shortcode / andreani_builder_meta_keys (filters internos que no documentamos públicamente): removidos. Ya no son necesarios — los shortcodes encolan solos.
  • El checkbox Forzar carga de assets: sigue funcionando pero casi nunca es necesario. Úsalo solo como último recurso.

Installation

  1. Instale el plugin de Andreani desde el repositorio de WordPress o suba el archivo ZIP manualmente.
  2. Active el plugin en la sección de Plugins de WordPress.
  3. Genera tu Credential ID según tu tipo de cliente (ver sección de Descripción).
  4. Vaya a WooCommerce > Ajustes > Envío > Zonas de envío.
  5. Agregue el método de envío “Andreani Envios” a la zona deseada.
  6. Configure el método de envío con tu Credential ID y las opciones necesarias.

Reviews

ജനുവരി 8, 2026
Pongo 5 estrellas para bancar el desarrollo, pero no solo me da puro error sino que la supuesta “Nueva opción para configurar envíos gratuitos a partir de un monto mínimo” no la encuentro. Sí encuentro una nueva opción para configurar envío gratuito, pero no veo la opción del monto y la verdad que la necesitaríamos, porque tenemos una promo vigente justamente con envío gratis por monto mínimo y la gente termina eligiendo la opción de Correo Argentino.
Read all 1 review

Contributors & Developers

“Andreani WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Andreani WooCommerce” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.5.0

  • Rediseño del panel de administración.
  • Mejoras en la grilla de envíos.
  • Mejoras en la gestión de estados y filtros.
  • Soporte de shortcodes para page builders.
  • Mejoras en el diagnóstico de errores.
  • Arreglos en envíos gratis y reintentos.

1.4.10

  • Mejora en compatibilidad del selector de sucursales con temas y plugins de checkout personalizados
  • Fix: Corrección en reintento de envíos fallidos desde la grilla de envíos
  • Detección automática de producto Bigger en configuración de producto

1.4.9

  • Mejoras de rendimiento en la grilla de envíos y configuración del plugin
  • Optimización en la carga de productos y órdenes en tiendas con alto volumen

1.4.8

  • Mejora en el diagnóstico de errores al generar envíos
  • Fix: Corrección de error en productos sin precio o dimensiones cargadas

1.4.7

  • Nueva configuración de múltiples bultos por producto desde la ficha de producto
  • Fix: Corrección de error al agregar productos sin peso o dimensiones al carrito
  • Mejoras de interfaz y estilos en configuración

1.4.6

  • Rediseño de la grilla de envíos con carga asíncrona y mejoras visuales
  • Nueva opción para volver un envío a estado pendiente
  • Mejoras en búsqueda y manejo de direcciones

1.4.5

  • Nueva funcionalidad: Cotizador de envío en páginas de producto
  • Mejora: Configuración individual de costo adicional y envío gratis por modo de entrega
  • Fix: Correcciones en la visualización de información de cliente

1.4.4

  • Fix: Corrección de duplicación de costos adicionales en el total
  • Mejoras de interfaz y estilos en configuración

1.4.3

  • Nueva funcionalidad: Configuración por modo de entrega con costos adicionales personalizados
  • Mejoras de interfaz y estilos en configuración

1.4.2

  • Nueva columna “Servicio” en la grilla de envíos
  • Mejoras de interfaz y estilos en configuración

1.4.1

  • Nueva funcionalidad para activar y desactivar contratos de forma individual
  • Rediseño del selector de contratos en la configuración del método de envío
  • Mejoras visuales en el panel de administración

1.4.0

  • Nueva grilla administrativa para gestionar todos los envíos de Andreani desde un solo lugar
  • Mejora en la visualización de tracking e información de envíos
  • Mejoras internas de rendimiento y estabilidad

1.3.0

  • Nueva funcionalidad: Configuración de monto mínimo personalizado para envío gratis por método de envío
  • Nueva herramienta administrativa: Botón para refrescar contratos corporativos vía AJAX sin recargar la página
  • Mejoras en la interfaz de administración con mejor feedback visual y estados de carga
  • Optimización en el manejo de contratos Andreani con validación mejorada

1.2.0

  • Detección automática del tipo de cliente (Pyme/Corporativo) al validar credenciales
  • Nueva opción para configurar envíos gratuitos a partir de un monto mínimo
  • Modo debug: registro de logs en WooCommerce > Estado > Logs para diagnóstico
  • Mejoras en la interfaz de configuración del plugin

1.1.0

  • Versión inicial publicada en el repositorio de WordPress