Loyalty

Tabla de contenidos

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 Contraseña del contacto para su Guest Portal
send_activation_email Boolean Se envía un email de activación al contacto
send_welcome_email Boolean 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
email String Email del contacto
password String 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_id es 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
email String 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 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_id es 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 Id del contacto
concept String Concepto de la operación
points Int 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 Id del contacto
concept String Concepto de la operación
points Int 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
    ]
}