Escáner documental externo

Cómo hacer que un lector de documentos que no es el nuestro acabe rellenando la ficha del viajero y el parte de SES.Hospedajes.

Puede que no lo necesites

Pernocta ya trae lectura de la banda MRZ (ICAO 9303, formatos TD1 y TD3) con la cámara del móvil, sin hardware ni licencias. Este endpoint existe para quien prefiera otro motor —Scandit, Microblink, un lector de sobremesa— por certificaciones, por integración con lo que ya tiene, o porque le pidan una marca concreta en un pliego.

Cómo encaja

Tu motor lee el documento y te da los campos. Nos los mandas y aparecen en la ficha del viajero, desde donde salen hacia SES.Hospedajes exactamente igual que si los hubiéramos leído nosotros.

curl -X POST https://pernocta.app/api/v1/reservations/RESERVA_UUID/travelers \
  -H "Authorization: Bearer pna_live_TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{
    "travelers": [{
      "nombre": "ANA",
      "apellido1": "PEREZ",
      "apellido2": "GARCIA",
      "tipoDocumento": "NIF",
      "numeroDocumento": "12345678Z",
      "soporteDocumento": "ABC123456",
      "fechaNacimiento": "1985-04-12",
      "sexo": "M",
      "nacionalidad": "ESP"
    }]
  }'

El número de soporte del DNI

Es el error más habitual de todos

En el DNI español, SES.Hospedajes exige el número de soporte —el que va en el campo opcional de la primera línea de la MRZ, con formato tipo ABC123456—, no el número de DNI. Son campos distintos y viajan por separado: soporteDocumento y numeroDocumento. Si los confundes, el parte se rechaza y el fallo aparece días después.

Para documentos extranjeros no hay soporte: el número va en numeroDocumento y el tipo es PAS (pasaporte) u OTRO (documento de identidad europeo).

Reescanear no duplica

La regla es la misma que aplica nuestro escáner, así que da igual por dónde entre el dato:

  • Si ya hay un viajero con ese número de documento, se actualiza.
  • Si no, y el titular está sin documento, se rellena ese titular.
  • Si no, se añade como acompañante.

La respuesta te dice qué pasó con cada uno, con action en created o updated.

Lo que no está en el documento

El domicilio y el municipio no viajan en la MRZ, y leerlos por OCR del texto impreso da errores suficientes como para que no compense: preferimos el campo vacío a uno mal. Se teclean en recepción o llegan del check-in online que hace el propio huésped.

Protección de datos

  • No nos mandes la imagen del documento: no la queremos ni la guardamos. Solo los campos.
  • Procesa y descarta también en tu lado. La foto de un DNI es de lo más sensible que se puede almacenar.
  • La clave necesita travelers:write y nada más: ese permiso no deja leer nada.