VibeFox DPD Pickup for OpenCart — Ayuda
Requisitos
OpenCart: 3.0.x (probado en 3.0.5.0) o 4.0.2 y posteriores (probado en 4.1.0.3).
PHP: 8.0 o posterior.
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 proporciona a sus clientes empresariales. Pregunta a tu gestor de cuenta de DPD o al servicio de atención al cliente de DPD de tu país. Una cuenta de DPD Baltic 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.
Clase de peso: los pesos de los productos se convierten a kg. Tu tienda necesita una clase de peso con la unidad kg en System > Localisation > Weight Classes (OpenCart tiene una por defecto).
Clave de licencia de VibeFox: se compra en vibefox.net. Una clave funciona en un dominio.
Instalación
La descarga es un único archivo zip con los paquetes para ambas versiones de OpenCart. Descomprímelo en tu ordenador. Contiene README.txt, el paquete de OpenCart 3 vfd_dpd_pickup-oc3-(version).ocmod.zip y el paquete de OpenCart 4 vfd_dpd_pickup.ocmod.zip. Instala solo el paquete de tu versión de OpenCart. La clave de licencia es la misma para ambas versiones.
OpenCart 3
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo vfd_dpd_pickup-oc3-(version).ocmod.zip. La extensión no añade modificaciones OCMOD, así que no necesitas actualizar Extensions > Modifications. En lugar del Installer, puedes copiar el contenido de la carpeta upload de este paquete en la carpeta raíz de tu tienda.
2. Ve a Extensions > Extensions y elige el tipo de extensión Shipping. Busca VibeFox DPD Pickup y haz clic en Install (el botón verde +).
3. Haz clic en Edit (el botón del lápiz) para abrir la página de ajustes.
4. Pega tu clave de licencia de VibeFox en License key, en el bloque de licencia de la parte superior de la página Edit, y haz clic en Activate (véase Clave de licencia).
5. 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, activa Enable/Disable y haz clic en Save. Después haz clic en Refresh pickup points para comprobar la conexión (véase Configuración).
OpenCart 4
1. En el panel de administración ve a Extensions > Installer, haz clic en Upload y elige el archivo vfd_dpd_pickup.ocmod.zip. No cambies el nombre del archivo: OpenCart 4 toma el código de la extensión del nombre del archivo, y un paquete renombrado no funciona.
2. El paquete aparece en la lista de extensiones instaladas en la misma página. Haz clic en Install (el botón verde +) junto a él.
3. Ve a Extensions > Extensions y elige el tipo de extensión Shipping. Busca VibeFox DPD Pickup, haz clic en Install (el botón verde +) y después en Edit (el botón del lápiz).
4. Introduce la clave de licencia y los ajustes como en los pasos 4 y 5 de OpenCart 3. La página de ajustes y sus campos son los mismos en ambas versiones.
Tras la instalación el método queda desactivado hasta que actives Enable/Disable y guardes. Si vuelves a instalar la extensión después de desinstalarla, se usan de nuevo los ajustes que conservaste.
Configuración
Todos los ajustes están en la página de la extensión: Extensions > Extensions > Shipping > VibeFox DPD Pickup > Edit. Las secciones aparecen a la izquierda. Un único botón Save guarda toda la página sin recargarla. Cada guardado también borra las listas de puntos de recogida en caché. Solo los usuarios administradores con permiso de modificación para esta extensión pueden guardar los ajustes, actualizar los puntos de recogida o borrar el registro.
Las advertencias en la parte superior de la página indican cuando el nombre de usuario o la contraseña de DPD Baltic están vacíos, o cuando no hay precios configurados (en ambos casos el método no se muestra en la finalización de compra), y cuando la tienda no tiene una clase de peso con la unidad kg (los pesos de los productos se leen entonces por el nombre de su unidad; las unidades desconocidas se tratan como kg). Algunos valores impiden el guardado y entonces no se guarda nada: un Name vacío o de más de 64 caracteres, un Sort order que no es un número entero y un Min weight (kg) mayor que el Max weight (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 lo indica, mientras que los demás ajustes sí se guardan. Las líneas de Country prices que no están en formato CC:PRICE aparecen en una advertencia y se ignoran.
General
El método se ofrece en la zona geográfica definida en Availability (todas las zonas si no hay ninguna), o con Ignore shipping zones en los países elegidos allí.
Enable/Disable: muestra u oculta DPD Pickup en la finalización de compra. Por defecto: desactivado.
Name: el nombre del método de envío que ve el cliente en la finalización de compra. Por defecto: DPD Pickup Point. Obligatorio, como máximo 64 caracteres.
Tax class: la clase de impuesto aplicada al precio de envío, o None (por defecto) para no aplicar impuestos.
Sort order: la posición del método en la lista de métodos de envío. Un número entero.
Lista de puntos de recogida de DPD
Los puntos de recogida se cargan desde DPD y se guardan en caché (véase Cómo funciona en la finalización de compra).
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 cambiarlo.
Pickup points: el botón Refresh pickup points borra la caché y carga ahora los puntos de recogida de 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 por 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. 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 método solo en los países de la lista.
Calculation type: Per order (por defecto) cobra el precio una 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 método 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 su clase de peso. Vacío o 0 significa sin límite.
Max weight (kg): los carritos más pesados no ven el método. Por defecto: 31.5. Vacío o 0 significa sin límite. Consulta los límites de peso por paquete de los puntos y taquillas de DPD Pickup de tu país.
Minimum subtotal: muestra el método solo cuando el subtotal del pedido (después de descuentos, antes de impuestos) es al menos este importe. Déjalo vacío para mostrarlo siempre.
Geo zone: ofrece el método solo a direcciones de esta zona geográfica. All zones (por defecto) significa sin límite. Las zonas geográficas se gestionan en System > Localisation > Geo Zones. No se usa con Ignore shipping zones.
Ignore shipping zones: cuando está activado, no se comprueba la zona geográfica y el método se ofrece en los países indicados abajo. Cuando está desactivado (por defecto), solo se usa la zona geográfica de arriba.
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 puntos 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 storage/logs/vfd_dpd_debug.log.php (en OpenCart 4, system/storage/logs/vfd_dpd_debug.log.php). El archivo no se puede leer desde la web. Los errores de la API siempre se registran, incluso con esta opción desactivada. Las credenciales nunca se registran. Cuando el archivo alcanza 5 MB, se mueve a vfd_dpd_debug.old.log.php y se inicia un registro nuevo.
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 la extensión se borran sus ajustes, el registro y las elecciones de las finalizaciones de compra sin terminar. El punto de recogida guardado en los pedidos siempre se conserva.
Importar / Exportar
Export: haz clic en Download JSON para guardar los ajustes como archivo JSON. La contraseña de la API no se exporta.
Import: pega el JSON exportado previamente y haz clic en Import para restaurar los ajustes, por ejemplo en otra tienda. Los valores se comprueban igual que en un guardado normal. La contraseña de la API guardada se mantiene.
Cómo funciona en la finalización de compra
Cuando OpenCart muestra los métodos de envío, pide a la extensión el precio de DPD Pickup. Si hay una Geo zone definida (y Ignore shipping zones está desactivado) y la dirección queda fuera de ella, el método no se ofrece. Solo cuentan los productos con Requires Shipping configurado en Sí: los demás productos no añaden peso ni se incluyen en el subtotal. La extensión 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 suficientemente alto. El subtotal es el precio de los productos que necesitan envío, después del descuento del cupón y antes de impuestos.
Después carga los puntos de recogida de DPD para la dirección. Si DPD no devuelve ninguno, no se puede conectar o faltan las credenciales Baltic, el método se oculta. Con DPD Eslovaquia el método se muestra mientras falte la ciudad o el código postal, y los puntos aparecen cuando la dirección está completa. El precio se calcula en la moneda predeterminada y se muestra al cliente en su moneda, con el impuesto de la Tax class seleccionada.
Una lista de puntos de recogida se guarda en caché hasta 24 horas, y una lista vacía hasta 1 hora, pero nunca más que la duración de la caché de OpenCart (1 hora por defecto). Una solicitud fallida se recuerda durante 5 minutos, así que una caída de DPD nunca ralentiza la finalización de compra. El tiempo de espera de la API es de 15 segundos.
La extensión no solicita precios de DPD, no crea envíos de DPD, no imprime etiquetas, no crea manifiestos, no encarga 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 método. La ciudad de la dirección del cliente aparece preseleccionada. La elección se guarda 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, y 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.
Se exige un punto de recogida. Sin uno, el cliente no puede continuar y ve Please select a DPD pickup point. Cuando el cliente hace clic en Continue, el servidor comprueba que el punto pertenece a la lista de DPD para la dirección del cliente. Una elección falsificada o desactualizada se rechaza con The selected DPD pickup point is not available for this address. Please choose another one. Si en ese momento no se puede cargar la lista de DPD, se acepta el punto que el cliente ya había elegido, y el pedido muestra su ID en lugar del nombre.
En OpenCart 4, el cliente hace clic en Choose en el bloque del método de envío de la página de finalización de compra y elige DPD Pickup en la ventana Shipping method options. La lista de ciudades y la lista de puntos de recogida aparecen en esa ventana debajo del método y funcionan como se describe arriba. El botón Continue de la ventana no avanza sin un punto de recogida, con los mismos mensajes.
El punto elegido se añade al método de envío del pedido, por ejemplo DPD Pickup Point: name, street, postcode city con el título predeterminado, o My title - DPD pickup point: name, street, postcode city con tu propio título (como máximo 128 caracteres). Así aparece en el pedido del administrador, en el historial de pedidos del cliente, en los correos electrónicos del pedido y en la factura. El nombre guardado en el pedido procede de DPD, no del navegador.
En OpenCart 4, el texto del método de envío puede tener hasta 255 caracteres. OpenCart 4 mantiene un único pedido para la finalización de compra y lo actualiza cada vez que el cliente vuelve a confirmar, y el punto de recogida del pedido se actualiza con él.
En la página del pedido del administrador (Sales > Orders), el panel DPD pickup point situado encima del historial 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 el panel muestra Pickup point updated. o Pickup point not found for the order address. El texto del método de envío del pedido se actualiza, y se añade una nota al historial del pedido (no se envía al cliente) con el punto anterior, el nuevo y el usuario administrador. Cambiar el punto requiere el permiso de modificación de pedidos, no el acceso a los ajustes de la extensión. Con DPD Eslovaquia, el pedido necesita una ciudad y un código postal de envío; si no, el panel muestra Add the shipping city and postcode to change the pickup point. Un pedido realizado sin punto muestra No pickup point was selected for this order. y el registro de depuración contiene un error para él. El panel y Edit también funcionan después de desactivar la extensión.
Clave de licencia
La extensión funciona con una clave de licencia de VibeFox de vibefox.net. El bloque de licencia License — VibeFox DPD Pickup es el primero de la página Extensions > Extensions > Shipping > VibeFox DPD Pickup > Edit, por encima de los ajustes. Pega la clave en License key y haz clic en Activate. Después, el bloque muestra la clave oculta, el estado (por ejemplo, la fecha hasta la que la licencia está activa y tu dominio) y los botones Check now para comprobar el estado de nuevo, Change key para introducir otra clave y Remove key para eliminar la clave de esta tienda. Debajo aparecen la línea Product: opencart-shipping-dpd-pickup y el enlace Manage licenses and domains in your account, que abre tu cuenta de vibefox.net. Solo los usuarios administradores con el permiso Modify para la extensión pueden cambiar la clave. Los textos del bloque siguen el idioma del administrador (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 contactar con el servidor de licencias, la extensión sigue funcionando con el último estado conocido.
Una clave funciona en un solo dominio: la dirección de la tienda de la configuración de OpenCart. 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 método de envío DPD Pickup no se muestra a los clientes en la finalización de compra y no se calcula ninguna tarifa. Un usuario administrador que haya iniciado sesión en el panel de administración en el mismo navegador sigue viendo el método en la tienda, marcado como (unlicensed — visible to admins only), así que puedes configurar y probar la extensión antes de comprar una clave. En OpenCart 4 esta vista previa no está disponible: la tienda no ve el inicio de sesión del administrador, así que sin una clave activa el método se oculta a todos. Después de abrir la página Edit una vez, aparece un recordatorio en el Dashboard del administrador. Ciérralo con × para ocultarlo durante 7 días. Los pedidos existentes no se ven afectados.
Cuando una licencia caduca, la extensión sigue funcionando, pero las actualizaciones y el soporte requieren una renovación. El estado se vuelve a comprobar automáticamente cuando abres el Dashboard del administrador o la página Edit: 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 ninguna tarea cron. Al desinstalar la extensión siempre se eliminan 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. Revisa Geo zone (o Ignore shipping zones y Countries), los límites de peso y de subtotal, y que el país tiene un precio (o un coste alternativo). Revisa las advertencias en la parte superior de la página de la extensión y haz clic en Refresh pickup points. Comprueba que los productos tienen Requires Shipping configurado en Sí.
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 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 lista los puntos a menos de 50 km de esa dirección.
Para encontrar la causa: activa Debug log, vuelve a cargar la finalización de compra y mira el campo Log de la página de la extensión. 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 tras un cambio: haz clic en Save o en Refresh pickup points en la página de la extensión. Ambas acciones borran las listas en caché.
La página muestra "Warning: You do not have permission to modify VibeFox DPD Pickup!": tu grupo de usuarios administradores puede tener solo permiso de lectura de los ajustes. Da al grupo el permiso de modificación para extension/shipping/vfd_dpd_pickup (OpenCart 3) o extension/vfd_dpd_pickup/shipping/vfd_dpd_pickup (OpenCart 4) en System > Users > User Groups.
Para desarrolladores: otra extensión puede cambiar el radio de búsqueda de DPD Eslovaquia con el evento de OpenCart vfd_dpd_pickup/sk_search_radius.
Desinstalación
Ve a Extensions > Extensions, elige el tipo Shipping y haz clic en Uninstall (el botón rojo −) junto a VibeFox DPD Pickup. La clave de licencia y el estado de la licencia de esta extensión siempre se eliminan. OpenCart restablece siempre Enable/Disable, Sort order, Tax class y Geo zone. La extensión siempre elimina sus eventos y las listas de puntos de recogida en caché. Si Remove data on uninstall está activado, también se borran los demás ajustes, el registro de depuración y las elecciones de las finalizaciones de compra sin terminar. Si está desactivado, los ajustes se conservan y se usan de nuevo al volver a instalar la extensión. El punto de recogida guardado en los pedidos nunca se borra, y los pedidos existentes conservan su método de envío y su coste.
En OpenCart 4, para eliminar también los archivos de la extensión, ve a Extensions > Installer después de desinstalarla y haz clic en Uninstall (el botón naranja −) junto a VibeFox DPD Pickup en la lista de extensiones instaladas, y después en Delete (el botón rojo de la papelera) para eliminar el paquete subido.
DPD es una marca comercial de su respectivo titular. Esta extensión no está afiliada ni respaldada por DPD.
