
內容簡介
Andreani WooCommerce 外掛將阿根廷 Andreani 物流服務整合至 WooCommerce 商店,讓顧客在結帳時可選擇 Andreani 配送,支援即時運費計算、門市取貨及自動產生託運單,專為阿根廷境內配送設計。
【主要功能】
• 新增「Andreani Envios」運送方式至 WooCommerce
• 結帳時即時計算 Andreani 運費
• 支援顧客選擇 Andreani 門市取貨(Puerta a Sucursal)
• 自動產生託運訂單與出貨標籤(企業客戶適用)
• 透過 Andreani API 即時取得門市與運費資訊
• 僅限阿根廷境內運送區域使用
外掛標籤
開發者團隊
📦 歷史版本下載
原文外掛簡介
Plugin oficial de Andreani para integrar sus servicios de envío en tu tienda WooCommerce. Permite a tus clientes elegir Andreani como opción de entrega durante el checkout y al merchant gestionar todos los envíos desde el panel de administración.
Disponible exclusivamente para tiendas con zonas de envío en Argentina.
Funcionalidades incluidas:
Método de envío “Andreani Envios” integrado en las zonas de WooCommerce
Cálculo de tarifas de envío 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
Generación automática de órdenes de envío al confirmar el pedido
Descarga de etiquetas en PDF (solo para clientes Corporativos)
Grilla administrativa para gestionar todos los envíos desde un solo lugar
Exportación a CSV de los envíos
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, 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 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
.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 '
';
}, 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:
Siembra los defaults de checkout_modo y checkout_force_enqueue si faltan.
Normaliza keys de config_por_modo a 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.
