Códigos de error
Los errores llegan de tres formas: los de autenticación, como HTTP 401; los de reglas de negocio, dentro de un HTTP 200 con success: false; y los del envío de reservas, en BookingPushRS.Error. Esta página recoge todos los códigos.
Errores de autenticación#
| HTTP | Respuesta | Causa |
|---|---|---|
| 401 | {"success": false, "error": "Authentication required"} | Token ausente o desconocido, o formato Bearer incorrecto. |
| 200 | message: partner_is_not_found | Inicio de sesión: el par de claves no coincide. |
| 200 | message: hotel_is_not_found | Inicio de sesión: no hay ningún hotel para hotelSeoUrl. |
| 200 | message: hotel_permission_is_not_found | Inicio de sesión: el partner no está autorizado para el hotel. |
Códigos de message#
Códigos de texto en snake_case que se devuelven junto con success: false.
| message | Endpoint | Descripción |
|---|---|---|
hotel_id_is_not_found | La mayoría | No se envió hotelID. |
start_date_is_not_found / end_date_is_not_found | Disponibilidad | Falta un parámetro de fecha. |
online_cupon_is_not_found | Cupón | Código desconocido, inactivo, caducado o no disponible. |
mail_host_is_not_found | Configuración de correo | No hay ningún SMTP configurado para el canal online. |
hotel_company_info_could_not_found | Datos del POS virtual | El hotel no tiene ningún proveedor de pago configurado. |
bank_info_is_not_found | Pago (tipo 3) | No hay ninguna cuenta bancaria habilitada para la venta online. |
required_input_info_not_submitted | Pago (tipo 10) | Falta un campo obligatorio; errors[] indica cuáles. |
country_info_sent_incorrectly | Pago (tipo 10) | countryID no está en la lista de países. |
there_is_missing_info_in_the_shopping_cart | Pago (tipo 10) | A un elemento de la cesta le falta id, name, piece o price; errors[] indica cuál. |
Códigos de error de la lista de habitaciones#
La lista de habitaciones (POST /external/online/roomType) devuelve un errorCode numérico y un errorMessage legible. El mensaje se traduce según el parámetro language; basa tu código en errorCode.
| errorCode | Significado | Qué hacer |
|---|---|---|
10001 | Hotel no encontrado | Comprueba hotelID. |
10002 | Falta un parámetro (hotelID, startDate, endDate, adultCount) | Envía los campos obligatorios. |
10003 | Hotel cerrado a la venta online | El hotel debe habilitar el canal online en el panel. |
10004 | Ningún tipo de habitación abierto a los canales | El hotel debe abrir tipos de habitación a la venta online. |
10022 | Parámetros no válidos | Entrada hoy o más adelante, salida posterior a la entrada, 30 noches como máximo, 1–40 adultos, 0–10 niños. |
20001 | Disponibilidad insuficiente para adultos | Sugiere otras fechas u otra ocupación. |
20002 | Disponibilidad insuficiente para niños | No quedan habitaciones con capacidad para niños. |
20003 / 20004 | Disponibilidad insuficiente para adultos y niños | La capacidad total no cubre la solicitud. |
Cuando hay disponibilidad pero un tipo de habitación concreto no se puede vender, su roomCount es 0 y el motivo figura en roomRestrictionMessage: closed_to_checkin, closed_to_checkout, passive_sales, minimum_stay, maximum_stay, closed_to_arrival, price_not_found.
Errores del envío de reservas#
En lugar de Success: true, BookingPushRS incluye un campo Error:
{
"BookingPushRS": {
"Error": "Could not register.",
"BookingConfirmNumbers": [
{
"confirmTime": 1755500000,
"bookingID": 0,
"bookingType": "Book",
"HMS_ID": null
}
]
}
}| Error | Código | Causa |
|---|---|---|
| No available data could be found. | 01 | Cuerpo vacío o JSON que no se puede analizar; falta Bookings[0].hotelID. |
| Hotel registration not found on HMS. | 02 | El hotel no está vinculado al canal online o el canal está inactivo. |
| Could not register. | — | Error al guardar (ID de tipo de habitación o de régimen no válido, fechas incoherentes). |
| Failed to parse information. | — | A la estructura le faltan campos esperados. |
Recomendaciones de reintento#
- 401: vuelve a iniciar sesión una vez y reintenta la solicitud.
- 500 y errores de red: hasta 3 intentos, a 1 s, 2 s y 4 s. Al reintentar el envío de una reserva, reutiliza el mismo
ID; unBookcon un código ya existente actualiza el registro en lugar de crear un duplicado. - success: false: no reintentes; corrige el parámetro u ofrece una alternativa al huésped.
- En los tickets de soporte, incluye la solicitud completa (con los secretos y los datos de tarjeta enmascarados), la respuesta y la hora.