VibeFox DPD Pickup for PrestaShop — Ayuda
Requisitos
PrestaShop: de 8.0 a 9.x.
PHP: 8.0 o posterior. El módulo no se instala en versiones anteriores de PHP.
Credenciales de DPD Baltic (Lituania, Letonia, Estonia): la lista de puntos de recogida procede del servicio web de DPD Baltic. Necesitas el nombre de usuario y la contraseña de la API que DPD facilita a sus clientes empresariales. Pregunta a tu gestor de cuentas de DPD o al servicio de atención al cliente de DPD de tu país. Una cuenta muestra los puntos de recogida de Lituania, Letonia y Estonia.
DPD Eslovaquia: la búsqueda pública de parcelshops de DPD Eslovaquia no necesita credenciales.
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un dominio.
Instalación
1. En el back office, ve a Modules > Module Manager y haz clic en Upload a module. Elige el archivo ZIP del módulo.
2. Cuando termine la subida, haz clic en Configure, o busca VibeFox DPD Pickup en la lista de módulos más adelante y haz clic en Configure.
3. Introduce tu clave de licencia de VibeFox en el campo License key del bloque de licencia de la parte superior de la página Configure y haz clic en Activate (consulta Clave de licencia).
4. Elige tu API de DPD. Para DPD Lituania, Letonia o Estonia, introduce el nombre de usuario y la contraseña de la API. Revisa los precios por país y haz clic en Save. Después haz clic en Refresh pickup points para comprobar la conexión (consulta Configuración).
Al instalarse, el módulo crea el transportista DPD Pickup Point con el texto del plazo de entrega DPD Pickup point or locker. El transportista se asigna a las zonas de Eslovaquia, Lituania, Letonia y Estonia y a todos los grupos de clientes, sin regla de impuestos. Puedes cambiar las zonas, los grupos de clientes, el texto del plazo de entrega, el logotipo y los límites de tamaño en Shipping > Carriers. No establezcas precios allí: el precio siempre procede del módulo.
Configuración
Todos los ajustes están en la página del módulo: Modules > Module Manager > VibeFox DPD Pickup > Configure. Cada sección tiene su propio botón Save, que guarda toda la página. Cada guardado también borra las listas de puntos de recogida en caché.
Las advertencias de la parte superior de la página indican cuándo están vacíos el nombre de usuario o la contraseña de DPD Baltic, cuándo no se ha definido ningún precio (en ambos casos el transportista no se muestra en la finalización de compra), cuándo se ha borrado el transportista y cuándo el módulo no reconoce la unidad de peso de la tienda (International > Localization, Local units), de modo que los pesos de los productos se leen como kg. Un valor que no es un número, o un número negativo, en un campo de importe o de peso no se guarda: el campo queda vacío y una advertencia indica cuál es. Las líneas de Country prices que no están en formato CC:PRECIO se enumeran en una advertencia y se ignoran.
General
Enable/Disable: activa o desactiva DPD Pickup. Es el mismo interruptor que el estado del transportista en Shipping > Carriers.
Name: el nombre del transportista que ve el cliente en la finalización de compra. Por defecto: DPD Pickup Point. Obligatorio, como máximo 64 caracteres.
Tax status: la regla de impuestos del transportista que se aplica al precio del envío. None significa sin impuestos. Las demás opciones muestran Taxable con el nombre de una regla de impuestos de tu tienda.
Lista de puntos de recogida de DPD
Los puntos de recogida se cargan desde DPD y se guardan en caché durante 24 horas.
DPD API: la empresa DPD con la que tienes tu cuenta. Las cuentas Baltic usan el servicio web de su propio país.
API username (Baltic): tu nombre de usuario del servicio web de DPD Baltic. No es necesario para DPD Eslovaquia. Al borrarlo también se borra la contraseña guardada.
API password (Baltic): tu contraseña del servicio web de DPD Baltic. No es necesaria para DPD Eslovaquia. Después de guardar, el campo queda vacío y muestra Saved - leave empty to keep it. Escribe un valor nuevo solo si quieres cambiarla.
Pickup points: el botón Refresh pickup points borra la caché y carga ahora los puntos de recogida desde DPD: Lituania, Letonia y Estonia para la API Baltic, y una búsqueda de prueba en Bratislava para DPD Eslovaquia. Muestra el número de puntos de recogida o el error de cada país. Guarda antes los ajustes.
Precios
Los precios de envío son fijos por país, en la moneda predeterminada de tu tienda, sin impuestos. Los precios de DPD no se solicitan a la API.
Country prices: una línea por país: CC:precio, por ejemplo EE:3.50. También se acepta la coma decimal. Por defecto: SK:3.50, LT:4.00, LV:4.00, EE:4.00.
Fallback cost: el precio para los países que no están en Country prices. Por defecto: 5.00. Déjalo vacío para ofrecer el transportista solo en los países de la lista.
Calculation type: Per order cobra el precio una sola vez. Per item (price x quantity) lo multiplica por el número de artículos del carrito.
Free shipping from: el envío es gratuito cuando el subtotal del pedido (después de descuentos, antes de impuestos) alcanza este importe. Déjalo vacío para desactivarlo.
Disponibilidad
El transportista también se oculta cuando DPD no devuelve puntos de recogida para la dirección del cliente o cuando no se puede conectar con la API de DPD, porque un pedido no se puede entregar sin punto de recogida.
Min weight (kg): el peso mínimo del carrito. Los pesos de los productos se convierten desde la unidad de peso de tu tienda. Vacío o 0 significa sin límite.
Max weight (kg): los carritos más pesados no ven el transportista. Por defecto: 31.5. 0 significa sin límite. Consulta los límites de peso de los puntos y taquillas de recogida de DPD en tu país. Un Min weight (kg) mayor que el Max weight (kg) se rechaza y no se guarda nada.
Minimum subtotal: muestra el transportista solo cuando el subtotal del pedido (después de descuentos, antes de impuestos) es como mínimo este importe. Déjalo vacío para mostrarlo siempre.
Ignore shipping zones: cuando está activado, el transportista se vincula a todas las zonas y se ofrece para los países indicados abajo. Una zona que crees más adelante se vincula de inmediato. Cuando está desactivado, el transportista se ofrece solo en sus zonas de Shipping > Carriers. Al desactivarlo, el transportista vuelve a las zonas que tenía antes.
Countries: los países de destino para ese modo. Déjalo vacío para todos los países. Solo se usa con Ignore shipping zones.
Selector de punto de recogida
City order: muestra primero las ciudades principales (Tallinn, Riga, Vilnius, Bratislava y otras). Activado por defecto.
City list width: el ancho CSS de la lista de ciudades, por ejemplo 100% o 300px. Por defecto: 100%.
Pickup point list width: el ancho CSS de la lista de puntos de recogida, por ejemplo 100% o 400px. Por defecto: 100%.
Avanzado
Debug log: escribe las solicitudes a la API y los pasos de la finalización de compra en logs/vfd_dpd_debug.log.php, dentro de la carpeta del módulo. El archivo no se puede abrir desde la web. Los errores de la API siempre se registran, aunque esta opción esté desactivada. Las credenciales nunca se registran.
Log: muestra el tamaño y las últimas entradas del registro de depuración. Haz clic en Clear log para vaciarlo.
Remove data on uninstall: cuando está activado, al desinstalar el módulo se borran sus ajustes y el transportista. El punto de recogida guardado en los pedidos siempre se conserva.
Cómo funciona en la finalización de compra
En el paso de envío, PrestaShop pide al módulo el precio de DPD Pickup. Solo cuentan los productos físicos: los productos virtuales no añaden peso y no se incluyen en el subtotal. El módulo comprueba los países (con Ignore shipping zones), el peso del carrito y el subtotal mínimo, toma el precio del país (o el coste alternativo) y aplica el envío gratuito si el subtotal es suficiente. Después carga los puntos de recogida de DPD para la dirección. Si DPD no devuelve ninguno, no se puede conectar con él o faltan las credenciales Baltic, el transportista se oculta. El precio se calcula en la moneda predeterminada de tu tienda y después se muestra en la moneda del carrito del cliente.
Una lista de puntos de recogida se guarda en caché durante 24 horas; una lista vacía, durante 1 hora. Una solicitud fallida se recuerda durante 5 minutos, de modo que una caída de DPD nunca ralentiza la finalización de compra. El tiempo de espera de la API es de 15 segundos.
Si editas el transportista en Shipping > Carriers después de que tenga pedidos, PrestaShop lo guarda como una nueva versión del transportista. El módulo sigue la nueva versión automáticamente.
El módulo no solicita precios a DPD, no crea envíos de DPD, no imprime etiquetas, no crea manifiestos, no solicita recogidas de mensajería, no hace seguimiento de paquetes ni muestra un mapa. Solo se admiten el servicio web de DPD Baltic y la búsqueda de parcelshops de DPD Eslovaquia.
Puntos de recogida
Cuando el cliente selecciona DPD Pickup, aparecen una lista de ciudades y una lista de puntos de recogida debajo del transportista. La ciudad de la dirección del cliente aparece preseleccionada. La elección se guarda en el carrito en cuanto el cliente la selecciona. Con DPD Eslovaquia, el cliente ve Enter your city and postcode to see the DPD pickup points nearby. hasta que la dirección está completa; después, los puntos cercanos. Si DPD no tiene puntos para la dirección, el cliente ve No DPD pickup points are available for this address right now. Please check the address or choose another shipping method.
El punto de recogida es obligatorio. Sin él, el cliente no puede continuar y ve Please select a DPD pickup point. El servidor comprueba que el punto pertenece a la lista de DPD para la dirección del cliente. Una elección manipulada o desactualizada se rechaza con The selected DPD pickup point is not available for this address. Please choose another one.
El punto elegido se guarda en el pedido. Se muestra en la página de confirmación del pedido y en los detalles del pedido del cliente como DPD pickup point:. En el correo electrónico de confirmación del pedido se añade después del nombre del transportista. El nuevo correo de pedido a la tienda (ps_emailalerts) también muestra el ID del punto. El nombre guardado en el pedido procede de DPD, no del navegador.
En la página de pedido del back office, el bloque DPD pickup point muestra el nombre del punto, su ID y su país. Haz clic en Edit, elige una ciudad y otro punto, y haz clic en Save. El punto se comprueba con la lista de DPD para la dirección del pedido, y la página muestra Pickup point updated. o Pickup point not found for the order address. Cambiar el punto requiere permiso para editar pedidos, no acceso a las páginas de Modules. Cada cambio se registra en Advanced Parameters > Logs del pedido, con el punto anterior, el nuevo punto y el empleado. Para cambiar el punto con DPD Eslovaquia, el pedido necesita una ciudad y un código postal de envío.
Si un carrito se divide en varios pedidos, el punto de recogida se queda con el primer pedido. Los demás pedidos muestran No pickup point was selected for this order., el registro de depuración tiene un error para cada uno, y Edit allí muestra The pickup point of this cart belongs to another order of the same cart. Nothing was changed. Comunica a DPD manualmente el punto de un pedido de este tipo.
Clave de licencia
El módulo funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox DPD Pickup es el primer bloque de Modules > Module Manager > VibeFox DPD Pickup > Configure, encima de los ajustes. Introduce la clave en License key y haz clic en Activate. Después, el bloque muestra la clave enmascarada, el estado (por ejemplo, la fecha hasta la que la licencia está activa y tu dominio) y los botones Check now para volver a comprobar el estado, Change key para introducir otra clave y Remove key para quitar la clave de esta tienda. Debajo aparecen la línea Product: presta-shipping-dpd-pickup y el enlace Manage licenses and domains in your account, que abre tu cuenta de vibefox.net. Solo los empleados con el permiso Configure para el módulo pueden cambiar la clave. Los textos del bloque siguen el idioma del back office (se incluyen inglés y ruso).
Si la clave no se acepta, el bloque indica el motivo, por ejemplo Key not found, This key belongs to another product, Domain limit reached o License expired on seguido de una fecha. Después de cambiar la dirección de la tienda, o después de liberar una plaza de dominio en tu cuenta, haz clic en Check now. Si no se puede conectar con el servidor de licencias, el módulo sigue funcionando con el último estado conocido.
Una clave funciona en un dominio: el dominio de la tienda principal, también en una configuración multitienda. Quitar la clave de la tienda no libera su plaza de dominio. Libera la plaza en tu cuenta de vibefox.net.
Sin una clave activa, el transportista DPD Pickup no se muestra a los clientes en la finalización de compra y no se calcula ninguna tarifa. La tienda de PrestaShop no sabe que has iniciado sesión en el back office, así que el transportista también se oculta para ti: puedes configurar el módulo antes de comprar una clave, pero no probarlo en la finalización de compra. Aparece un recordatorio en Modules > Module Manager, en la pestaña Alerts. Los pedidos existentes no se ven afectados.
Cuando una licencia caduca, el módulo sigue funcionando, pero las actualizaciones y el soporte requieren una renovación. El estado se vuelve a comprobar automáticamente mientras trabajas en el back office: una vez al día durante los primeros 14 días después de introducir la clave, y después una vez a la semana. No se necesita ningún cron job. Desinstalar o restablecer el módulo siempre elimina la clave de licencia y el estado de la licencia.
Solución de problemas
DPD Pickup no aparece en la finalización de compra: comprueba que la licencia está activa y que Enable/Disable está activado. En Shipping > Carriers, comprueba que el transportista cubre la zona del país del cliente y su grupo de clientes (o que Ignore shipping zones está activado y el país está permitido). Revisa las advertencias de la parte superior de la página del módulo y haz clic en Refresh pickup points. Comprueba los límites de peso y de subtotal y que el país tiene un precio (o un coste alternativo). Los productos también pueden estar limitados a ciertos transportistas en la página del producto.
Un error después de Refresh pickup points: el resultado muestra el error de DPD por país. Por ejemplo, "Login failed" significa que DPD ha rechazado las credenciales de Baltic, así que no se puede cargar ningún punto de recogida. Comprueba el nombre de usuario y la contraseña de la API con DPD.
DPD Eslovaquia no muestra puntos: los puntos aparecen cuando el cliente ha introducido la ciudad y el código postal. DPD solo muestra los puntos a menos de 50 km de esa dirección. Los desarrolladores pueden cambiar el radio con el hook del módulo actionVfdDpdSkSearchRadius.
Para encontrar la causa: activa el Debug log, vuelve a cargar la finalización de compra y mira el campo Log de la página del módulo. Cada decisión se escribe allí. Los errores de la API siempre se registran. Los nombres de usuario y las contraseñas de la API nunca se escriben en el registro.
Los puntos de recogida parecen desactualizados después de un cambio: haz clic en Save o en Refresh pickup points en la página del módulo. Ambos borran las listas en caché.
La página indica que no se ha encontrado el transportista DPD Pickup: el transportista se ha borrado en Shipping > Carriers. Restablece el módulo en Modules > Module Manager para volver a crearlo.
Desinstalación
Ve a Modules > Module Manager, abre el menú junto a VibeFox DPD Pickup y elige Uninstall. La clave de licencia, el estado de la licencia y la caché de puntos de recogida siempre se eliminan. Si Remove data on uninstall está activado, el transportista se borra (los pedidos conservan su historial), y se eliminan los ajustes, el registro y las elecciones de los carritos no terminados. Si está desactivado, el transportista solo se desactiva y se conservan todos los ajustes. Al volver a instalar el módulo, o con un Reset, el transportista guardado recupera el estado que tenía antes: un transportista que habías desactivado sigue desactivado. El punto de recogida guardado en los pedidos nunca se elimina.
DPD es una marca comercial de su respectivo titular. Este módulo no está afiliado ni respaldado por DPD.
