
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.
En el checkout
Gestión de envíos
Origen y remitente
Etiquetas
Seguimiento
Productos
Compatibilidad
Necesitás generar tu Credential ID según tu tipo de cliente:
Una vez generada la credencial, configurás el método “Andreani Envios” en WooCommerce Ajustes Envío Zonas de envío.
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
– Al configurar la sucursal de origen desde el panel de administración
Endpoints adicionales consultados desde el panel de administración:
– GET https://woocommerce-api-acom.andreani.com/api/v1/Branch/origin?postalCode={cp} — lista las sucursales habilitadas como origen para el código postal de la tienda, para que elijas desde cuál despachás. Se consulta solo en la pantalla de configuración del método de envío.
– GET https://woocommerce-api-acom.andreani.com/api/v1/Branch/default-origin?postalCode={cp} — informa qué sucursal asigna hoy Andreani para el código postal de la tienda. Se consulta solo en la pantalla de configuración del método de envío.
– PATCH https://woocommerce-api-acom.andreani.com/api/v1/Settings/origin — al guardar la configuración con la credencial vinculada, informa a Andreani desde dónde despacha la tienda: calle, número, piso, localidad, provincia, código postal de origen, nombre del remitente y, si la fijaste, el código de la sucursal de origen. Se envía solo desde el panel de administración; si Andreani no responde, se reintenta más tarde.
Los dos GET reciben únicamente el código postal de origen de la tienda y la credencial de autenticación; el PATCH envía además la dirección de origen y el nombre del remitente descritos arriba. No se envían datos de compradores ni de pedidos.
Términos y condiciones: https://www.andreani.com/terminos-y-condiciones
Política de privacidad: https://www.andreani.com/politica-de-privacidad
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.
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.
[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.
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; }
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 );
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 );
} );
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 );
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.
auto o manual.manual con shortcodes. Funciona sin configuración adicional.La actualización a 1.5.0 es transparente — el upgrader corre automáticamente al entrar al panel de WP admin y:
checkout_modo y checkout_force_enqueue si faltan.config_por_modo a slug ascii-safe (fix del envío gratis con nombres acentuados).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.