Ir al contenido

Connectif

Connectif puede enviar notificaciones push de la app desde sus workflows mediante la API de push de Reskyt. Así se pueden automatizar casos como la recuperación de carritos abandonados, el remarketing o las felicitaciones de cumpleaños con los datos del contacto que ya están en Connectif.

La integración tiene cuatro partes:

  1. Un campo personalizado del contacto que guarda el identificador de dispositivo de la app.
  2. Un workflow que recoge ese identificador mientras el contacto navega por la app.
  3. Una integración personalizada (webhook) que llama a la API de push.
  4. Los workflows que envían las notificaciones.

Necesitas una API key de la API de push de Reskyt. Las API keys se generan desde el panel de Reskyt.

En la V2, los destinatarios se identifican con el campo deviceId, que transporta el hashed installation ID de cada instalación de la app. No es un token de APNs ni de FCM. Se obtiene dentro de la app con window.ReskytLayout.device.getId(), como se describe en la referencia técnica.

Con esta configuración, cada contacto de Connectif guarda un único identificador: el del último dispositivo desde el que navegó por la app. Si varias personas inician sesión en el mismo dispositivo, varios contactos pueden tener el mismo identificador.

  1. En Connectif, ve a Contactos > Campos del Contacto y haz clic en Añadir nuevo campo personalizado.

    Listado de campos del contacto en Connectif con el botón Añadir nuevo campo personalizado

  2. Elige el tipo Texto y haz clic en Ir al editor.

    Diálogo de creación de campo personalizado en Connectif con el tipo Texto seleccionado

  3. Escribe reskyt-device-id como Nombre y como ID, y haz clic en Guardar.

Este workflow detecta que el contacto navega desde la app y le inserta un script que obtiene el identificador de dispositivo y lo guarda en el campo personalizado.

  1. Ve a Workflows, haz clic en Crear nuevo workflow y elige un workflow en blanco.

  2. En el Nodo Inicio, selecciona Todos los contactos de mi lista.

  3. Añade el nodo disparador Al visitar página. En su pestaña Limitaciones, elimina todas las limitaciones.

    Workflow de Connectif con el nodo Inicio conectado al disparador Al visitar página

  4. Añade el nodo de condición Comprobar valor y abre su editor.

  5. Arrastra User Agent, del grupo del nodo Al visitar página, a la columna izquierda del panel central. Arrastra un valor Literal a la columna derecha, escribe rktwebview y deja el operador en Contiene. Haz clic en Actualizar.

    Editor del nodo Comprobar valor en Connectif con la condición User Agent contiene rktwebview

    rktwebview es el identificador que la app incluye en su user agent. Si la app tiene un user agent personalizado, usa el valor configurado. Ver Custom User Agent.

  6. Añade el nodo de acción Enviar contenido web en la salida Sí del nodo Comprobar valor.

    Workflow de Connectif con los nodos Al visitar página, Comprobar valor y Enviar contenido web unidos por la salida Sí

  7. En la configuración del nodo, haz clic en Crear nuevo contenido, elige el tipo Inline, dale un nombre como Script Reskyt y confirma.

  8. Añade un componente HTML con este código:

    <script>
    (function connectifReskyt(global) {
    if (global.navigator.userAgent.indexOf("rktwebview") === -1) return;
    if (!global.ReskytLayout) return;
    if (global.connectif &&
    global.connectif.managed &&
    global.connectif.managed.isInitialized()) {
    sendDeviceId();
    } else {
    global.document.addEventListener(
    "connectif.managed.initialized",
    sendDeviceId
    );
    }
    function sendDeviceId() {
    global.ReskytLayout.whenReady().then(function (ready) {
    if (!ready) return;
    return global.ReskytLayout.device.getId();
    }).then(function (deviceId) {
    if (!deviceId) return;
    var previous = global.sessionStorage.getItem("cn_reskyt_device_id");
    if (deviceId === previous) return;
    global.connectif.managed.sendEvents([], {
    entityInfo: { "reskyt-device-id": deviceId },
    onResponded: function () {
    global.sessionStorage.setItem("cn_reskyt_device_id", deviceId);
    }
    });
    });
    }
    })(window);
    </script>

    El script solo actúa dentro de la app, espera a que la app esté lista, obtiene el identificador con ReskytLayout.device.getId() y lo guarda en el campo reskyt-device-id del contacto. Si el dispositivo todavía no está registrado, el identificador es null y no se guarda nada. Para no repetir el envío en cada página, recuerda el último valor durante la sesión.

  9. Guarda el contenido, vuelve al selector, selecciona el contenido Inline que acabas de crear y haz clic en Siguiente.

  10. En Configuración, indica el selector donde se inserta el contenido. Usa un elemento presente en páginas que se muestran tanto en la web como en la app, como la página de producto.

    Configuración del nodo Enviar contenido web en Connectif con el selector y la posición del contenido

  11. En la pestaña Limitaciones, elimina todas las limitaciones y haz clic en Finalizar.

  12. Guarda y activa el workflow.

  1. En Configuración de tienda, ve a Integraciones > Integraciones personalizadas (webhooks) y haz clic en Crear nueva integración.

    Listado de integraciones personalizadas en Connectif con el botón Crear nueva integración

  2. Dale un nombre a la integración y haz clic en Actualizar.

  3. En la pestaña Enviar datos, haz clic en Crear nuevo evento de envío y dale un nombre al evento.

  4. En Webhook URL donde enviar el mensaje, escribe el endpoint de la API de push:

    https://push.api.reskyt.com/push/send
  5. Haz clic en Añadir una nueva cabecera, con el nombre x-api-key y tu API key como valor.

  6. Con Añadir un nuevo campo, crea los campos del evento. El nombre y el ID de cada campo coinciden con el campo de la API:

    Nombre e IDTipoObligatorioOpciones
    deviceIdTextoSíActiva las opciones JSON con el puntero /deviceId/0
    titleTextoSí—
    headingTextoNo—
    urlTextoNo—
    pictureUrlTextoNo—
    dateEndEnteroNo—

    El puntero JSON /deviceId/0 hace que Connectif envíe el identificador dentro de una lista, que es el formato string[] que espera la API. El significado de cada campo está en la referencia de la API de push.

  7. Haz clic en Guardar.

4. Enviar una notificación desde un workflow

Sección titulada «4. Enviar una notificación desde un workflow»
  1. Ve a Workflows, haz clic en Crear nuevo workflow y elige un workflow en blanco.

  2. En el Nodo Inicio, selecciona el segmento de contactos de la app.

  3. Añade el nodo de acción que se ha creado con la integración del paso anterior.

    Workflow de Connectif con el nodo Inicio conectado a la acción de la integración con Reskyt

  4. En la configuración del nodo, arrastra el campo reskyt-device-id de la información del contacto y asígnalo a deviceId. Completa el resto de campos con valores Literal o con datos del contacto para personalizar la notificación.

    dateEnd es un timestamp Unix en segundos. Si no lo informas, la API aplica 7 días desde el envío.

  5. Haz clic en Actualizar y activa el workflow.

Antes de activar un workflow que llega a toda la base, comprueba el resultado con un contacto de prueba cuyo reskyt-device-id corresponda a tu propio dispositivo.