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.
| API | Para qué | Autenticación |
|---|---|---|
| Notificaciones push | Enviar notificaciones desde tus sistemas | x-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.
Detectar que estás dentro de la app
Sección titulada «Detectar que estás dentro de la app»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.
Custom User Agent
Sección titulada «Custom User Agent»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');Cookies
Sección titulada «Cookies»| Cookie | Persistencia | Para qué sirve |
|---|---|---|
uuid_app | Hasta desinstalar la app | Identificador 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_md5 | Hasta desinstalar la app | Token de push del dispositivo. Existe solo si el usuario aceptó las notificaciones. |
is_app | Sesión | Vale 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];}localStorage
Sección titulada «localStorage»install_date
Sección titulada «install_date»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;Variables de window
Sección titulada «Variables de window»| Variable | Valor | Notas |
|---|---|---|
firstCall | 1 | Indica 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.}Parámetros UTM
Sección titulada «Parámetros UTM»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ámetro | Valor típico |
|---|---|
utm_source | app.reskyt.com en acceso directo a la app, push.reskyt.com cuando la sesión viene de una notificación |
utm_medium | referral por defecto |
Comportamiento de los deeplinks
Sección titulada «Comportamiento de los deeplinks»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_mediumtoma la plataforma de origen (Google, Instagram…), conexternal_appcomo valor por defecto si no se puede determinar.utm_sourcetoma el valordeeplink.
Dónde seguir
Sección titulada «Dónde seguir»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.