Intereses
Tabla de contenidos¶
Introducción¶
En este artículo hablamos sobre las peticiones de la API relacionadas con los intereses de los contactos en Fideltour.
Un interés es un tema por el que un contacto ha mostrado afinidad (por ejemplo, Golf, Gastronomía o Viajes en familia). En Fideltour se gestionan con dos elementos:
- Interés: el tema en sí, identificado por su nombre. Es común a toda la cadena hotelera.
- Suscripción al interés: la relación entre un contacto y un interés, con una puntuación (
punctuation) que indica el grado de afinidad.
Los intereses son distintos de las etiquetas del contacto (custom_tags), que se gestionan desde la API de Contactos.
Endpoint: https://app.hoteldatahub.io/api/v1/interests/
Documentación Swagger: https://app.hoteldatahub.io/swagger/
Casos de uso¶
Este endpoint permite que un sistema externo (CRM, CDP, Wi-Fi, encuestas…) informe a Fideltour de los intereses que ha detectado en un contacto, para poder segmentar y personalizar las comunicaciones.
Importante: un interés siempre se asocia a un contacto que ya existe en Fideltour. Si todavía no existe, primero hay que crearlo con la API de Contactos.
No es necesario crear el interés antes: si no existe ninguno con ese nombre en la cadena, se crea automáticamente.
Métodos disponibles¶
- GET: consulta el catálogo de intereses de la cadena o, con el filtro
contact, los intereses de un contacto con su puntuación. - POST: asocia un interés a un contacto. Si el contacto ya tenía ese interés, actualiza su puntuación.
El ApiUser necesita los permisos contacts e interests.
Tabla de parámetros¶
Filtros (GET)¶
| Filtro | Tipo | Descripción |
|---|---|---|
contact |
Integer | ID del contacto en Fideltour. Si se indica, se devuelven los intereses de ese contacto; si no, el catálogo de intereses de la cadena |
name__iexact |
String | Nombre exacto del interés, sin distinguir mayúsculas y minúsculas (solo catálogo) |
name__icontains |
String | Intereses cuyo nombre contiene el texto (solo catálogo) |
category__iexact |
String | ID de la categoría del interés (solo catálogo) |
limit |
Integer | Número de resultados por página |
offset |
Integer | Posición desde la que se devuelven los resultados |
Los resultados se devuelven paginados (count, next, previous, results). Para pasar de página, usa limit y offset.
Cuerpo de la petición (POST)¶
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact |
Integer | Sí | ID del contacto en Fideltour |
name |
String | Sí | Nombre del interés (máximo 200 caracteres). Se busca sin distinguir mayúsculas y minúsculas; si no existe, se crea |
punctuation |
Integer | No | Puntuación o grado de afinidad del contacto con el interés |
category |
Integer | No | ID de la categoría del interés en Fideltour |
min_appearances |
Integer | No | Número mínimo de apariciones del interés |
min_likes |
Integer | No | Número mínimo de likes del interés |
Ejemplos¶
Petición (GET): Catálogo de intereses¶
PROTOCOLO: HTTP/1.1
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/interests/?name__icontains=golf
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta:
En caso de una respuesta 200, se recibe el siguiente JSON:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 30412,
"scope": 1,
"name": "Golf",
"min_appearances": 1,
"min_likes": 1,
"category": null
}
]
}
id: ID del interés en Fideltour.
Petición (GET): Intereses de un contacto¶
PROTOCOLO: HTTP/1.1
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/interests/?contact=11602828
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta:
En caso de una respuesta 200, se recibe el siguiente JSON:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 30412,
"name": "Golf",
"punctuation": 5
},
{
"id": 30415,
"name": "Gastronomía",
"punctuation": 2
}
]
}
id: ID del interés en Fideltour (el mismo que devuelve el catálogo y que aparece comotagen el POST).punctuation: puntuación del contacto en ese interés.
Petición (POST): Asociar un interés a un contacto¶
PROTOCOLO: HTTP/1.1
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/interests/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"contact": 11602828,
"name": "Golf",
"punctuation": 5
}
Respuesta:
En caso de una respuesta 201, se recibe la suscripción del contacto al interés:
{
"id": 845231,
"timestamp": "2026-10-14T10:15:42.120391",
"punctuation": 5,
"punctuation_modified": false,
"tag_source": 7,
"contact": 11602828,
"tag": 30412
}
id: ID de la suscripción al interés (no el del interés).tag: ID del interés en Fideltour.punctuation: puntuación actual.
Si el contacto ya tenía el interés con la misma puntuación, no se modifica nada y se devuelve la suscripción actual.
Errores:
400: en el POST, faltacontactoname; en el GET,contactno es un ID numérico.502: Fideltour no ha podido crear o actualizar el interés o la suscripción.