Plugin oficial de Andreani para integrar sus servicios de envío en tu tienda WooCommerce. Tus clientes eligen Andreani como opción de entrega durante el checkout, y vos gestionás todos los envíos —cotización, generación, etiquetas y seguimiento— desde el panel de administración, sin salir de WooCommerce.
Disponible exclusivamente para tiendas con zonas de envío en Argentina. Funciona para clientes PyME, Corporativos y Middle Market.
Novedades de la versión 1.6.0
- Etiquetas para clientes PyME y Middle Market — antes era exclusivo de Corporativos; ahora todos pueden descargar la etiqueta en PDF.
- Formato de impresión configurable — elegí A4 o etiqueta térmica (Zebra) y la cantidad de etiquetas por página.
- Descarga masiva de etiquetas — seleccioná varios envíos en la grilla y descargá todas las etiquetas de una sola vez.
- Seguimiento en tiempo real — el número de seguimiento aparece en el pedido apenas Andreani lo genera, sin recargar la página.
- Estado logístico automático — el envío muestra su estado real (pendiente de ingreso, en camino, listo para retirar, entregado, no entregado) y se sincroniza solo.
- Panel “Ver mis productos” — revisá el peso y las dimensiones de tus productos, encontrá rápido los que no tienen esos datos cargados (los que no pueden cotizar) y probá la cotización por código postal para confirmar que todo funcione.
- Detalle del pedido rediseñado — con línea de tiempo del envío y estado de pago siempre al día.
Qué podés hacer
En el checkout
- Método de envío “Andreani Envios” integrado en las zonas de WooCommerce.
- Cálculo de tarifas en tiempo real durante el checkout.
- Selección de sucursales Andreani para envíos Puerta a Sucursal.
- Cotizador opcional en la página de producto.
- Envío gratis configurable por monto mínimo y por modo de entrega.
Gestión de envíos
- Generación automática de la orden de envío al confirmar el pedido.
- Grilla administrativa para gestionar todos los envíos desde un solo lugar.
- Reintento de envíos que no se pudieron generar.
- Exportación a CSV de los envíos.
Etiquetas
- Descarga de etiquetas en PDF para clientes PyME, Middle Market y Corporativos.
- Formato de impresión configurable: A4 o etiqueta térmica (Zebra), con cantidad de etiquetas por página.
- Descarga masiva desde la grilla.
Seguimiento
- Número de seguimiento visible en el pedido apenas se genera.
- Estado logístico real del envío, actualizado automáticamente desde Andreani.
- Línea de tiempo del envío en el detalle del pedido.
Productos
- Panel “Ver mis productos” con el peso, las dimensiones y los bultos de cada producto.
- Filtro para encontrar rápido los productos sin peso o sin dimensiones — los que no pueden cotizar en el checkout.
- Probador de cotización por código postal para verificar que un producto cotiza correctamente, sin tener que generar una orden.
Compatibilidad
- Compatible con Elementor, Divi, Bricks y otros page builders.
- Compatible con HPOS (High-Performance Order Storage) de WooCommerce.
- API pública para desarrolladores (ver sección “Para desarrolladores”).
Antes de empezar
Necesitás generar tu Credential ID según tu tipo de cliente:
- Clientes PyME: https://pymes.andreani.com/integraciones/ (seleccioná la opción WooCommerce)
- Clientes Corporativos: https://corporativo.andreani.com/woocommerce
Una vez generada la credencial, configurás el método “Andreani Envios” en 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, generación de órdenes de envío y descarga de etiquetas 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 – Al descargar la etiqueta de un envío y al consultar su estado de seguimiento
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 atributocontextaceptabilling(por defecto) oshipping.
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 modoauto)..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.$razonpuede seris_checkout,force_enqueueo''.
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ónandreani_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 onull.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
autoomanual. - Elementor / Divi / Bricks / Beaver Builder / Breakdance / Oxygen / cualquier builder futuro: modo
manualcon 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:
- Siembra los defaults de
checkout_modoycheckout_force_enqueuesi faltan. - Normaliza keys de
config_por_modoa slug ascii-safe (fix del envío gratis con nombres acentuados). - 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.
