Solicitudes y respuestas

Esta página describe los formatos del cuerpo de las solicitudes, el envoltorio de las respuestas, la paginación, los formatos de fecha e importe, y cómo interpretar los códigos de estado HTTP.

Cuerpos de solicitud#

Los endpoints usan uno de estos dos formatos de cuerpo. La página de referencia de cada endpoint indica cuál se aplica.

FormatoContent-TypeLo usan
Campos de formularioapplication/x-www-form-urlencoded o multipart/form-dataInicio de sesión, lista de habitaciones, validación de cupones, países
JSONapplication/jsonEnvío de reservas (BookingPushRQ), inicio del pago
Cadena de consultaTodos los endpoints GET

Los campos de tipo array de los cuerpos de formulario se repiten con corchetes: childAges[]=7&childAges[]=12. Los cuerpos JSON deben estar en UTF-8.

Envoltorio de la respuesta#

Las respuestas son JSON. La mayoría incluye un indicador success; las listas se devuelven con count y items:

Respuesta de lista (recortada)
{
    "success": true,
    "count": 3,
    "items": [
        {
            "id": 1,
            "titleCode": "TRY",
            "symbol": "₺",
            "price": 1
        },
        {
            "id": 2,
            "titleCode": "EUR",
            "symbol": "€",
            "price": 47.85000000000000142108547152020037174224853515625
        }
    ]
}

Cuando falla una comprobación de reglas de negocio, se devuelve success: false junto con una descripción del error, en una de estas dos formas:

Forma con message
{
    "success": false,
    "message": "online_cupon_is_not_found"
}
Forma con errorCode (lista de habitaciones)
{
    "success": false,
    "errorMessage": "Invalid parameters.",
    "errorCode": 10022
}

Excepciones: el endpoint de datos de contacto devuelve un objeto simple sin envoltorio, y el envío de reservas devuelve un objeto BookingPushRS. Ambos se muestran en la referencia.

Códigos de estado HTTP#

CódigoCuándoQué hacer
200Solicitud procesada (éxito o error de regla de negocio)Revisa success y message / errorCode.
401Token ausente, con formato incorrecto o desconocidoVuelve a iniciar sesión; consulta Autenticación.
404Un parámetro de ruta no corresponde a ningún registro (p. ej., /hotel/{hotelID}/…, /payment/type/{paymentType})Comprueba el ID.
405Método HTTP incorrectoUsa el método que indica la referencia (países y lista de habitaciones son POST).
500Error inesperado del servidorReintenta tras una breve espera; si persiste, abre un ticket de soporte e incluye la solicitud.

Paginación#

Los endpoints de listas (/external/currencies, /external/languages, /external/online/social/media, /external/stock/packages) se paginan por número de página:

ParámetroDescripciónPredeterminado
limitRegistros por página.20
pageNúmero de página, empezando por 1.1
offsetRegistros que se omiten. Si se indica, se ignora page.
orderCampo de ordenación; antepón - para orden descendente (-id). Los campos permitidos se indican en cada endpoint.

count es el número total de registros; no quedan más páginas cuando page × limit ≥ count.

Fechas, horas e importes#

TipoFormatoEjemplo
Fecha en la solicitudYYYY-MM-DD2026-08-18
Fecha de disponibilidadYYYY-MM-DD o YYYY-MM-DDTHH:MM:SS2026-08-18T12:00:00
Fecha de la tarifa por noche (respuesta)DD.MM.YYYY (campo tarih)18.08.2026
Intervalo del día de disponibilidad (respuesta)YYYY-MM-DD HH:MM:SS, de 12:00 a 12:00 del día siguiente2026-08-18 12:00:00
ImporteCadena con dos decimales y punto como separador"965.00"
MonedaISO 4217; según la configuración del canal online del hotelTRY
Zona horariaLa zona horaria del hotelEurope/Istanbul

La fecha de salida no forma parte de la estancia: del 18 al 20 de agosto son dos noches. No sumes importes con float; usa una biblioteca de decimales o enteros en la unidad mínima de la moneda.

Idioma#

La lista de habitaciones recibe un campo language (ISO 639-1: tr, en, de…) y devuelve los nombres de habitación, los títulos de las características y los mensajes de error en ese idioma. La lista de paquetes espera un languageID; los IDs se obtienen del endpoint Idiomas.

Última actualización: 21 de septiembre de 2026¿Has encontrado un error? Avísanos