Loyalty
Tabla de contenidos¶
- Introducción
- Casos de uso
- Métodos disponibles
- Sign In
- Update data
- Login
- Dar de Baja
- Resetear contraseña
- Cambiar contraseña
- Get operations
- Get operation
- Add points
- Redeem points
- Get products
- Get product
Introducción¶
En este artículo hablamos sobre las peticiones de la API relacionadas con el módulo Loyalty de Fideltour.
Los apartados del Swagger que incluyen esta información son:
- https://app.hoteldatahub.io/swagger/#/contacts
- https://app.hoteldatahub.io/swagger/#/operations
Casos de uso¶
Esta parte de la API resulta de gran utilidad para incorporar y gestionar contactos en el programa de fidelización de Fideltour, procedentes de distintas fuentes de datos.
- Registrar un contacto de Fideltour en el programa de fidelización del cliente
- Actualizar los datos del contacto relacionados con el programa de fidelización:
- Actualizar el nivel del contacto
- Actualizar los puntos del contacto
- Actualizar los puntos de nivel del contacto
- Listar y filtrar operaciones relacionadas con el programa de fidelización
- Crear una operación para otorgar puntos de fidelización a un contacto registrado en el programa
- Crear una operación para redimir puntos de fidelización a un contacto registrado en el programa
- Iniciar sesión en el programa de fidelización
- Solicitar un cambio de contraseña para la cuenta del programa de fidelización
Métodos disponibles¶
Todos los métodos y filtros disponibles para trabajar con loyalty se pueden consultar en los enlaces del Swagger citados anteriormente.
En este artículo nos centramos en los siguientes:
Sign In¶
Registar un contacto en el programa de fidelización.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_sign_in
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| password | String | Sí | Contraseña del contacto para su Guest Portal |
| send_activation_email | Boolean | Sí | Se envía un email de activación al contacto |
| send_welcome_email | Boolean | Sí | Se envía un email de bienvenida al contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/{contact_id}/loyalty-sign-in/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"password": "UTendyE!?",
"send_activation_email": false,
"send_welcome_email": false
}
Respuesta¶
En caso de una respuesta 200, el json que se recibe tiene toda la información del contacto.
Update data¶
Actualizar los datos de fidelización de un contacto.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_update_data
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| level | Int | No | ID del nivel en Fideltour |
| points | Int | No | Puntos del contacto |
| level_points | Int | No | Puntos de nivel del contacto |
| loyalty_bookings | Int | No | Reservas totales del contacto |
| loyalty_nights | Int | No | Noches totales del contacto |
| loyalty_last_booking_date | date (yyyy-mm-dd) | No | Fecha de la última reserva del contacto |
| loyalty_custom_tag_timestamp | datetime (yyyy-mm-ddThh:mm:ss) | No | Fecha y hora de fidelización del contacto |
| loyalty_id | String | No | Nº de la tarjeta de loyalty |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/{contact_id}/loyalty-update-data/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"level": 2673,
"points": 200,
"level_points": 100
}
Respuesta¶
En caso de una respuesta 200, el json que se recibe tiene toda la información del contacto.
Login¶
Iniciar sesión en el programa de fidelización.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_login
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| String | Sí | Email del contacto | |
| password | String | Sí | Contraseña del contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/loyalty-login/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"email": "test@test.com",
"password": "UTendyE!?"
}
Respuesta¶
En caso de una respuesta 200, el json que se recibe tiene toda la información del contacto.
Dar de Baja¶
Endpoint para dar de baja del programa loyalty a un contacto.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_reset_account
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/{contact_id}/loyalty-reset-account/
Nota: Donde
contact_ides el id del contacto en Fideltour.
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta¶
En caso de una respuesta 200, se devuelve un json con los datos del contacto con los campos referentes al loyalty reseteados.
Resetear contraseña¶
Resetear la contraseña para acceder al programa de fidelización.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_reset_password
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| String | Sí | Email del contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/loyalty-reset-password/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"email": "test@test.com"
}
Respuesta¶
En caso de una respuesta 200, si existe un contacto con el email introducido, se envía un correo con la nueva contraseña establecida por Fideltour.
Cambiar contraseña¶
Cambiar la contraseña de acceso al programa de fidelización de un contacto.
Swagger: https://app.hoteldatahub.io/swagger/#/contacts/contacts_loyalty_change_password
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| new_password | String | Sí | Nueva contraseña del contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/contacts/{contact_id}/loyalty-change-password/
Nota: Donde
contact_ides el ID del contacto en Fideltour.
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"new_password": "NuevaContraseña123!"
}
Respuesta¶
En caso de una respuesta 200, la contraseña ha sido actualizada correctamente.
Get operations¶
Listar y filtrar las operaciones del programa de fidelización del cliente.
Swagger: https://app.hoteldatahub.io/swagger/#/operations/operations_list
Tabla de parámetros¶
No hay parámetros obligatorios, ver todos los filtros disponibles en Swagger.
Petición¶
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/operations/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"count": 5,
"next": null,
"previous": null,
"results": [
{
"id": 405283,
"contact_email": "pserra@customia.com",
"book_room_number": null,
"points": 100,
"expired_points": null,
"consumed_points": -100,
"remaining_points": 0,
"level_points": 0,
"bonus_points": "0.00",
"timestamp": "2023-11-13T12:11:03.746192",
"comments": null,
"concept": "test",
"code": "2991559E1A",
"redeemed": 0,
"point_type": 0,
"expired_date": "2023-11-13T12:11:03.745212",
"updated_at": "2023-11-13T12:11:03.784747",
"contact": 11656629,
"product": null,
"book": null,
"manager": 3738,
"hotel": null
}
]
}
Get operation¶
Obtener una operación por ID del programa de fidelización del cliente.
Swagger: https://app.hoteldatahub.io/swagger/#/operations/operations_read
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| id | Int | No | Id de la operación enviada en la URL |
Petición¶
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/operations/<operation_id>/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"id": 405278,
"contact_email": "pserra@customia.com",
"book_room_number": null,
"points": 100,
"expired_points": null,
"consumed_points": -100,
"remaining_points": 0,
"level_points": 0,
"bonus_points": "0.00",
"timestamp": "2023-11-13T12:05:43.309364",
"comments": null,
"concept": "test",
"code": "B0937118E5",
"redeemed": 0,
"point_type": 0,
"expired_date": "2023-11-13T12:05:43.308445",
"updated_at": "2023-11-13T12:05:43.342388",
"contact": 11656629,
"product": null,
"book": null,
"manager": 3738,
"hotel": null
}
Add points¶
Crear una operación para añadir puntos a un contacto del programa de fidelización.
Swagger: https://app.hoteldatahub.io/swagger/#/operations/operations_add_points
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| contact | Int | Sí | Id del contacto |
| concept | String | Sí | Concepto de la operación |
| points | Int | Sí | Puntos que se le añaden al contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/operations/add-points/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"contact": 11656629,
"concept": "reservas 2023",
"points": 500
}
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"contact": 11656629,
"concept": "reservas 2023",
"points": 500
}
Redeem points¶
Crear una operación para canjear puntos a un contacto del programa de fidelización.
Swagger: https://app.hoteldatahub.io/swagger/#/operations/operations_redeem_points
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| contact | Int | Sí | Id del contacto |
| concept | String | Sí | Concepto de la operación |
| points | Int | Sí | Puntos que se le restan al contacto |
Petición¶
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/operations/redeem-points/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"contact": 11656629,
"concept": "producto canjeado",
"points": 100
}
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"contact": 11656629,
"concept": "producto canjeado",
"points": 100
}
Get products¶
Listar y filtrar los productos del programa de fidelización del cliente.
Swagger: https://app.hoteldatahub.io/swagger/#/products/products_list
Tabla de parámetros¶
No hay parámetros obligatorios, ver todos los filtros disponibles en Swagger.
Petición¶
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/products/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"count": 6,
"next": null,
"previous": null,
"results": [
{
"id": 12345,
"title": "Estamos deseando volver a tenerte con nosotros.",
"category": 2,
"image": "https://example/fideltour/media/product-image/example_image.jpg",
"points": 12345,
"featured": false,
"start_date": "2022-12-01",
"end_date": "2024-12-31",
"code": "Repetidor1",
"is_visible": true,
"promocode": null,
"notify_alert_emails": true,
"hotels": [101, 102, 103],
"levels": [201, 202]
}
]
}
Get product¶
Obtener un producto por ID del programa de fidelización del cliente.
Swagger: https://app.hoteldatahub.io/swagger/#/products/products_read
Tabla de parámetros¶
| Campo | Tipo | Obl. | Descripción |
|---|---|---|---|
| id | Int | No | Id del producto enviado en la URL |
Petición¶
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/products/<product_id>/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta¶
En caso de una respuesta 200, se recibe el siguiente json:
{
"id": 12345,
"title": "Estamos deseando volver a tenerte con nosotros.",
"category": 2,
"image": "https://example/fideltour/media/product-image/example_image.jpg",
"points": 12345,
"featured": false,
"start_date": "2022-12-01",
"end_date": "2024-12-31",
"code": "Repetidor1",
"is_visible": true,
"promocode": null,
"notify_alert_emails": true,
"hotels": [
12345,
12345,
12345
],
"levels": [
12345,
12345,
12345
]
}