Para developers · API REST

SES Hospedajes, resuelto en una llamada a la API.

El servicio del Ministerio del Interior habla SOAP, XSD y ZIP+Base64. Kinapi lo convierte en un POST y un JSON: creas el check-in, el huésped se registra solo, y el parte de viajeros se comunica y confirma sin que escribas una línea de XML.

Estamos en beta: montamos la integración contigo, caso por caso.

crear-checkin.sh
curl -X POST checkinsas-apim-prod01.azure-api.net/api/v1/checkins \
  -H "ocp-apim-subscription-key: $API_KEY" \
  -d '{
    "reservationId": "R-2026-0412",
    "listingId": "38291",
    "checkInDate": "2026-08-14",
    "checkOutDate": "2026-08-18",
    "numGuests": 4
  }'

# → 201 Created
{
  "url": "https://…/c/aGb3xK…",
  "status": "pending"
}

# la noche de la llegada, sin que llames a nada:
# → parte comunicado a SES Hospedajes
# → código de comunicación confirmado

El problema

El servicio web de SES Hospedajes no está pensado para integrarse rápido.

Implementarlo directamente significa construir un cliente SOAP 1.1, generar XML validado contra el XSD oficial, comprimirlo en ZIP y codificarlo en Base64, manejar autenticación Basic por entorno (pre/prod) y sondear el resultado porque el Ministerio procesa cada lote de forma asíncrona. Nada de eso es tu producto — es trabajo de fontanería que hay que mantener igual.

  • Cliente SOAP + XML validado contra el XSD del Ministerio
  • Compresión ZIP y codificación Base64 de cada solicitud
  • Credenciales y endpoint distintos para pre y producción
  • Sondeo (poll) del lote: el alta no confirma nada al momento
  • Catálogos oficiales (documento, parentesco, tipo de pago) que cambian

Con Kinapi

Un endpoint REST, autenticado con una API key
JSON de entrada y salida — nada de XML ni ZIP de tu lado
Un solo entorno para ti; pre/prod se gestiona en el panel
Nosotros hacemos el sondeo — tú consultas el estado cuando quieras
Catálogos y validación de documentos ya resueltos y mantenidos

Integración

Cuatro llamadas, cero XML.

El huésped hace el trabajo de registrarse; tu integración solo crea el check-in y consulta el resultado.

  1. 1POST/checkins

    Creas el check-in

    Una llamada por reserva. Recibes la URL que envías al huésped.

  2. 2huésped

    El huésped se registra solo

    Abre la URL, rellena sus datos (validados al momento) y firma. Cero llamadas tuyas.

  3. 3GET/checkins/{id}

    Consultas el estado

    pending → completed → signed → submitted → confirmed. Cuando quieras.

  4. 4GET/checkins/{id}/ses

    Recibes la confirmación

    Código de comunicación de SES por huésped, o el motivo exacto si algo falla.

Por dentro

Lo que la API gestiona sin que lo pidas.

No es solo un wrapper del servicio del Ministerio: cada check-in pasa por un flujo completo de cumplimiento antes de llegar a SES.

SES Hospedajes

Validación de DNI/NIE/pasaporte, catálogos oficiales, envío nocturno dentro de la ventana legal de 24h y reintento automático si el Ministerio rechaza algo.

Firma y evidencia

Firma táctil del huésped, PDF con sello de tiempo RFC 3161 y copia inmutable (WORM) — sin que tengas que construir nada de esto.

Integraciones

Una sola API para conectar tu PMS o tu propio software, más webhooks para el resto de tu stack.

API v1 · REST · JSON

Documentación pensada para integrar sin abrir un ticket.

Endpoints idempotentes, una API key por cliente y respuestas JSON consistentes. Cubre todo el ciclo de vida: crear, listar, consultar, actualizar y cancelar check-ins; leer huéspedes registrados; descargar el contrato firmado; y comprobar el estado del parte en SES.

  • Autenticación: una subscription key en la cabecera, sin tokens que renovar.
  • Idempotente: reintenta con libertad — el mismo reservationId nunca duplica.
  • Docs interactivas: cada endpoint con su ejemplo curl y su respuesta real.
Leer la documentación

# Estado del parte en SES Hospedajes

curl checkinsas-apim-prod01.azure-api.net/api/v1/checkins/R-2026-0412/ses \
  -H "ocp-apim-subscription-key: $API_KEY"

# → 200 OK
{
  "status": "confirmed",
  "results": [{
    "lote": "20260815-000123",
    "status": "polled_ok",
    "comunicaciones": [{
      "guestName": "María García López",
      "codigoComunicacion": "SES-2026-…",
      "errores": []
    }]
  }]
}

Programa beta

Cuéntanos tu caso y lo montamos contigo.

No abrimos autoservicio todavía: estamos entrando poco a poco con un grupo pequeño de integraciones piloto, caso por caso, antes de abrir la API a cualquiera.