Module UltimateMarketPlace ES: Difference between revisions

Jump to navigation Jump to search
no edit summary
Tag: 2017 source edit
No edit summary
Tag: 2017 source edit
Line 1: Line 1:
[[Category:Modules]]
[[Category:Modules]]
[[Category:AtooNet]]
[[Category:AtooNet]]
{{TemplateDocDev}}
{{TemplateDocUtil}}


=Módulo UltimateMarketPlace=
=Módulo UltimateMarketPlace=
Line 8: Line 10:
El módulo '''UltimateMarketPlace''' es una extensión para Dolibarr ERP/CRM publicada por [https://www.atoo-net.com Atoo-Net].
El módulo '''UltimateMarketPlace''' es una extensión para Dolibarr ERP/CRM publicada por [https://www.atoo-net.com Atoo-Net].


Proporciona todas las funcionalidades necesarias para publicar un '''marketplace en línea de un solo vendedor''': una plantilla de sitio web lista para usar (catálogo de productos, carrito, proceso de pedido, cuentas de cliente), utilizable con el módulo Sitio Web de Dolibarr, para vender sus propios productos y servicios directamente en línea.
Proporciona todo lo necesario para publicar un '''marketplace en línea de un solo vendedor''': una plantilla de sitio web lista para usar (catálogo de productos, carrito, proceso de pedido, cuentas de cliente, zona de descargas), utilizable con el módulo Sitio web de Dolibarr, para vender sus propios productos y servicios directamente en línea.


Se trata de una bifurcación (fork) simplificada del módulo Dolibarr «Marketplace» (utilizado para dolistore.com), del que se ha eliminado todo lo específico de la asociación Dolibarr, así como el circuito multivendedor de envío y revisión de módulos por parte de desarrolladores externos.
Se trata de un fork simplificado del módulo Dolibarr «Marketplace» (utilizado para dolistore.com), del que se ha retirado todo lo específico de la asociación Dolibarr, así como el circuito multivendedor / envío y revisión de módulos por desarrolladores externos.


{| class="wikitable"
{| class="wikitable"
Line 18: Line 20:
|Autor||Philippe Grand — Atoo-Net
|Autor||Philippe Grand — Atoo-Net
|-
|-
|Versión||1.0
|Versión||24.0.0
|-
|-
|Licencia||GNU GPL v3+
|Licencia||GNU GPL v3+
Line 24: Line 26:
|Dolibarr mínimo||v24.0
|Dolibarr mínimo||v24.0
|-
|-
|PHP mínimo||v8.0
|PHP mínimo||v8.2
|}
|}


==¿Por qué usar UltimateMarketPlace?==
==¿Por qué utilizar UltimateMarketPlace?==


UltimateMarketPlace transforma su instalación de Dolibarr en una tienda en línea autónoma, sin depender de un CMS ni de una plataforma de comercio electrónico de terceros (como PrestaShop, WooCommerce…). El catálogo, los pedidos, las facturas y los clientes permanecen de forma nativa en Dolibarr.
UltimateMarketPlace convierte su instalación de Dolibarr en una tienda en línea autónoma, sin depender de un CMS o de una plataforma de comercio electrónico externa (PrestaShop, WooCommerce…). El catálogo, los pedidos, las facturas y los clientes permanecen de forma nativa en Dolibarr.


===Casos de uso===
===Casos de uso===


====Venta de productos físicos o desmaterializados====
====Venta de productos físicos o digitales====
Publique su catálogo de productos o servicios directamente desde las fichas de producto de Dolibarr. El módulo gestiona tanto los bienes físicos (con gastos de envío) como los artículos desmaterializados (descargas, licencias, servicios).
Publique su catálogo de productos o servicios directamente desde las fichas de producto de Dolibarr: basta con colocarlos bajo la categoría raíz de la tienda. Los archivos adjuntos al producto pueden entregarse al cliente en su zona de descargas tras el pago.


====Fidelización de clientes profesionales====
====Suscripciones y licencias de duración limitada====
Gracias a los descuentos automáticos para «clientes preferentes» (categoría de terceros dedicada), ofrezca una tarifa preferencial negociada a sus mejores clientes, con la posibilidad de excluir determinados productos del descuento.
Con la duración de validez de los productos y los niveles de precio de Dolibarr («Multiprecios»), venda un mismo producto con varias duraciones de suscripción: los enlaces de descarga caducan automáticamente al final del periodo comprado.


====Promociones comerciales y códigos de descuento====
====Precios preferentes para sus mejores clientes====
Cree códigos de descuento (porcentaje o importe fijo), limitados en el tiempo o en número de usos, eventualmente reservados a un producto concreto, para dinamizar sus ventas en línea.
Los '''descuentos por categoría''' asocian una categoría de clientes con una categoría de productos: el precio con descuento se muestra automáticamente en cuanto el cliente inicia sesión, sin código que introducir.


====Venta adicional (upsell) en el carrito====
====Campañas comerciales y códigos promocionales====
Proponga automáticamente un producto complementario en el carrito (p. ej. seguro, garantía, ecotasa), calculado como porcentaje del total y limitado a los países que elija.
Cree códigos de descuento (porcentaje o importe fijo), limitados en el tiempo o en número de usos, cada uno reservado a un producto concreto, para dinamizar sus ventas en línea.


====Pago en línea====
====Pago en línea====
Conecte el proceso de compra con los métodos de pago ya configurados en Dolibarr (Stripe, PayPal, transferencia…), ya sea mediante redirección clásica a su back-office o integrado en un frame dentro de la tienda.
Conecte el proceso de compra a los módulos de pago en línea ya configurados en Dolibarr (Stripe, PayPal…), bien con una redirección clásica a las páginas públicas de pago, bien integrado en un marco de la tienda.


====Seguimiento de audiencia====
====Posicionamiento y seguimiento de audiencia====
Integre Matomo Analytics para seguir la afluencia y el comportamiento de compra en su tienda, sin depender de Google Analytics.
URLs simplificadas, <code>sitemap.xml</code>, <code>robots.txt</code> y <code>llms.txt</code> generados automáticamente, marcado Schema.org, verificación de Google Search Console e integración de Matomo Analytics para seguir las visitas sin depender de Google Analytics.


==Instalación==
==Instalación==


'''Requisitos previos''': el módulo necesita que los siguientes módulos de Dolibarr estén activados (se activan automáticamente si es necesario): Terceros, Productos, Servicios, Categorías, Pedidos, Facturas, Banco, Mailing y Sitio Web.
'''Requisitos''':
*Dolibarr 24.0 o superior y PHP 8.2 o superior;
*las páginas de la tienda contienen código PHP dinámico: antes de activar el módulo, añada la línea <code>$dolibarr_website_allow_custom_php = '1';</code> en <code>htdocs/conf/conf.php</code> (valor <code>2</code> si las funciones de sistema de PHP <code>exec</code>, <code>passthru</code>, <code>shell_exec</code>, <code>system</code>, <code>popen</code> y <code>proc_open</code> no están desactivadas en <code>php.ini</code>). Sin esta línea, Dolibarr se niega a importar la plantilla del sitio y la tienda queda vacía;
*los módulos de Dolibarr Terceros, Productos, Servicios, Categorías, Pedidos, Facturas, Bancos, E-Mailings y Sitio web son necesarios: se activan automáticamente con el módulo.


#Descargar el módulo desde [https://www.dolistore.com DoliStore] o clonar el repositorio Git en <code>htdocs/custom/ultimatemarketplace</code>
#Descargue el módulo desde [https://www.dolistore.com DoliStore] o clone el repositorio Git en <code>htdocs/custom/ultimatemarketplace</code>
#Ir a '''Inicio → Configuración → Módulos/Aplicaciones'''
#Vaya a '''Inicio → Configuración → Módulos/Aplicaciones'''
#Localizar '''UltimateMarketPlace''' en la sección '''AtooNet'''
#Localice '''Ultimate Market Place''' en la familia '''Sitios Web y otras aplicaciones frontales'''
#Activar el módulo haciendo clic en el botón de la columna ''Activado''
#Active el módulo con el botón de la columna ''Activado''


[[File:ultimatemarketplace_activation.png|center|thumb|800px|Activación del módulo UltimateMarketPlace en la sección AtooNet]]
[[File:Ultimatemarketplace-v25-activation-es.png|center|thumb|800px|Activación del módulo UltimateMarketPlace]]


Al activarse, el módulo realiza automáticamente varias acciones:
Al activarse, el módulo realiza automáticamente varias acciones:


*Creación de un '''sitio web dedicado''' (referencia <code>ultimatemarketplace</code>) con la plantilla "website_template-ultimatemarketplace" importada
*Activación de la gestión multilingüe (<code>MAIN_MULTILANGS</code>), ya que las fichas de producto pueden traducirse
*Creación de una '''categoría raíz de productos''' para los artículos visibles en el marketplace
*Creación de una '''categoría raíz de productos''' y de una '''categoría de terceros''' «prospecto/cliente» si aún no hay ninguna configurada
*Creación de una '''categoría de terceros''' para los clientes/prospectos creados desde el sitio de venta
*Registro de la plantilla PDF de factura propia del módulo
*Adición de 3 '''campos adicionales de producto''': separador "Marketplace", comentario tras el precio (<code>PriceComment</code>) y mensaje de aviso público (<code>DisclaimerMessage</code>)
*Creación (o reactivación) de un '''sitio web dedicado''' en el que se importa la plantilla de sitio suministrada con el módulo
 
'''Actualización''': tras sustituir los archivos, desactive y vuelva a activar el módulo (sus ajustes se conservan). Para poner las páginas del sitio en consonancia con la nueva versión, utilice después el botón '''Restablecer la plantilla del sitio''' (véase [[#Modo mantenimiento y restablecimiento de la plantilla|Modo mantenimiento]]).
 
El módulo no declara ningún permiso propio: las páginas de administración están reservadas a los administradores de Dolibarr, y las páginas de la tienda utilizan su propia sesión de cliente.


==Configuración==
==Configuración==


La configuración del módulo se realiza en '''Inicio → Configuración → Módulos/Aplicaciones → UltimateMarketPlace''', repartida en varias pestañas.
El módulo se configura en '''Inicio → Configuración → Módulos/Aplicaciones → Ultimate Market Place''', repartido en varias pestañas: '''Configuraciones''', '''Configuración de pagos''', '''Códigos promocionales''', '''Descuentos por categoría''', '''Seguridad''', '''Configuración del servidor API''' (solo se muestra si el módulo API REST está activado), '''Matomo Analytics''', '''Carrusel''', '''Guía del usuario''' y '''Acerca de'''.


===General: productos y terceros===
Antes de abrir el sitio al público, recorra las pestañas en este orden: Configuraciones (secciones Miscelánea, Productos, Terceros, Sitio web y Plantillas Email), Configuración de pagos, Seguridad, y después desactive el modo mantenimiento.
 
===Configuraciones===
 
[[File:Ultimatemarketplace-v25-setup-es.png|center|thumb|800px|Pestaña Configuraciones de la configuración del módulo]]
 
====Miscelánea====


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|<code>ULTIMATEMARKETPLACE_NAME</code>||Nombre del marketplace
|-
|<code>ULTIMATEMARKETPLACE_EMAIL</code>||Correo de contacto del marketplace
|-
|-
|<code>ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID</code>||Categoría raíz de los productos vendidos en el marketplace
|Nombre del marketplace||<code>ULTIMATEMARKETPLACE_NAME</code>||Nombre de la tienda: título de la página de inicio, título del <code>llms.txt</code>, nombre del remitente en la factura PDF
|-
|-
|<code>ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID_BIS</code>||Categoría destacada en el bloque central de la página de inicio
|Descripción del marketplace / Palabras clave del marketplace||<code>ULTIMATEMARKETPLACE_DESCRIPTION</code> / <code>_KEYWORDS</code>||Metadescripción y palabras clave de la página de inicio, traducibles por idioma
|-
|-
|<code>ULTIMATEMARKETPLACE_VERSIONS_CATEGORY_ID</code>||Categoría utilizada por el widget "Versión" de la página de inicio
|Email del marketplace||<code>ULTIMATEMARKETPLACE_EMAIL</code>||Email de contacto público mostrado en el sitio
|-
|-
|<code>ULTIMATEMARKETPLACE_SPECIAL_CATEGORY_ID</code>||Categoría utilizada por el widget "Promociones" de la página de inicio
|Modo mantenimiento||<code>ULTIMATEMARKETPLACE_MAINTENANCE_MODE</code>||Cierra la tienda al público y bloquea las ventas
|-
|-
|<code>ULTIMATEMARKETPLACE_MIN_PRODUCT_PRICE</code>||Precio mínimo de un producto (si este no es gratuito)
|Bloquear nuevos registros||<code>ULTIMATEMARKETPLACE_BLOCK_REGISTRATION</code>||Cierra la creación de nuevas cuentas de cliente
|-
|-
|<code>ULTIMATEMARKETPLACE_DELAY_FOR_NEW</code>||Antigüedad máxima (en días) para que un producto aparezca en la sección "Novedades"
|Direcciones IP autorizadas a omitir el modo mantenimiento y el bloqueo de registros||<code>ULTIMATEMARKETPLACE_MAINTENANCE_MODE_ALLOWED_IPS</code>||Lista blanca de direcciones IP (por ejemplo la de la oficina)
|-
|-
|<code>ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_ID</code>||Categoría asignada a todos los prospectos/clientes creados desde el sitio de venta
|Duración de la caché del bloque lateral||<code>ULTIMATEMARKETPLACE_SIDEBAR_CACHE_ENABLED</code> / <code>_SIDEBAR_CACHE_DURATION</code>||Caché del bloque lateral en minutos (5 por defecto), con un botón para vaciar la caché del sitio
|}
|}


===Descuentos para clientes preferentes===
====Productos====


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|-
|<code>ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_PREFERRED_ID</code>||Categoría de terceros etiquetados como "Preferente", elegibles para el descuento
|Categoría raíz de los productos a vender en el marketplace||<code>ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID</code>||Los productos/servicios de esta categoría y de sus subcategorías forman el catálogo (obligatorio)
|-
|-
|<code>ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_PREFERRED_DISCOUNT</code>||Porcentaje de descuento aplicado a estos terceros
|Categoría destacada en el bloque central de la página de inicio||<code>ULTIMATEMARKETPLACE_ROOT_CATEGORY_ID_BIS</code>||Opcional, la categoría raíz en su defecto
|-
|-
|<code>ULTIMATEMARKETPLACE_DISCOUNT_EXCLUDE_PRODUCTS_CATEGORY_ID</code>||Categoría de productos excluidos de este descuento
|Categoría para el widget «Versión»||<code>ULTIMATEMARKETPLACE_VERSIONS_CATEGORY_ID</code>||Productos con números de versión (software descargable)
|}
 
===Sitio Web===
 
{| class="wikitable"
|-
|-
!Constante!!Descripción
|Categoría para el widget «Promociones»||<code>ULTIMATEMARKETPLACE_SPECIAL_CATEGORY_ID</code>||Productos mostrados con una insignia de promoción
|-
|-
|<code>ULTIMATEMARKETPLACE_URL_FOR_LOGO</code>||URL del logotipo del marketplace
|Precio mínimo del producto||<code>ULTIMATEMARKETPLACE_MIN_PRODUCT_PRICE</code>||Los productos de pago más baratos quedan excluidos del catálogo
|-
|-
|<code>ULTIMATEMARKETPLACE_THEME_COLOR</code>||Color principal del tema (botones, banners, elementos destacados)
|Antigüedad máxima (en días) para que un producto sea visible en la sección «Nuevos productos»||<code>ULTIMATEMARKETPLACE_DELAY_FOR_NEW</code>||30 días por defecto
|-
|-
|<code>ULTIMATEMARKETPLACE_WEBSITE_ID</code>||Sitio Web de Dolibarr utilizado por el marketplace
|Categoría para forzar el estado «Nuevo producto»||<code>ULTIMATEMARKETPLACE_NEW_CATEGORY_ID</code> / <code>_NEW_CATEGORY_MAX_AGE</code>||Fuerza la insignia «Nuevo»; una tarea programada diaria retira de ella los productos tras el plazo indicado
|-
|-
|<code>ULTIMATEMARKETPLACE_USER_MANAGE_WEBSITE</code>||Usuario técnico autorizado a ejecutar las acciones del sitio (añadir productos, gestionar terceros, crear pedidos)
|Activar la duración de validez del producto||<code>ULTIMATEMARKETPLACE_ENABLE_PRODUCT_VALIDITY_DURATION</code>||Fechas de inicio y fin de validez en las líneas de pedido, que controlan la caducidad de las descargas; duraciones por nivel de precio si los «Multiprecios» están activados
|}
|}


'''Importante''': si cambia el sitio web asociado (<code>ULTIMATEMARKETPLACE_WEBSITE_ID</code>), los usuarios, terceros y pedidos ya creados permanecen vinculados al antiguo sitio y no se migran automáticamente.
====Terceros====
 
===Plantillas de correo===
 
Se pueden personalizar tres plantillas de correo de Dolibarr:
 
*'''Correo de bienvenida''' enviado al crear la cuenta de cliente
*'''Correo de "contraseña olvidada"'''
*'''Correo de confirmación de pedido''' enviado al comprador
 
===Producto adicional en el carrito===
 
Permite añadir automáticamente un producto complementario (seguro, garantía, ecotasa…) al carrito:


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|-
|<code>ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_IN_CART_ID</code>||Producto adicional a añadir
|Categoría para todos los prospectos o clientes creados desde el sitio del marketplace||<code>ULTIMATEMARKETPLACE_PROSPECTCUSTOMER_ID</code>||Categoría asignada a cada tercero creado por el formulario de registro
|-
|-
|<code>ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_TOTAL_PERCENT</code>||Precio del producto adicional, expresado en % del total del carrito
|Activar direcciones múltiples||<code>ULTIMATEMARKETPLACE_ENABLE_MULTI_ADDRESS</code>||Sección «Mis direcciones» de la cuenta de cliente (direcciones de facturación y de envío)
|-
|-
|<code>ULTIMATEMARKETPLACE_ADDITIONAL_PRODUCT_APPLICABLE_COUNTRIES</code>||Códigos de país donde se aplica este producto adicional
|Convertir el prospecto en cliente en su primer pago||<code>ULTIMATEMARKETPLACE_CONVERT_PROSPECT_TO_CUSTOMER_ON_FIRST_PAYMENT</code>||El prospecto pasa a ser cliente en cuanto se paga su primera factura
|}
|}


===Gastos de envío===
====Sitio web====


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|URL del logotipo del marketplace||<code>ULTIMATEMARKETPLACE_URL_FOR_LOGO</code>||Logotipo de la cabecera del sitio; en su defecto el de la empresa, y después un logotipo suministrado con el módulo
|-
|URL de la imagen de bienvenida / Ocultar la imagen de bienvenida||<code>ULTIMATEMARKETPLACE_WELCOME_IMAGE_URL</code> / <code>_WELCOME_IMAGE_HIDE</code>||Banner de la página de inicio
|-
|Color principal del tema / Color secundario del tema||<code>ULTIMATEMARKETPLACE_THEME_COLOR</code> / <code>_SECONDARY_COLOR</code>||Colores del tema (<code>#a45931</code> y <code>#333333</code> por defecto)
|-
|Activar URLs simplificadas||<code>ULTIMATEMARKETPLACE_FRIENDLY_URLS</code>||URLs del tipo <code>/es/123-nombre-del-producto.html</code>
|-
|Token de verificación de Google Search Console||<code>ULTIMATEMARKETPLACE_GOOGLE_SITE_VERIFICATION</code>||Etiqueta meta de verificación
|-
|-
|<code>ULTIMATEMARKETPLACE_SHIPPING_FEES_PRODUCT</code> / <code>ULTIMATEMARKETPLACE_SHIPPING_FEES_PRODUCT_ID</code>||Producto de Dolibarr utilizado para facturar los gastos de envío
|Descripción para llms.txt||<code>ULTIMATEMARKETPLACE_LLMS_DESCRIPTION</code>||Frase de presentación del sitio en el <code>llms.txt</code>
|}
 
===Registro: Google reCAPTCHA===
 
{| class="wikitable"
|-
|-
!Constante!!Descripción
|Usuario con permisos para realizar operaciones en el sitio web||<code>ULTIMATEMARKETPLACE_USER_MANAGE_WEBSITE</code>||Usuario técnico utilizado por la tienda (creación de terceros, de pedidos…)
|-
|-
|<code>ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_REGISTER_FORM</code>||Activa el Captcha de Google en el formulario de registro
|Sitio web a utilizar para el marketplace||<code>ULTIMATEMARKETPLACE_WEBSITE_ID</code>||Sitio web de Dolibarr gestionado por el módulo, definido en la activación
|-
|-
|<code>ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_SITE_KEY</code>||Clave pública reCAPTCHA proporcionada por Google
|Eliminar siempre el pedido provisional al cerrar sesión||<code>ULTIMATEMARKETPLACE_DELETE_ORDER_ON_LOGOUT</code>||Vacía el carrito en curso cuando el cliente cierra la sesión
|-
|-
|<code>ULTIMATEMARKETPLACE_GOOGLE_RECAPTCHA_SECRET_KEY</code>||Clave privada reCAPTCHA (mantener confidencial)
|Mostrar un aviso de consentimiento de cookies||<code>ULTIMATEMARKETPLACE_ENABLE_COOKIE_BANNER</code>||Banner de consentimiento en el sitio
|}
|}


===Pago===
'''Importante''': si cambia el sitio web asociado (<code>ULTIMATEMARKETPLACE_WEBSITE_ID</code>), los usuarios, terceros y pedidos ya creados siguen vinculados al sitio anterior y no se migran automáticamente.
 
====Plantillas Email====
 
Tres listas desplegables permiten elegir, entre las plantillas de email de Dolibarr ('''Configuración → Emails → Plantillas'''), la del email de bienvenida enviado al crear la cuenta (<code>ULTIMATEMARKETPLACE_WELCOME_EMAIL_TEMPLATE</code>), la del email «Contraseña olvidada» (<code>ULTIMATEMARKETPLACE_FORGOT_PASSWORD_EMAIL_TEMPLATE</code>) y la de la confirmación de pedido del comprador (<code>ULTIMATEMARKETPLACE_BUYER_ORDER_CONFIRMATION_TEMPLATE</code>).
 
===Configuración de pagos===
 
[[File:Ultimatemarketplace-v25-payment-es.png|center|thumb|800px|Pestaña Configuración de pagos]]


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|Bloquear las ventas en el marketplace||<code>ULTIMATEMARKETPLACE_BLOCK_SALES</code>||El catálogo sigue siendo consultable pero los pedidos quedan desactivados; forzado mientras el modo mantenimiento está activo
|-
|-
|<code>ULTIMATEMARKETPLACE_BLOCK_SALES</code>||Bloquea temporalmente las ventas en el marketplace
|Cerrar automáticamente los pedidos tras un pago exitoso||<code>ULTIMATEMARKETPLACE_CLOSE_ORDER_AFTER_PAYMENT</code>||Cierra el pedido de Dolibarr una vez confirmado el pago
|-
|-
|<code>ULTIMATEMARKETPLACE_CLOSE_ORDER_AFTER_PAYMENT</code>||Cierra automáticamente el pedido tras un pago correcto
|Seleccionar el método de pago a utilizar||<code>ULTIMATEMARKETPLACE_MAIN_PAYMENT_METHOD</code>||Módulo de pago en línea de Dolibarr utilizado al validar el pedido
|-
|-
|<code>ULTIMATEMARKETPLACE_MAIN_PAYMENT_METHOD</code>||Método de pago a utilizar
|Incluir las páginas de pago proporcionadas por Dolibarr dentro de un marco (frame) de la tienda marketplace (usuarios avanzados)||<code>ULTIMATEMARKETPLACE_PAYMENT_IN_FRAME</code>||Pago mostrado en un marco bajo el dominio de la tienda
|}
|}


Existen dos modos posibles de integración del pago:
Son posibles dos modos de integración del pago:


*'''Página separada''' (por defecto): sin configuración particular, el cliente es redirigido a las páginas de pago públicas de su back-office de Dolibarr. Inconveniente: el dominio del back-office es visible para el cliente.
*'''Página separada''' (por defecto): sin configuración particular, el cliente es redirigido a las páginas públicas de pago de su Dolibarr. Inconveniente: el dominio del back-office es visible para el cliente.
*'''Frame''' (usuarios avanzados): la página de pago del back-office se invoca a través de una URL de la propia tienda del marketplace. Requiere una configuración de proxy en el servidor web del marketplace para redirigir las solicitudes hacia el back-office de Dolibarr. Ventaja: el dominio del back-office permanece oculto.
*'''Marco''' (usuarios avanzados, Stripe y Stancer): la página de pago se llama a través de una URL de la propia tienda. Se necesita una regla de proxy inverso en el servidor web de la tienda; se muestra un ejemplo de configuración en la página una vez activada la opción.


===API===
===Códigos promocionales===
 
[[File:Ultimatemarketplace-v25-coupons-es.png|center|thumb|800px|Pestaña Códigos promocionales]]
 
Cada código promocional está vinculado a '''un producto concreto''' y tiene un tipo de descuento (porcentaje o importe fijo), un valor, unas fechas de validez y un número máximo de usos opcionales, así como un indicador activo/inactivo. El comprador introduce el código en el carrito: solo se acepta si está activo, dentro de sus fechas de validez, por debajo de su límite de uso y si el producto en cuestión está en el carrito. El contador de usos solo se incrementa al validar el pedido.
 
===Descuentos por categoría===
 
[[File:Ultimatemarketplace-v25-discounts-es.png|center|thumb|800px|Pestaña Descuentos por categoría]]
 
Un descuento por categoría asocia una '''categoría de clientes''' con una '''categoría de productos''' y un porcentaje de descuento. Para un cliente conectado que pertenece a esta categoría, el precio con descuento se muestra directamente en la ficha del producto y en el carrito, sin código que introducir. Si se aplican varias reglas, prevalece el porcentaje más alto.
 
===Seguridad===
 
[[File:Ultimatemarketplace-v25-security-es.png|center|thumb|800px|Pestaña Seguridad]]


{| class="wikitable"
{| class="wikitable"
|-
|-
!Constante!!Descripción
!Parámetro!!Constante!!Descripción
|-
|Proveedor de captcha||<code>ULTIMATEMARKETPLACE_CAPTCHA_PROVIDER</code>||Ninguno, Google reCAPTCHA o Cloudflare Turnstile, con sus claves de sitio y claves secretas
|-
|Activar esta protección||<code>ULTIMATEMARKETPLACE_LOGIN_PROTECTION_ENABLED</code>||Limitación de los intentos de inicio de sesión en la tienda
|-
|Número de fallos antes del bloqueo / Duración antes de desbloquear (minutos)||<code>ULTIMATEMARKETPLACE_LOGIN_MAX_ATTEMPTS</code> / <code>_LOGIN_BLOCK_DURATION</code>||5 fallos y 15 minutos por defecto
|-
|-
|<code>ULTIMATEMARKETPLACE_PUBLIC_API_KEY</code>||Clave pública utilizada para acceder a la API de productos/categorías
|Direcciones IP autorizadas a omitir esta protección||<code>ULTIMATEMARKETPLACE_LOGIN_BYPASS_IPS</code>||Lista blanca (pruebas automatizadas, red de confianza)
|}
|}


La API expone un flujo XML de los productos y categorías, con los parámetros <code>categorieid</code>, <code>limit</code>, <code>page</code>, <code>search</code> y <code>lang</code>. Se puede configurar un enrutamiento proxy para ocultar la URL real de la API detrás del dominio de la tienda.
El captcha y la protección de inicio de sesión están desactivados por defecto: configúrelos antes de abrir el registro al público.
 
===Configuración del servidor API===
 
Esta pestaña solo aparece si el módulo '''API REST''' de Dolibarr está activado. Contiene la '''Clave pública de API''' (<code>ULTIMATEMARKETPLACE_PUBLIC_API_KEY</code>, con un botón para generarla), que se pasa como parámetro <code>apikey</code> a los dos puntos de acceso públicos de solo lectura añadidos por el módulo: <code>/api/index.php/ultimatemarketplace/categories</code> y <code>/api/index.php/ultimatemarketplace/products</code>.
 
===Matomo Analytics===


===Matomo===
[[File:Ultimatemarketplace-v25-matomo-es.png|center|thumb|800px|Pestaña Matomo Analytics]]


{| class="wikitable"
{| class="wikitable"
Line 208: Line 243:
!Constante!!Descripción
!Constante!!Descripción
|-
|-
|<code>ULTIMATEMARKETPLACE_ENABLE_MATOMO</code>||Activa Matomo Analytics en el sitio del marketplace
|<code>ULTIMATEMARKETPLACE_ENABLE_MATOMO</code>||Activa Matomo en el sitio: el código de seguimiento se inserta en cada página
|-
|-
|<code>ULTIMATEMARKETPLACE_MATOMO_SITE_KEY</code>||Identificador de sitio (Site ID) de Matomo
|<code>ULTIMATEMARKETPLACE_MATOMO_SITE_KEY</code>||Identificador de sitio de Matomo
|-
|-
|<code>ULTIMATEMARKETPLACE_MATOMO_SERVER_URL</code>||URL completa del servidor Matomo
|<code>ULTIMATEMARKETPLACE_MATOMO_SERVER_URL</code>||URL completa del servidor Matomo
|-
|<code>ULTIMATEMARKETPLACE_MATOMO_AUTH_TOKEN</code>||Token de autenticación opcional, necesario para mostrar las estadísticas de Matomo en Dolibarr
|}
|}


===Códigos de descuento (cupones)===
===Carrusel===


Una pestaña dedicada '''Códigos de descuento''' permite crear códigos de descuento:
[[File:Ultimatemarketplace-v25-carousel-es.png|center|thumb|800px|Pestaña Carrusel]]


*'''Tipo de descuento''': porcentaje o importe fijo sin impuestos
Ajustes del carrusel de la página de inicio: tipo de transición (ninguna, fundido, deslizamiento), velocidad en milisegundos, pausa al pasar el ratón y repetición en bucle. Cada diapositiva tiene una imagen, un enlace opcional y un título; el orden se cambia arrastrando y soltando, y las imágenes se eligen o se suben mediante un selector de imágenes.
*'''Número máximo de usos''' (dejar vacío para uso ilimitado)
*Posible restricción a un '''producto concreto'''
*Seguimiento del número de usos ya realizados


[[File:ultimatemarketplace_coupons.png|center|thumb|800px|Pestaña de administración de códigos de descuento]]
===Guía del usuario===


El código se verifica al aplicarlo en el carrito: un código inexistente, caducado o ya utilizado por completo es rechazado (mensaje "Este código de descuento no es válido, ha caducado o ya se ha utilizado").
[[File:Ultimatemarketplace-v25-guide-es.png|center|thumb|800px|Pestaña Guía del usuario]]
 
La pestaña '''Guía del usuario''' muestra, en el idioma del usuario, una guía completa de la configuración y la explotación del módulo, solo en texto: las capturas de pantalla están en esta página.


==Uso==
==Uso==


===Tienda en línea (front office)===
===Tienda en línea===
 
[[File:Ultimatemarketplace-v25-shop-home-es.png|center|thumb|800px|Página de inicio de la tienda]]
 
El sitio generado por el módulo utiliza el logotipo y los colores definidos en la configuración y ofrece:
 
#un catálogo organizado por categorías, con las insignias «Nuevo» y «Promociones» y un carrusel en la página de inicio;
#una ficha de producto con el precio (descuento por categoría ya aplicado) y, para los productos con niveles de precio, la elección de la duración;
#un carrito, conservado en sesión hasta la validación, con la introducción de un código promocional;
#un proceso de pedido conectado al módulo de pago en línea elegido;
#una zona de cliente: datos personales, «Mis direcciones», historial de pedidos y zona de descargas.
 
[[File:Ultimatemarketplace-v25-shop-product-es.png|center|thumb|800px|Ficha de producto de la tienda]]
 
La validación del carrito crea un pedido estándar de Dolibarr; el pago genera una factura estándar de Dolibarr.
 
===Archivos entregados al cliente===
 
La pestaña '''Archivos de la tienda''' de la ficha del producto indica, para cada archivo adjunto, si se muestra en la ficha pública del producto. Un archivo marcado como «'''Archivo principal'''» o «'''Visible por el cliente'''» puede ser descargado por el cliente una vez pagado su pedido; se muestra un aviso si ningún archivo del producto lo está. Si la duración de validez de los productos está activada, el enlace de descarga caduca al final del periodo comprado; de lo contrario, no caduca nunca.
 
===Menú UltimateMarketPlace===
 
[[File:Ultimatemarketplace-v25-statistics-es.png|center|thumb|800px|Estadísticas del marketplace]]
 
El menú principal '''Mercado''' da acceso a:
 
*'''Estadísticas''': estadísticas de facturas, estadísticas de clientes, estadísticas de productos, lista de ventas y, si Matomo está configurado, estadísticas de Matomo;
*'''Productos sin etiqueta''': productos del catálogo sin palabras clave, para controlar la calidad del catálogo;
*'''Carritos''' y '''Facturas''': listas estándar de pedidos y facturas de Dolibarr, filtradas en las que proceden de la tienda.
 
===Modo mantenimiento y restablecimiento de la plantilla===
 
El '''modo mantenimiento''' cierra el sitio al público (salvo para las direcciones IP autorizadas) y bloquea las ventas. Mientras está activo, la pestaña Configuraciones ofrece dos botones:
 
*'''Generar sitemap.xml''': regenera inmediatamente <code>sitemap.xml</code>;
*'''Restablecer la plantilla del sitio''': vuelve a importar la plantilla de sitio del módulo en el sitio existente, '''sobrescribiendo las modificaciones hechas a mano en el editor de páginas'''. Debe utilizarse tras una actualización del módulo.
 
Recuerde desactivar el modo mantenimiento una vez hechas las comprobaciones: no se desactiva por sí solo.


El sitio generado por el módulo retoma la identidad visual definida en la configuración (logotipo, color principal) y ofrece:
===Posicionamiento===


#Un catálogo de productos organizado por categorías, con destacado de '''novedades''' y '''promociones'''
<code>robots.txt</code>, <code>sitemap.xml</code> y <code>llms.txt</code> se regeneran automáticamente al activar el módulo, al abrir la pestaña Configuraciones y tras un restablecimiento de la plantilla. Una vez activadas las URLs simplificadas, las antiguas URLs siguen siendo válidas durante la transición.
#Una ficha de producto con precio, comentario libre tras el precio y mensaje de aviso público si están configurados
#Un carrito con aplicación de código de descuento, cálculo automático de los descuentos de "cliente preferente" y adición del eventual producto adicional
#Un proceso de pedido conectado a los métodos de pago configurados en Dolibarr
#Un área de cliente (registro, inicio de sesión, historial de pedidos) protegida por Google reCAPTCHA si está activado


[[File:ultimatemarketplace_home.png|center|thumb|800px|Página de inicio de la tienda generada por UltimateMarketPlace]]
==Novedades de la versión 24.0.0==


===Gestión de las etiquetas de producto===
===Compatibilidad===
*'''Dolibarr 24 y PHP 8.2 como mínimo''': el módulo requiere ahora Dolibarr 24.0.0 y PHP 8.2; está probado hasta PHP 8.5. La comprobación de actualizaciones lee <code>versionmodules/ultimatemarketplace/v24/ultimatemarketplace.txt</code>.
*'''Numeración alineada con Dolibarr''': tras la 1.0.8, el módulo pasa directamente a la 24.0.0, como los demás módulos de Atoo-Net.


El menú '''UltimateMarketPlace → Productos sin etiquetas''' lista los productos/servicios del marketplace que aún no se han asociado a una categoría/etiqueta, para aplicarles de forma masiva una o varias etiquetas (categorías).
===Traducciones===
*El bloque del carrito de la tienda mostraba claves sin traducir (<code>quantity</code>, <code>total</code>, <code>shipping</code>, <code>FreeShipping</code>): ahora carga las traducciones del módulo. Restablezca la plantilla del sitio para aprovecharlo.
*Añadidas las etiquetas que faltaban en las páginas de la tienda (referencias, IVA, artículos, alta y baja de direcciones, controles del formulario de registro…) y en los mensajes de administración, en los cinco idiomas.
*Traducción al francés, alemán, español e italiano de las etiquetas que solo existían en inglés.


===Estadísticas===
===Documentación y distribución===
*Guía del usuario: sección de requisitos y compatibilidad; la guía en inglés pasa a ser <code>GUIDE_UTILISATEUR-EN.md</code>.
*Página wiki reescrita a partir de las pantallas actuales, con capturas de pantalla en los cinco idiomas.
*Script de construcción del paquete DoliStore e integración continua (instalación de dependencias y control de sintaxis con PHP 8.4 y 8.5).


El módulo añade páginas de estadísticas dedicadas al marketplace:
==Versiones anteriores==


*Estadísticas de '''facturas''' y de '''ventas''' (agrupación por país/tipo de IVA o por zona/tipo de IVA)
El detalle de las versiones 1.0.0 a 1.0.8 (códigos promocionales, descuentos por categoría, carrusel, protección de inicio de sesión, URLs simplificadas, <code>llms.txt</code>, guía del usuario…) figura en el archivo <code>ChangeLog.md</code> incluido con el módulo.
*Estadísticas de '''clientes''' (últimos terceros creados, últimos terceros "preferentes")
*Estadísticas de '''productos/servicios''' (clasificación por popularidad)


===Seguimiento de pedidos y facturas===
==FAQ==


Dos entradas de menú permiten localizar rápidamente los pedidos y facturas procedentes del marketplace (filtrados por <code>module_source = ultimatemarketplace</code>).
===El sitio del marketplace no se ha creado o la tienda está vacía===
Compruebe que la línea <code>$dolibarr_website_allow_custom_php</code> está presente en <code>conf.php</code> y, a continuación, desactive y vuelva a activar el módulo. Sin esta línea, Dolibarr se niega a importar las páginas de la plantilla, que contienen código PHP.


==Preguntas frecuentes==
===El bloque del carrito muestra «quantity» o «FreeShipping»===
El sitio sigue utilizando las páginas de una versión anterior del módulo. Pase al modo mantenimiento y haga clic en '''Restablecer la plantilla del sitio''' en la pestaña Configuraciones.


===El sitio del marketplace no se ha creado automáticamente===
===¿Cómo cambiar el sitio web utilizado sin perder los pedidos existentes?===
Compruebe que el módulo '''Sitio Web''' de Dolibarr esté activado. Si el sitio sigue sin existir tras activar el módulo, desactive y vuelva a activar UltimateMarketPlace.
No se recomienda: cambiar <code>ULTIMATEMARKETPLACE_WEBSITE_ID</code> no migra al nuevo sitio los usuarios, terceros y pedidos ya creados. Siguen asociados al sitio anterior.


===¿Cómo cambio el sitio web utilizado sin perder los pedidos existentes?===
===¿Qué diferencia hay entre un código promocional y un descuento por categoría?===
No se recomienda: cambiar <code>ULTIMATEMARKETPLACE_WEBSITE_ID</code> no migra los usuarios, terceros y pedidos ya creados al nuevo sitio. Permanecen asociados al sitio antiguo.
El código promocional lo introduce el comprador y solo se aplica a un producto concreto. El descuento por categoría es automático: se aplica a todos los productos de una categoría para los clientes de una categoría determinada, en cuanto inician sesión.


===¿Puedo limitar el descuento de "cliente preferente" solo a determinados productos?===
===El cliente no puede descargar el producto comprado===
Sí, configurando <code>ULTIMATEMARKETPLACE_DISCOUNT_EXCLUDE_PRODUCTS_CATEGORY_ID</code> con una categoría que agrupe los productos a excluir del descuento.
Compruebe, en la pestaña '''Archivos de la tienda''' del producto, que hay un archivo marcado como «Archivo principal» o «Visible por el cliente». La página de inicio del menú '''Mercado''' señala los productos ya vendidos que ya no tienen archivo entregable.


===¿Es obligatorio el pago en frame?===
===¿Es obligatorio el pago en un marco?===
No, es una opción para usuarios avanzados. Por defecto, el pago simplemente redirige a las páginas públicas de pago de su back-office de Dolibarr, sin ninguna configuración de servidor particular.
No, es una opción para usuarios avanzados. Por defecto, el pago simplemente redirige a las páginas públicas de pago de su Dolibarr, sin configuración de servidor particular.


===¿Qué medios de pago son compatibles?===
===¿Qué idiomas son compatibles?===
Todos los métodos de pago ya soportados de forma nativa por Dolibarr (Stripe, PayPal, transferencia, etc.), seleccionados mediante <code>ULTIMATEMARKETPLACE_MAIN_PAYMENT_METHOD</code>.
El módulo y la plantilla del sitio están disponibles en '''francés''', '''inglés''', '''alemán''', '''español''' e '''italiano'''.


==Véase también==
==Véase también==
Line 279: Line 356:
*[https://www.atoo-net.com Atoo-Net — Editor del módulo]
*[https://www.atoo-net.com Atoo-Net — Editor del módulo]
*[https://framagit.org/grandoc/ultimatemarketplace Repositorio del módulo]
*[https://framagit.org/grandoc/ultimatemarketplace Repositorio del módulo]
*[https://wiki.dolibarr.org/index.php/Module_Website Documentación del módulo Sitio Web de Dolibarr]
*[https://wiki.dolibarr.org/index.php/Module_Website Documentación del módulo Sitio web de Dolibarr]


==Otros idiomas==
==Otros idiomas==

Navigation menu