Saltar al contenido principal

Referencia de eventos de plataforma

Joryio emite estos eventos automáticamente como parte de la plataforma - canalización de mensajes, pases Wallet, integraciones de tienda y SDK. Aparecen en tu flujo de eventos junto a tus eventos personalizados; esta página es la referencia canónica de lo que significa cada uno. El Asistente de IA conoce estas definiciones y usa las señales al sugerir recorridos y segmentos. Para tus propios eventos y atributos, añade descripciones en las páginas Eventos y Atributos: la IA también las lee.

Mensajería​

EventoDescripciónSeñal
message.sentJoryio envió un mensaje - cualquier canal - a esta persona.
message.deliveredEl proveedor confirmó la entrega.
message.openedEl destinatario abrió un email.interacción
message.clickedEl destinatario hizo clic en un enlace con seguimiento.interacción intensa
message.bouncedLa entrega rebotó - duro o leve.problema de higiene de lista
message.auto_repliedEl buzón del destinatario envió una respuesta automática (fuera de la oficina). El email se entregó: no es un rebote.
message.unsubscribedEl destinatario se dio de baja mediante un enlace o encabezado de Joryio, al guardar la página de preferencias o con una respuesta STOP. scope indica de qué salió: channel (solo el canal del mensaje), list o global (todo - una elección explícita). Lleva campaignId, canvasId, nodeId, variantId. unsubscribeSource indica cómo llegó (header_one_click = el botón de la app de correo, page_button = el botón de la página alojada, preferences_page, page_everything, keyword; desde el 2026-10-15), junto con userAgent y sinceSendMs (ms después del envío). Desde 2026-11-02 también se escribe cuando un miembro del equipo (admin) o una clave de API (api) da de baja un canal, en una baja desde el SDK (sdk) y en una baja de una tienda (store_sync, incluida una casilla sin marcar cuando el ajuste opcional de la tienda está activado); estas no llevan campaña.baja
message.subscribedUna persona pasó a estar suscrita - la contrapartida de message.unsubscribed (desde 2026-10-25). Una vez por cambio real (de ningún estado, unsubscribed o pending a suscrito), nunca cuando la persona ya estaba suscrita. scope: channel (el propio canal) o list (una lista, con listId). Lleva channel, source (cómo ocurrió - ver El evento de suscripción), platform para una suscripción desde una tienda, optInSource, status, previousStatus, resubscribe. Un journey puede empezar con él. No se registra en importaciones, sincronizaciones de almacén de datos, altas masivas en listas ni en la sincronización inicial de una tienda.alta
Unsubscribe Page ViewedEl destinatario abrió la página de baja o de preferencias desde un enlace de un mensaje. No es una baja. Propiedades: campaignId, canvasId, nodeId, variantId, channel, page (unsubscribe o preferences), position (qué enlace de baja del email). Sin bots; una vez por enlace cada 24 horas.intención de baja
message.failedEl envío falló en el proveedor.
message.spam_complaintNo es un nombre de evento que se envíe: las quejas de spam llegan como message.spamreport. No se ofrece en los selectores de eventos.riesgo de entregabilidad
message.queuedEl proveedor aceptó el mensaje y lo puso en cola.
message.deferredEl proveedor aplazó temporalmente la entrega; se volverá a intentar.
message.skippedUn control de Joryio omitió el envío - supresión, límite de frecuencia, horas de silencio o consentimiento.
message.heldRetenido por Joryio: la puerta de compromiso retuvo un mensaje del recorrido un rato porque la persona acababa de recibir otro, o lo descartó al caducar; reason dice por qué y nombra el mensaje competidor cuando lo hubo.outcome, reason, nodeId
message.complainedAlias aceptado de message.spamreport al contar quejas (filas históricas); hoy no lo envía ningún origen. No se ofrece en los selectores de eventos.riesgo de entregabilidad
message.spamreportReclamación de spam comunicada por el proveedor - alias de spam_complaint en algunos proveedores.riesgo de entregabilidad

Pases Wallet​

EventoDescripciónSeñal
pass.issuedSe emitió un pase Wallet para la persona - Joryio Wallet Passes.
pass.installedLa persona añadió el pase a su Wallet de Apple o Google.opt-in del canal Wallet
pass.updatedSe envió una actualización de contenido a los pases instalados.
pass.removedLa persona ELIMINÓ el pase de su Wallet - Joryio Wallet Passes.intención de abandono; una reactivación desencadenada aquí es una señal valiosa
pass.downloadedSe descargó el archivo del pase - paso previo a la instalación.
pass.scannedSe escaneó el código de barras o QR del pase - por ejemplo, al canjearlo en caja.interacción intensa: uso en el mundo real
pass.expiredEl pase alcanzó su fecha de caducidad.oportunidad de renovación
pass.update_pushedSe envió una actualización de contenido a los pases instalados - Push explícito al editar.
pass.voidedEl negocio anuló o desactivó el pase.

E-commerce​

EventoDescripciónSeñal
purchaseNo es un evento que envíe Joryio: una compra completada llega como Order Completed. No se ofrece en los selectores de eventos.-
Order CompletedPedido completado desde una tienda conectada, la Orders API o el SDK - evento de comercio canónico. También lleva el carrito del que vino y si lo recuperó: cartRef, recoveredCart (true cuando recuperó un carrito abandonado - la misma decisión que la etiqueta Carrito recuperado de la página Pedidos), recoveredVia (recovery_link, same_cart, contact_cart, reported), y la atribución de llegada que informó la tienda: utm_source, utm_medium, utm_campaign, utm_term, utm_content, campaign_id, canvas_id. Consulta Propiedades de Order Completed.compra - un carrito recuperado es la conversión del recorrido de recuperación
Order RefundedUna tienda conectada (Shopify, WooCommerce, Magento) o la API de pedidos registró un reembolso nuevo en un pedido: un evento por reembolso, total o parcial. total es el importe que devolvió este reembolso (total_base en la moneda base), no el total del pedido. Además: order_id, currency, refund_type (full o partial), refund_amount, refund_id, reason, products, coupon_codes. Los ingresos ya son netos de reembolsos, así que este evento nunca los reduce por segunda vez. Consulta Eventos de reembolso y cancelación.insatisfacción tras la compra
Order CancelledUna tienda conectada o la API de pedidos canceló un pedido: una vez por pedido. Propiedades: order_id, total, currency, reason, cancelled_at, coupon_codes.venta perdida
Coupon IssuedUn programa de cupones emitió un código a la persona (propiedades: program, program_id, campaign_id, canvas_id, node_id, source, expires_at). El código en sí nunca va en un evento.-
Coupon RedeemedUn pedido usó un código emitido por Joryio (añade order_id, revenue, redeemed_by_someone_else). Se emite sobre la persona a la que se emitió el código.conversión desde un mensaje
Coupon ExpiredUn código caducó sin usarse (program, program_id, campaign_id, canvas_id, expires_at).oportunidad de recuperación
Checkout StartedEl checkout comenzó, pero aún no ha terminado.
cart_abandonedNo es un evento: es el ESTADO de carrito abandonado que comprueba una condición de segmento o de Ramificación (E-commerce: carrito abandonado). Para iniciar un recorrido cuando se abandona un carrito, usa Cart Abandoned. No se ofrece en los selectores de eventos y un recorrido que se inicia con él no se puede publicar.-
Cart AbandonedLo envían las tiendas conectadas (Shopify, WooCommerce, Magento, PrestaShop) cuando un carrito queda sin pedido durante el plazo de abandono del espacio de trabajo. checkoutUrl es el enlace de recuperación de la tienda para ese carrito - enlázalo como {{ cart.checkoutUrl }}. Aparece en los selectores de eventos como "enviado por tiendas conectadas". cartId identifica este carrito: el siguiente carrito del contacto recibe uno nuevo (antes del 2026-10-27 se repetía entre los carritos de un mismo contacto). cartRef es la referencia del carrito en la propia tienda (quote_33 de Magento, una sesión de WooCommerce, el id de carrito de PrestaShop, el token de checkout de Shopify). No se envía para un carrito cuyo dueño no se puede contactar (sin email, teléfono, id de cliente ni identidad de app) - se envía una vez si se vuelve contactable - y una vez por abandono: un carrito cuyos artículos cambiaron después de abandonarse (vaciado y vuelto a llenar, artículos añadidos o quitados), o que vuelve sin cambios un día o más después, y se abandona de nuevo, es un abandono nuevo con un cartId nuevo (El mismo carrito abandonado de nuevo); una repetición del mismo abandono no se vuelve a enviar. value es el total del carrito que envió la tienda (puede incluir el envío); subtotal es el subtotal de los artículos, antes de envío e impuestos. recoveryLink es true cuando checkoutUrl es el enlace de recuperación de la tienda y false cuando es solo la página de pago o del carrito (desde 2026-11-01). source es plugin_event cuando la tienda informó del abandono y cart_abandonment_scan cuando Joryio marcó el carrito por su cuenta (Cuando la tienda no informa del abandono).desencadenante clásico de recuperación
Cart UpdatedSe añadieron o eliminaron artículos del carrito.
Product AddedSe añadió un producto al carrito.intención de compra
back_in_stockUn producto que la persona vio recientemente o añadió al carrito - sin comprarlo - volvió a estar disponible. Se emite por persona en la transición del catálogo de agotado a disponible - Shopify y WooCommerce.desencadenante de retail con alta conversión
price_dropUn producto visto o añadido al carrito recientemente - sin comprar - bajó de precio más allá del umbral configurado. Se emite por persona en una transición de bajada de precio del catálogo.desencadenante de retail con alta conversión
entity_back_in_stockEvento predeterminado de una alerta de relación entre entidades - reposición de catálogo personalizado, episodio nuevo, etc.. Se emite por persona cuando cambia un campo vigilado de un registro de entidad personalizada. Las alertas se pueden configurar para emitir otro nombre de evento.desencadenante de catálogo personalizado
Product ViewedSe vio la página de producto.interés de navegación

SDK / Web​

EventoDescripciónSeñal
session_startNo es el nombre que envían los SDK: el inicio de sesión llega como Session Start. No se ofrece en los selectores de eventos.-
Page ViewedSe vio una página - SDK web.
signupNo es un evento que envíe Joryio: las apps registran su propio evento de alta (por ejemplo Signed Up). No se ofrece en los selectores de eventos.-

In-app​

EventoDescripciónSeñal
in_app.servedMarcador del servidor: se entregó un mensaje in-app a un dispositivo para mostrarlo - uno por entrega. Reserva un lugar en el límite de frecuencia durante dos minutos hasta que el dispositivo confirme que lo mostró; solo in_app.displayed, la impresión confirmada por el cliente, cuenta para el límite.
in_app.viewedNo es el nombre que envían los SDK: una impresión in-app llega como in_app.displayed. No se ofrece en los selectores de eventos.-
in_app.clickedLa persona hizo clic en una CTA dentro de un mensaje in-app.interacción
in_app.displayedSe mostró un mensaje in-app - impresión.
in_app.dismissedLa persona cerró el mensaje in-app sin actuar.
in_app.convertedLa persona realizó la acción objetivo del mensaje in-app.conversión
In-App Form SubmittedSe envió un formulario dentro de un mensaje in-app y se escribió en esta persona: atributos, suscripciones a listas, etiquetas - propiedades: campaignId, campaignName, variantId, fields, listsSubscribed, y el email, el phone y phoneUpdated del formulario - ver Form Submitted.conversión

Recorridos​

Los escribe el motor de recorridos por cada paso al que una persona llega y del que sale, en todos los tipos de nodo. Se registran desde la versión del 2026-10-13 - las ejecuciones anteriores no tienen eventos de paso. Registro interno del recorrido: nunca cuenta como actividad propia de la persona y nunca se factura.

EventoDescripciónSeñal
canvas.step.enteredLa persona llegó a un paso del recorrido (disparador, espera, rama, experimento, mensaje - cualquier nodo). Uno por visita; un mensaje retenido por horas de silencio o un límite de envío y reintentado es la misma visita. Propiedades: canvasId, canvasVersion, nodeId, nodeType, executionId.-
canvas.step.leftLa persona salió de un paso del recorrido. outcome es lo que decidió el paso - la etiqueta de la rama, el id de la ruta del experimento (o no_winner cuando el experimento terminó sin ganador y liberó su grupo en espera - el recorrido termina entonces como completed), success / on_error en un webhook, did / timed_out / un nombre de grupo en una división por comportamiento, issued / not_issued, sent / skipped, elapsed en una espera, y si no next. nextNodeId indica a dónde fue; está vacío cuando el recorrido terminó en este paso, y entonces exitReason dice por qué (completed, exited, exit_criteria, restart, error). durationMs es el tiempo pasado en el paso.-

Recomendaciones​

EventoSignificadoSeñal
recommendation.servedUn modelo de recomendaciones resolvió artículos para esta persona en un mensaje enviado - propiedades: modelId, itemIds.impresión de personalización

Páginas de destino​

EventoSignificadoSeñal
Landing Page ViewedUna persona conocida (llegó por un enlace de Joryio con su token) abrió una página de destino publicada - propiedades: pageId, pageSlug, pageName, referrer, valores UTM.interés
Landing Page Form SubmittedSe envió el formulario de una página de destino y se escribió en esta persona: atributos, suscripciones a listas, etiquetas - propiedades: pageId, pageSlug, pageName, fields, listsSubscribed, referrer, valores UTM, y el email, el phone y phoneUpdated del formulario - ver Form Submitted.conversión

Formularios del sitio web​

EventoSignificadoSeñal
Form SubmittedSe envió un formulario de tu propio sitio y se escribió en esta persona: un formulario de Contact Form 7 o Elementor Pro en WordPress (a través del plugin de Joryio), o el formulario de contacto u otro formulario asignado en PrestaShop (a través del módulo de Joryio). Se registra tanto si dio su consentimiento de marketing como si no - propiedades: source (cf7, elementor, prestashop_contact o prestashop_form), formId, formName, pageUrl, consentGiven, consentText (el texto de la casilla de consentimiento que marcó la persona, cuando el formulario lo envía), listsSubscribed, listsPending para listas con doble opt-in pendientes de confirmación, y el email y el phone propios del formulario, con el formato con que el contacto los guarda, con phoneUpdated cuando el teléfono del formulario difería del del contacto: true cuando el contacto lo tiene ahora, false cuando el contacto conservó el suyo. El formulario de un visitante solo rellena un email o un teléfono vacío; el formulario de un cliente de la tienda con sesión iniciada puede actualizar su propio teléfono. email y phone son datos personales: ocultos para los miembros del equipo que no pueden ver datos personales y borrados junto con la persona. Los demás valores enviados no van en el evento.conversión