Eventos en vivo

Auto-resize del iframe y emisión de eventos de negocio al host usando el broker como canal continuo.

Este ejemplo cubre el Patrón B: la app conversa con el host durante toda la atención.

Casos típicos:

  • La altura de tu UI cambia (un acordeón se abre, llega un resultado de búsqueda) y quieres que el iframe se ajuste.

  • Tu app realiza una acción que el agente o un sistema externo quiere registrar como parte de la llamada (por ejemplo, "se creó un ticket"; "se actualizó el contacto").

Auto-resize

Reporta la nueva altura cada vez que el contenido cambia, no en un setInterval.

const sendHeight = () => {
  window.parent.postMessage({
    type: 'videsk:resize',
    height: document.documentElement.scrollHeight,
  }, '*');
};

new ResizeObserver(sendHeight).observe(document.documentElement);
window.addEventListener('load', sendHeight);

Emitir un evento de negocio

function onTicketCreated(ticket) {
  window.parent.postMessage({
    type: 'videsk:emit',
    event: 'ticket.created',
    payload: {
      id: ticket.id,
      url: ticket.url,
      priority: ticket.priority,
    },
  }, '*');
}

Reglas para videsk:emit:

  • event es un string libre que tú defines. Usa nombres con namespace (ticket.created, lead.updated) para no chocar con futuros eventos del propio Videsk.

  • payload debe ser serializable a JSON.

  • No esperes respuesta del host: videsk:emit es fire-and-forget.

Ejemplo completo

Última actualización

¿Te fue útil?