Conecta PUI

Guía de Integración

Innsist PMS ↔ Conecta PUI

Documento técnico · Versión 1.0 · Abril 2026 · Confidencial

1Contexto: ¿Qué es la PUI y por qué importa?

La Plataforma Única de Identidad (PUI) es un sistema del Gobierno de México que obliga a instituciones de hospedaje (entre otras) a reportar el ingreso de huéspedes en tiempo real. Está regulada por los Lineamientos del DOF (27/11/2025) y el Artículo 12 Bis de la LGMDFP. El plazo de cumplimiento venció el 31 de marzo de 2026.

Multas por incumplimiento: $1.17 a $2.35 millones MXN + responsabilidad penal para el representante legal del hotel.

Conecta PUI es la capa de integración entre el PMS del hotel y el gobierno. Maneja toda la complejidad técnica de la PUI: endpoints, autenticación JWT bilateral, cifrado AES-256-GCM, fases de búsqueda, reintentos y auditoría. El PMS solo necesita enviar datos de huéspedes — Conecta PUI hace el resto.

2Objetivo de la integración

Que cada hotel que use Innsist pueda cumplir con la PUI de forma automática:

🏨

Innsist PMS

Check-in del huésped

Conecta PUI

Procesa, valida, reporta

🇲🇽

PUI Gobierno

Cumplimiento confirmado

El hotel no necesita saber nada de la PUI. Si Innsist envía los datos del huésped a Conecta PUI al momento del check-in, el cumplimiento es automático e invisible para el hotelero.

3Opciones de integración

Proponemos dos caminos, en orden de preferencia:

Opción A — Recomendada

Webhook de Innsist → Conecta PUI

Innsist envía un webhook a nuestro endpoint cada vez que hay un check-in (o cambio de huésped). Tiempo real, sin polling, sin intervención del hotel.

  • Datos llegan al instante
  • Sin carga adicional en la API de Innsist
  • El hotel no hace nada
Opción B — Alternativa

API Key + Polling por Conecta PUI

El hotel nos proporciona un API Key de Innsist. Nosotros consultamos periódicamente la API de Innsist para obtener nuevos check-ins.

  • No requiere desarrollo de webhooks por parte de Innsist
  • Ligero delay (polling cada 15–60 min)
  • Requiere endpoint de listado de check-ins con filtro por fecha

4Campos requeridos del huésped

Estos son los datos que Conecta PUI necesita recibir por cada huésped. El formato exacto es flexible — nosotros normalizamos.

CampoRequeridoFormatoEjemplo
CURPSí*18 caracteres alfanuméricosGOME870101HJCNRR09
Nombre(s)TextoROBERTO
Primer apellidoTextoGONZALEZ
Segundo apellidoOpcionalTextoMARTINEZ
Fecha de nacimientoYYYY-MM-DD1987-01-01
SexoSí**H, M, o equivalenteH
Fecha de check-inYYYY-MM-DD o ISO 86012026-04-17
TeléfonoOpcionalTexto libre+52 33 1234 5678
Correo electrónicoOpcionalEmail válidoroberto@ejemplo.com
ID de reserva (Innsist)RecomendadoString/NumberRES-2026-4521
ID de huésped (Innsist)RecomendadoString/NumberGUEST-8842

*CURP: Si el huésped no tiene CURP al momento del check-in, el registro queda en una bandeja de pendientes donde el hotel puede completarlo manualmente. No bloquea el flujo.

**Sexo: Si no se envía, Conecta PUI lo deriva automáticamente del carácter 11 de la CURP.

5Opción A: Webhook (detalle técnico)

5.1 Endpoint de Conecta PUI

POST https://api.conectapui.com/api/v1/integrations/innsist/webhook

Content-Type: application/json

X-Innsist-Signature: <HMAC-SHA256>

X-Innsist-Event: checkin

5.2 Payload sugerido

{ "event": "checkin", "timestamp": "2026-04-17T14:30:00Z", "property_id": "hotel-playa-123", "reservation_id": "RES-2026-4521", "guest": { "guest_id": "GUEST-8842", "first_name": "ROBERTO", "last_name": "GONZALEZ MARTINEZ", "date_of_birth": "1987-01-01", "gender": "M", "curp": "GOME870101HJCNRR09", "email": "roberto@ejemplo.com", "phone": "+52 33 1234 5678", "document_type": "CURP", "document_number": "GOME870101HJCNRR09" }, "checkin_date": "2026-04-17", "checkout_date": "2026-04-20" }

El formato es flexible. Si Innsist ya tiene un formato de webhook establecido, podemos adaptarnos a él. Lo esencial es que contenga los campos de la tabla anterior.

5.3 Seguridad del webhook

  • HMAC-SHA256: Cada hotel tendrá un secreto compartido. Innsist firma el body del webhook y lo envía en el header X-Innsist-Signature. Conecta PUI verifica la firma antes de procesar.
  • HTTPS obligatorio. Solo aceptamos webhooks sobre TLS.
  • Respuesta esperada: Conecta PUI responde 200 OK inmediatamente y procesa el evento de forma asíncrona. Si Innsist no recibe 200, puede reintentar con backoff exponencial.

5.4 Eventos recomendados

EventoCuándo se disparaPrioridad
checkinHuésped hace check-inAlta
guest_updatedSe modifican datos del huésped (ej. se agrega CURP)Media
checkoutHuésped hace check-outBaja

6Opción B: API Key + Polling (detalle técnico)

Si Innsist no soporta webhooks aún, podemos hacer polling desde nuestro lado. Necesitaríamos:

6.1 Mecanismo de autenticación

Un API Key por hotel que el hotelero genera en Innsist y pega en Conecta PUI. Puede ser Bearer token, API key en header, o query param — nos adaptamos.

6.2 Endpoint de listado de huéspedes/check-ins

Un endpoint tipo GET /api/guests?checkin_from=2026-04-17T00:00:00Z que devuelva los huéspedes con check-in a partir de cierta fecha. Esto nos permite consultar solo lo nuevo en cada ciclo de polling (cada 15–60 minutos).

6.3 Paginación

Si el endpoint soporta paginación (limit/offset o cursor), perfecto. Si no, un límite razonable por respuesta (100–500 registros) es suficiente.

6.4 Rate limits

Indicarnos los límites de llamadas por minuto/hora para respetar throttling.

7Lo que Conecta PUI maneja (Innsist no necesita hacer esto)

Validación de CURP

Formato 18 caracteres, regex oficial, extracción de sexo y fecha de nacimiento

Normalización de datos

Mayúsculas, separación nombre/apellidos, formato de fechas, codificación de género

Autenticación con PUI

JWT bilateral RS256, refresh automático de tokens, manejo de expiración

Cifrado de biométricos

AES-256-GCM para todos los datos sensibles en tránsito y reposo

Reporte al gobierno

Las 3 fases de búsqueda PUI (datos, histórica, continua) se ejecutan automáticamente

Reintentos y resiliencia

Cola SQS con reintentos, manejo de downtime del gobierno, backoff exponencial

Auditoría completa

Log de cada evento PUI enviado/recibido, exportable para inspecciones regulatorias

Dashboard para el hotel

Panel donde el hotel ve su estado de cumplimiento, reportes y pendientes

8Plan de implementación sugerido

1

Llamada técnica de alineación

Día 1

Definimos juntos el formato exacto del payload y el mecanismo de autenticación. Duración: 30–60 min.

2

Innsist implementa el webhook (o expone API)

Día 2–5

Innsist agrega el envío del webhook con los campos del huésped al momento del check-in. Si se elige polling, expone el endpoint de consulta.

3

Conecta PUI construye el receptor

Día 2–5 (en paralelo)

Desarrollamos el endpoint receptor, mapeo de campos, y la lógica de procesamiento. Usamos la misma arquitectura probada de nuestra integración con Cloudbeds.

4

Prueba con hotel piloto

Día 6–7

Un hotel real conecta Innsist ↔ Conecta PUI. Verificamos el flujo completo: check-in → webhook → registro → reporte PUI.

5

Rollout a todos los hoteles

Día 8+

Los demás hoteles activan la integración desde su dashboard. Proceso self-service con documentación.

9Preguntas para el equipo de Innsist

Para avanzar rápido, nos sería útil conocer:

  1. ¿Soportan webhooks actualmente? Si sí, ¿qué formato/estructura usan? Nos adaptamos a su estándar.
  2. ¿Tienen un endpoint de listado de check-ins con filtro por fecha? (Para la opción de polling).
  3. ¿Cómo se autentica un tercero con su API? (API key, OAuth, Bearer token, etc.)
  4. ¿El CURP se captura en algún campo del huésped? ¿Cuál es el nombre del campo? ¿Es obligatorio o opcional en su sistema?
  5. ¿Documentación de su API? Si tienen un Swagger/OpenAPI spec o docs, nos ayudaría mucho para mapear campos.
  6. ¿Rate limits? Llamadas por minuto/hora permitidas.
  7. ¿Ambientes de sandbox/testing? Para hacer pruebas sin afectar datos reales.
  8. ¿Hay un hotel piloto disponible para hacer la primera prueba de integración?

10Contacto técnico

Conecta PUI — Equipo técnico

Correo

soporte@origenlabs.ai

WhatsApp

+52 33 2101 6330

Agendar llamada técnica

Reservar horario →

Documentación general

conectapui.com/docs