Skip to content

Request for quote (RFQ)

El módulo RFQ reemplaza “Añadir al carrito” por “Solicitar precio”. Los clientes envían solicitudes de presupuesto en lugar de comprar directamente. Útil para tiendas B2B y productos con precios individuales.

Vaya a WooCommerce > Ajustes > Polski PRO > Solicitud de presupuesto y active el módulo.

AjusteOpción de base de datosValor predeterminadoDescripción
Activar módulopolski_quoteNoActiva la funcionalidad de solicitud de presupuesto
Texto del botónpolski_quote_button_text”Zapytaj o cenę”Texto mostrado en el botón
Mostrar en listadospolski_quote_show_on_loopsNoMuestra el botón de solicitud en las páginas de archivo y categoría
Requerir inicio de sesiónpolski_quote_require_loginNoRequiere iniciar sesión antes de enviar una solicitud
Consentimiento de procesamientopolski_quote_consentAñade una casilla de consentimiento RGPD al formulario

El formulario de solicitud de presupuesto contiene de forma predeterminada:

  • Nombre y apellidos - obligatorio
  • Dirección de correo electrónico - obligatorio, validación de formato
  • Teléfono - opcional
  • Cantidad - obligatorio, validación numérica
  • Mensaje - opcional, área de texto
  • Consentimiento RGPD - casilla de verificación, obligatorio si está activado

Tras activar el módulo, el botón “Añadir al carrito” se reemplaza por el botón de solicitud de presupuesto. Esto se aplica a:

  • Página de producto individual
  • Páginas de archivo y categoría (si la opción polski_quote_show_on_loops está activada)
  • Widgets y shortcodes de producto

El botón de solicitud de presupuesto puede colocarse en cualquier lugar mediante el shortcode:

[polski_quote_button product_id="123" text="Zapytaj o cenę" class="custom-class"]

Parámetros:

ParámetroObligatorioDescripción
product_idNoID del producto (por defecto, el producto actual)
textNoTexto del botón
classNoClases CSS adicionales

El formulario se envía de forma asíncrona (AJAX) sin recargar la página. Tras el envío, el cliente ve un mensaje de confirmación con el número de solicitud.

/**
* Filtruje dane zapytania ofertowego przed zapisem.
*
* @param array $quote_data Dane zapytania
* @param int $product_id ID produktu
* @param \WP_User $user Obiekt zalogowanego użytkownika lub pusty
*/
apply_filters('polski_pro/quote/before_save', array $quote_data, int $product_id, $user): array;

Ejemplo - añadir un campo personalizado:

add_filter('polski_pro/quote/before_save', function (array $quote_data, int $product_id, $user): array {
$quote_data['meta']['company_nip'] = sanitize_text_field($_POST['company_nip'] ?? '');
return $quote_data;
}, 10, 3);

Cada solicitud de presupuesto guarda información sobre el consentimiento:

  • Marca de tiempo del consentimiento otorgado
  • Dirección IP del cliente (con hash SHA-256)
  • Contenido del consentimiento en el momento de otorgarlo
  • Versión del formulario

Estos datos se almacenan en la tabla {prefix}_polski_quote_consents y pueden exportarse para fines de auditoría RGPD.

/**
* Akcja wywoływana po zapisaniu zgody.
*
* @param int $quote_id ID zapytania ofertowego
* @param array $consent Dane zgody
* @param string $ip_hash Zahashowany adres IP
*/
do_action('polski_pro/quote/consent_logged', int $quote_id, array $consent, string $ip_hash);

Las solicitudes de presupuesto están disponibles en el menú WooCommerce > Solicitudes de presupuesto. La lista contiene:

  • Número de solicitud
  • Datos del cliente (nombre, correo electrónico, teléfono)
  • Producto y cantidad
  • Estado (nueva, en curso, respondida, cerrada)
  • Fecha de envío
EstadoDescripción
newSolicitud nueva, sin procesar
in_progressPresupuesto en preparación
repliedPresupuesto enviado al cliente
acceptedEl cliente aceptó el presupuesto
rejectedEl cliente rechazó el presupuesto
closedSolicitud cerrada

Desde el panel, el administrador puede:

  1. Revisar los detalles de la solicitud
  2. Añadir una nota interna
  3. Establecer el precio presupuestado
  4. Enviar una respuesta por correo electrónico al cliente
  5. Convertir la solicitud en un pedido de WooCommerce

El módulo registra las siguientes plantillas de correo electrónico en WooCommerce:

Correo electrónicoDestinatarioDesencadenante
Nueva solicitud de presupuestoAdministradorEl cliente envía una solicitud
Confirmación de solicitudClienteEnvío de la solicitud
Respuesta al presupuestoClienteEl administrador envía un presupuesto
Cambio de estado de la solicitudClienteCambio de estado de la solicitud

Las plantillas de correo electrónico pueden sobrescribirse en el tema, en el directorio woocommerce/emails/:

  • polski-pro-quote-new.php
  • polski-pro-quote-confirmation.php
  • polski-pro-quote-reply.php
  • polski-pro-quote-status.php
/**
* Filtruje pola formularza zapytania ofertowego.
*
* @param array $fields Tablica pól formularza
* @param int $product_id ID produktu
*/
apply_filters('polski_pro/quote/form_fields', array $fields, int $product_id): array;

Ejemplo - añadir un campo de NIF:

add_filter('polski_pro/quote/form_fields', function (array $fields, int $product_id): array {
$fields['company_nip'] = [
'type' => 'text',
'label' => 'NIP firmy',
'required' => false,
'priority' => 35,
];
return $fields;
}, 10, 2);
/**
* Akcja wywoływana po zapisaniu zapytania ofertowego.
*
* @param int $quote_id ID zapytania
* @param array $quote_data Dane zapytania
*/
do_action('polski_pro/quote/submitted', int $quote_id, array $quote_data);

Ejemplo - envío a un CRM:

add_action('polski_pro/quote/submitted', function (int $quote_id, array $quote_data): void {
$crm_api = new MyCrmApi();
$crm_api->create_lead([
'name' => $quote_data['name'],
'email' => $quote_data['email'],
'product' => $quote_data['product_name'],
'qty' => $quote_data['quantity'],
]);
}, 10, 2);

El botón “Añadir al carrito” sigue mostrándose Compruebe si la opción polski_quote está activada. Vacíe la caché de los plugins de caché (WP Super Cache, W3 Total Cache, LiteSpeed Cache).

El formulario no se envía (error de AJAX) Revise la consola del navegador en busca de errores de JavaScript. Asegúrese de que el script polski-pro-quote.js esté cargado. Los conflictos con otros plugins pueden bloquear AJAX - desactive los demás plugins para identificar el conflicto.

Los correos electrónicos no se envían Compruebe la configuración de correo electrónico en WooCommerce > Ajustes > Correos electrónicos. Asegúrese de que las plantillas de Polski PRO estén activadas.

Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulte a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) proporcionado sin garantía.