Ir al contenido

Referencia técnica

Punto de entrada para el equipo técnico que va a integrar con Reskyt.

La API de push es la API pública de Reskyt disponible actualmente.

APIPara quéAutenticación
Notificaciones pushEnviar notificaciones desde tus sistemasx-api-key

Si necesitas integrar por otra vía, lo habitual es resolverlo desde la web o mediante un módulo. Ver integraciones y SDKs.

Todas las peticiones que salen de la app incluyen el identificador rktwebview en el user agent. Es la comprobación de referencia.

const isReskytApp = navigator.userAgent.includes('rktwebview');

También existe la cookie is_app, que vale 1 siempre que el código se ejecuta dentro de la app.

Además del identificador rktwebview, que se envía siempre, puedes añadir una etiqueta propia al user agent para distinguir plataformas en tu analítica o en tu backend, del tipo clientname_app_IOS o clientname_app_ANDROID.

Se configura en Ajustes › Parámetros › App › Custom User Agent.

const ua = navigator.userAgent;
const isIOSApp = ua.includes('_app_IOS');
CookiePersistenciaPara qué sirve
uuid_appHasta desinstalar la appIdentificador de la instalación de la app en ese dispositivo. Permite vincular el dispositivo con un perfil de usuario en tu base de datos y mantener el login persistente.
token_md5Hasta desinstalar la appToken de push del dispositivo. Existe solo si el usuario aceptó las notificaciones.
is_appSesiónVale 1 siempre que el código se ejecuta dentro de la app.
function getCookie(name) {
return document.cookie
.split('; ')
.find((row) => row.startsWith(name + '='))
?.split('=')[1];
}

Fecha de instalación de la app, guardada como JSON:

{
"value": 1749133186,
"expire": ""
}

value es un timestamp Unix en segundos. El campo expire es de uso interno y no afecta a la fecha de instalación. Sirve para saber la antigüedad del usuario en la app, por ejemplo para onboarding, campañas de reactivación o encuestas a los X días.

const raw = localStorage.getItem('install_date');
const installedAt = raw ? new Date(JSON.parse(raw).value * 1000) : null;
VariableValorNotas
firstCall1Indica la entrada del usuario en la app. No detecta el primer arranque tras instalar: se reinicia en cada sesión.

window.ReskytLayout.device.getHashedInstallationId()

Sección titulada «window.ReskytLayout.device.getHashedInstallationId()»

Devuelve el hashed installation ID del dispositivo, que es el valor que se envía en el campo deviceId de la API de push.

El flujo recomendado es comprobar primero que el user agent contiene rktwebview, llamar al método durante el login o el registro, guardar el valor devuelto y asociarlo al usuario correspondiente en tus sistemas. A partir de ahí ese identificador es el que se usa para segmentar los envíos.

if (navigator.userAgent.includes('rktwebview')) {
const hashedInstallationId =
window.ReskytLayout.device.getHashedInstallationId();
// Guárdalo asociado al usuario en tu base de datos.
}

La app puede añadir parámetros UTM a las URLs que abre, para que tu analítica distinga el tráfico de app del tráfico web. Se configuran en Ajustes › Parámetros › App › UTM.

ParámetroValor típico
utm_sourceapp.reskyt.com en acceso directo a la app, push.reskyt.com cuando la sesión viene de una notificación
utm_mediumreferral por defecto

Cuando un deeplink abre la app ya instalada, todos los queryParams se propagan tal cual a la WebView.

Si el enlace no trae utm_source ni utm_medium, el sistema los rellena:

  • utm_medium toma la plataforma de origen (Google, Instagram…), con external_app como valor por defecto si no se puede determinar.
  • utm_source toma el valor deeplink.

Integraciones y SDKs explica las vías de integración disponibles y qué implica cada una en el ciclo de publicación. El catálogo de módulos lista lo que ya está integrado.

Deep links cubre Universal Links en iOS y App Links en Android. Autenticación y sesiones explica dónde está la frontera de responsabilidades en el login.