El plugin crea dos tablas de base de datos personalizadas durante la activación. Ambas tablas se crean utilizando WordPress. dbDelta() función, que se encarga tanto de la creación inicial como de las actualizaciones del esquema. La versión actual del esquema de la base de datos es 1.2.0, almacenado en el mautic_woo_db_version opción.
Los nombres de las tablas utilizan el prefijo de la base de datos de WordPress (normalmente wp_). Los ejemplos siguientes utilizan wp_ como prefijo, pero sus tablas utilizarán cualquier prefijo que esté configurado en su wp-config.php archivo.
wp_mautic_woo_carritos_abandonados
Almacena los datos de los carritos abandonados capturados desde la página de pago. Cada fila representa una sola sesión de carrito, haciendo un seguimiento de su ciclo de vida desde que está activo hasta que se abandona y, opcionalmente, se recupera.
Columnas
| Columna | Tipo | Nullable | Predeterminado | Descripción |
|---|---|---|---|---|
id | BIGINT(20) SIN SEÑAL | NO NULO | AUTO_INCREMENT | Clave principal. |
session_id | VARCHAR(255) | NO NULO | '' | El ID de sesión de WooCommerce o un UUID generado para los visitantes invitados. |
user_id | BIGINT(20) SIN SEÑAL | SÍ | NULL | El ID de usuario de WordPress si el visitante ha iniciado sesión. |
email | VARCHAR(255) | SÍ | NULL | La dirección de correo electrónico capturada del campo de correo electrónico de facturación del proceso de pago. |
cart_contents | TEXTO LARGO | NO NULO | – | Matriz codificada en JSON de los artículos del carrito. Cada artículo contiene el ID del producto, el nombre, el precio, la cantidad, el ID de la variación y los datos de la variación. |
cart_total | DECIMAL(10,2) | NO NULO | 0.00 | El valor total del carrito. |
currency | VARCHAR(3) | NO NULO | 'USD' | El código ISO de tres letras de la moneda para el total del carrito. |
product_names | TEXTO | SÍ | NULL | Una lista legible de los nombres de los productos que hay en el carrito. |
gdpr_consent | TINYINT(1) | NO NULO | 0 | Si el visitante ha marcado la casilla de consentimiento del RGPD. 1 = consentido, 0 = no consentido. |
status | VARCHAR(20) | NO NULO | 'active' | El estado actual del carrito. Valores posibles: active, abandoned, synced, recovered. |
mautic_contact_id | BIGINT(20) SIN SEÑAL | SÍ | NULL | El ID de contacto de Mautic una vez que se haya sincronizado el carrito. |
created_at | FECHA Y HORA | NO NULO | MARCA DE TIEMPO ACTUAL | Cuándo se creó por primera vez el registro del carrito. |
updated_at | FECHA Y HORA | NO NULO | MARCA DE TIEMPO ACTUAL | Cuándo se actualizó por última vez el registro del carrito (por ejemplo, se modificó el contenido del carrito). |
abandoned_at | FECHA Y HORA | SÍ | NULL | Cuando el carrito fue marcado como abandonado por el procesador cron. |
synced_at | FECHA Y HORA | SÍ | NULL | Cuando los datos del carrito se sincronizaron correctamente con Mautic. |
recovery_token | VARCHAR(64) | SÍ | NULL | Un token único que se usa para crear la URL de recuperación del carrito. |
coupon_code | VARCHAR(64) | SÍ | NULL | El código de cupón de WooCommerce generado para este carrito (si la generación de cupones está habilitada). |
recovered_at | FECHA Y HORA | SÍ | NULL | Cuando se recuperó el carrito (es decir, cuando el cliente completó el proceso de pago). |
Índices
| Nombre del índice | Tipo | Columnas | Objetivo |
|---|---|---|---|
PRIMARY | Clave principal | id | Identificador único de fila. |
idx_recovery_token | Clave única | recovery_token | Búsqueda rápida de carritos por token de recuperación para el controlador de URL de recuperación. Garantiza la unicidad de los tokens. |
idx_session | Índice | session_id | Buscar carritos por ID de sesión de WooCommerce para actualizaciones del carrito. |
idx_email | Índice | email | Busca carritos por dirección de correo electrónico para la recuperación coincidente al finalizar la compra. |
idx_status | Índice | status | Filtrar carros por estado para el procesamiento cron. |
idx_status_updated | Índice compuesto | status, updated_at | Consulta de manera eficiente los carritos activos que han estado inactivos más allá del tiempo de espera de abandono. |
idx_user | Índice | user_id | Buscar carritos por ID de usuario registrado. |
Ciclo de vida del estado
Los registros del carrito pasan por los siguientes estados:
- active – Se realiza un seguimiento del carrito. Se actualiza cada vez que el visitante modifica su carrito en la página de pago.
- abandoned – El procesador cron ha determinado que el carrito ha sido abandonado (inactivo tras el tiempo de espera). El
abandoned_atSe establece la marca de tiempo. - synced – Los datos del carrito abandonado se han enviado correctamente a Mautic. El
synced_atmarca de tiempo ymautic_contact_idestán establecidos. - recovered – El cliente regresó y completó el proceso de pago. El
recovered_atSe establece la marca de tiempo y se aplica la etiqueta del carrito recuperado en Mautic.
wp_mautic_woo_sync_log
Registra todas las operaciones de sincronización realizadas por el complemento. Esta tabla proporciona un registro de auditoría para depurar y supervisar la actividad de sincronización. Las entradas se pueden ver y borrar desde la pestaña Herramientas en la configuración del complemento.
Columnas
| Columna | Tipo | Nullable | Predeterminado | Descripción |
|---|---|---|---|---|
id | BIGINT(20) SIN SEÑAL | NO NULO | AUTO_INCREMENT | Clave principal. |
object_type | VARCHAR(50) | NO NULO | – | El tipo de objeto de WordPress que se está sincronizando. Valores: contact, order, abandoned_cart. |
object_id | BIGINT(20) SIN SEÑAL | NO NULO | – | El ID de WordPress del objeto (ID de usuario, ID de pedido o ID de carrito abandonado). |
mautic_contact_id | BIGINT(20) SIN SEÑAL | SÍ | NULL | El ID de contacto de Mautic involucrado en la operación, si está disponible. |
action | VARCHAR(50) | NO NULO | – | La acción de sincronización realizada. Valores: create_or_update, cart_sync, cart_recovery, add_to_segment, create_note, send_email. |
status | VARCHAR(20) | NO NULO | 'pending' | El resultado de la operación. Valores: pending, success, error. |
message | TEXTO | SÍ | NULL | Una descripción legible del resultado, como «Sincronizado con el contacto #42» o un mensaje de error. |
request_data | TEXTO LARGO | SÍ | NULL | Carga útil de la solicitud codificada en JSON enviada a la API de Mautic (para depuración). |
response_data | TEXTO LARGO | SÍ | NULL | Respuesta codificada en JSON recibida de la API de Mautic (para depuración). |
created_at | FECHA Y HORA | NO NULO | MARCA DE TIEMPO ACTUAL | Cuándo se creó la entrada del registro. |
Índices
| Nombre del índice | Tipo | Columnas | Objetivo |
|---|---|---|---|
PRIMARY | Clave principal | id | Identificador único de fila. |
idx_object | Índice compuesto | object_type, object_id | Busque todas las entradas del registro de sincronización para un objeto específico (por ejemplo, todas las entradas para el pedido #123). |
idx_status | Índice | status | Filtrar entradas por estado del resultado (correcto, error, pendiente). |
idx_created | Índice | created_at | Ordena y filtra las entradas por fecha de creación para una visualización paginada. |
Opciones de WordPress
Además de las tablas personalizadas, el complemento utiliza las siguientes entradas en el wp_options tabla:
| Nombre de la opción | Tipo | Descripción |
|---|---|---|
mautic_woo_settings | Matriz serializada | Todos los ajustes del complemento se almacenan como una única opción serializada. Se accede a ellos mediante notación de puntos a través de Settings::get() método. |
mautic_woo_db_version | Cadena | La versión actual del esquema de la base de datos. Se utiliza para activar actualizaciones automáticas del esquema en el lado administrativo. |
Meta del usuario
El complemento almacena los siguientes valores meta del usuario:
| Meta Key | Valores | Descripción |
|---|---|---|
_mautic_woo_marketing_consent | yes / no | Registra si el usuario marcó la casilla de consentimiento de marketing durante el registro. Contact Sync lo utiliza para determinar si sincronizar al usuario con Mautic. |
Transitorios
El complemento utiliza el siguiente transitorio para el estado temporal:
| Clave transitoria | Vencimiento | Descripción |
|---|---|---|
mautic_woo_bulk_sync_state | 1 hora | Almacena el estado actual de una operación de sincronización masiva, incluyendo el total de usuarios, el recuento sincronizado, la matriz de errores, el desplazamiento y el estado (en ejecución, completada, cancelada, inactiva). |