Tabla de contenidos
- Introducción
- Casos de uso
- Métodos disponibles
- Tabla de parámetros
- Ejemplos
- Petición (POST)
- Respuesta (POST)
- Petición (GET)
- Respuesta (GET)
- Petición (PATCH)
- Respuesta (PATCH)
Introducción:
En este artículo hablamos sobre las peticiones de la API relacionadas con los Movimientos(Entries).
- Crear movimiento
- Actualizar movimiento
- Listar y filtrar movimientos
Se entiende por movimiento cualquier conjunto de datos que implique una acción de un cliente a través de una plataforma de terceros, como por ejemplo:
- Una reserva desde el motor de la web.
- Una estancia desde el PMS.
- Una conexión desde el portal cautivo.
- La compra de un servicio del hotel desde una aplicación de conserjería virtual...
El endpoint que utilizamos es: https://app.hoteldatahub.io/api/v1/entries/ y el apartado del Swagger es: https://app.hoteldatahub.io/swagger/#/entries
Casos de uso:
La gestión de movimientos resulta de gran utilidad para segmentar y automatizar el envío de campañas de email marketing, o para añadir puntos a la ficha de un contacto fidelizado.
- Gestión de campañas: en Fideltour, las campañas de email marketing pueden automatizarse en base a los datos de un movimiento. Por ejemplo, es posible enviar campañas según la fecha de entrada o salida de un huésped, también podemos utilizar la fecha de creación de la reserva para enviar un correo de agradecimiento, de venta cruzada o simplemente informativo.
- Programa de fidelización: si el cliente tiene contratado el módulo Loyalty de Fideltour, se utilizan los movimientos para otorgar puntos de fidelización a los contactos.
Métodos disponibles:
Todos los métodos y filtros disponibles para trabajar con movimientos se pueden consultar aquí.
En este artículo nos centramos en los siguientes:
En este artículo nos centramos en los siguientes:
- GET: Consulta de datos de uno o varios movimientos
- POST: Creación de un nuevo movimiento
- PATCH: Actualización de los datos de un movimiento ya existente
En algunos métodos es necesario conocer el ID del entry, y para obtener dicho ID, recomendamos utilizar el endpoint https://app.hoteldatahub.io/api/v1/entries/ con los siguientes parámetros de URL:
- Localizador (localizer)
- ID del contacto al que pertenece (contact)
- Canal de entrada del movimiento(input_channel)
Tabla de parámetros:
Campo | Tipo | Obl. | Descripción |
hotel_chain | String | Si | Código de la empresa. Proporcionado por HotelDataHub. |
contact | Integer | Si | Identificador en HotelDataHub, del contacto que realiza el movimiento. |
date | Datetime YYYY-MM-DDTHH:MM:SS | Si | Fecha del movimiento |
entrance | Date YYYY-MM-DD | Si | Fecha de entrada |
departure | Date YYYY-MM-DD | Si | Fecha de salida |
localizer | String | Si | Localizador |
hotel | Integer | Si | Identificador del hotel. Proporcionado por HotelDataHub. |
agency | String | No | Dos opciones:
|
booking_type | Integer | No | Tipo de movimiento
|
amount | Float | No | Importe total. |
currency | String | No | Moneda. |
status | Integer | No | Estado del movimiento
Default= 1 |
sub_status | Integer | No | Estado del movimiento
|
room_number | String | No | Número de habitación |
adults | Integer | No | Cantidad de adultos en el movimiento |
juniors | Integer | No | Cantidad de juniors en el movimiento |
childs | Integer | No | Cantidad de niños en el movimiento |
babies | Integer | No | Cantidad de bebés en el movimiento |
input_channel | Integer | No | Canal de entrada del movimiento
|
is_checkin_realized | Booleano | No | Indica si se ha confirmado/realizado el checkin. Default: False |
is_checkout_realized | Booleano | No | Indica si se ha confirmado/realizado el checkout. Default: False |
url | String (máx. 1024 caracteres) | No | Permite enviar una URL asociada al movimiento. Este campo puede ser aprovechado en el editor de campañas gracias a la etiqueta [BOOKING_URL]. Utiliza este campo si quieres incluir en tus campañas un enlace a un servicio externo a Fideltour, como podría ser un enlace a un sistema de check-in online o un portal externo de encuestas de satisfacción, para el que además necesitas una URL única para cada reserva. |
notes | String (máx. 1024 caracteres) | No | Comentarios sobre la reserva |
regime | String | No | Dos opciones:
|
room_type | String | No | Dos opciones:
|
fare_type | String | No | Nombre del tipo de tarifa. El sistema la crea si no existe ninguna con ese nombre |
offer | String | No | Nombre de la oferta. El sistema la crea si no existe ninguna con ese nombre |
event_type | String | No | Nombre del tipo de evento. El sistema lo crea si no existe ninguno con ese nombre |
package | String | No | Nombre del paquete. El sistema lo crea si no existe ninguno con ese nombre |
category | String | No | Nombre de la categoría(segmento). El sistema la crea si no existe ninguna con ese nombre |
Ejemplos:
A continuación mostramos algunos ejemplos de creación, actualización y visualización de movimientos.
Petición (POST):
En el siguiente ejemplo se muestra una solicitud para crear un movimiento de reserva del contacto con identificador 12345.
PROTOCOLO: HTTP/1.1
METODO: POST
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: se añade un ejemplo a continuación.
- {
- "hotel_chain": "HotelChain",
- "room_number": "315",
- "input_channel": 1,
- "status": 1,
- "localizer": "XxXxXx-A",
- "adults": 2,
- "childs": 3,
- "babies": 1,
- "date": "2022-12-12T12:12:12",
- "entrance": "2022-12-12",
- "departure": "2022-12-12",
- "amount": "576,56",
- "booking_type": 0,
- "is_checkout_realized": true,
- "url": "urldelmoviento.com",
- "currency": "euro",
- "hotel": 50,
- "contact": 12345,
- "room_type": "Suite",
- "regime": "Media pensión",
- "agency": "Agencia de prueba"
- }
Respuesta (POST):
- {
- "id": 71.8011,
- "hotel_chain": "HotelChain",
- "room_number": "315",
- "input_channel": 1,
- "status": 1,
- "localizer": "XxXxXx-A",
- "adults": 2,
- "childs": 3,
- "babies": 1,
- "date": "2022-12-12T12:12:12",
- "entrance": "2022-12-12",
- "departure": "2022-12-12",
- "amount": "576.56",
- "booking_type": 0,
- "is_checkout_realized": true,
- "url": "urldelmoviento.com",
- "currency": "euro",
- "hotel": 1779,
- "contact": 7272998,
- "room_type": 98,
- "regime": 34,
- "agency": 4
- }
Petición (GET):
En el siguiente ejemplo se muestra una solicitud para consultar la información de la reserva con localizador " XxXxXx-A", perteneciente al contacto 12345 y realizada por el canal de entrada 1(WEB).
PROTOCOLO: HTTP/1.1
METODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/entries/?contact=12345&localizer=XxXxXx-A&input_cannel=1
HEADERS:
- Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: En este caso al ser un método de tipo GET no incluimos datos en el cuerpo de la petición, ya que se incluyen en la url.
Respuesta (GET):
- {
- "id": 71.8011,
- "hotel_chain": "HotelChain",
- "room_number": "315",
- "input_channel": 1,
- "status": 1,
- "localizer": "XxXxXx-A",
- "adults": 2,
- "childs": 3,
- "babies": 1,
- "date": "2022-12-12T12:12:12",
- "entrance": "2022-12-12",
- "departure": "2022-12-12",
- "amount": "576.56",
- "booking_type": 0,
- "is_checkout_realized": true,
- "url": "urldelmoviento.com",
- "currency": "euro",
- "hotel": 1779,
- "contact": 7272998,
- "room_type": 98,
- "regime": 34,
- "agency": 4
- }
Petición (PATCH):
En el siguiente ejemplo se muestra una solicitud para actualizar la reserva con ID "71.8011".
PROTOCOLO: HTTP/1.1
METODO: PATCH
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: se añade un ejemplo a continuación.
- {
- "hotel_chain": "HotelChain",
- "room_number": "Suite Junior",
- "adults": 5,
- "childs": 3,
- "babies": 0,
- "date": "2022-12-12T12:12:12",
- "entrance": "2022-12-22",
- "departure": "2022-12-26",
- "amount": "876,56",
- "hotel": 50,
- "contact": 12345
- }
Respuesta (PATCH):
- {
- "id": 71.8011,
- "hotel_chain": "HotelChain",
- "room_number": "245",
- "input_channel": 1,
- "status": 1,
- "localizer": "XxXxXx-A",
- "adults": 5,
- "childs": 3,
- "babies": 0,
- "date": "2022-12-12T12:12:12",
- "entrance": "2022-12-22",
- "departure": "2022-12-26",
- "amount": "876.56",
- "booking_type": 0,
- "is_checkout_realized": true,
- "url": "urldelmoviento.com",
- "currency": "euro",
- "hotel": 50,
- "contact": 12345,
- "room_type": 98,
- "regime": 34,
- "agency": 4
- }