Consentimientos
Tabla de contenidos¶
Introducción¶
En este artículo hablamos sobre las peticiones de la API, relacionadas con los consentimientos obligatorios del Registro General de Protección de Datos (RGPD o GDPR en inglés), y como gestionarlos en los contactos.
- Crear consentimientos para un contacto
- Listar y filtrar consentimientos de uno o varios contactos
Se entiende por consentimientos: permisos concedidos, términos o comunicaciones aceptados, u otras nomenclaturas, donde el huésped decide si autoriza a la empresa a enviarle comunicaciones.
En Fideltour, se contemplan los siguientes consentimientos:
- Términos y condiciones (
T) - Comunicaciones comerciales (
C) - Comunicaciones comerciales personalizadas (
P) - Comunicaciones comerciales por WhatsApp (
WC) - WhatsApp habilitado (
WE) - Comunicaciones comerciales por SMS (
SC)
Endpoint: https://app.hoteldatahub.io/api/v1/consents/
Documentación Swagger: https://app.hoteldatahub.io/swagger/#/consents
Casos de uso¶
Este endpoint es necesario para cumplir con el RGPD y para la gestión de los diferentes tipos de consentimiento sobre los contactos en Fideltour. El endpoint de gestión de consentimientos requiere la existencia de contactos, nos permite consultar y añadir nuevos consentimientos a nuestros contactos.
Importante: Un consentimiento siempre va asociado a un contacto.
Es importante cumplir con el RGPD, por lo tanto, siempre que se disponga de la información o el dato donde se refleja si un contacto acepta o no alguno de los consentimientos nombrados, es conveniente añadir el consentimiento adecuado al contacto.
De este modo, nos aseguramos que el cliente está cumpliendo el RGPD al utilizar Fideltour y, no están llegando comunicaciones a contactos que no las hayan autorizado.
Métodos disponibles¶
Todos los métodos y filtros disponibles para trabajar con contactos se pueden consultar en la documentación Swagger. En este artículo nos centramos en los siguientes:
- GET: Consulta de datos de uno o varios consentimientos
- POST: Creación de un nuevo consentimiento
Tabla de parámetros¶
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
contact |
Integer | Sí | ID del contacto en Fideltour |
subscription_type |
String | Sí | Tipo de consentimiento: • T = Términos y condiciones• C = Comunicaciones comerciales• P = Comunicaciones comerciales personalizadas• WC = Comunicaciones comerciales por WhatsApp• WE = WhatsApp habilitado• SC = Comunicaciones comerciales por SMS |
change_type |
Integer | Sí | Estado del consentimiento desde la perspectiva HDH: • 1 = Acepta• 0 = No acepta> Nota: el valor se invierte internamente antes de enviarlo a Fideltour. La respuesta devuelve el valor almacenado en Fideltour (0=acepta, 1=rechaza), que es el opuesto al enviado. |
source |
Integer | Sí | Origen del consentimiento: • 1 = Web / Booking Engine• 2 = Wifi Login• 3 = Guest Portal / Concierge• 5 = PMS• 6 = Importación• 8 = Formulario (contact form, newsletter, landing)• 11 = Chatbot• 14 = Otros (Call Center, PMS Restaurante, PMS SPA, Intranet) |
unsubscribe_reason |
Integer | No | Motivo de baja (cuando change_type=0):• 1 = Motivo 1• 2 = Motivo 2• 3 = Motivo 3• 4 = Motivo 4• 5 = Motivo 5 |
ip |
String | No | Dirección IP desde donde se registró el consentimiento |
opt_in |
String | No | Tipo de opt-in: • S = Simple opt-in• D = Doble opt-in• P = Doble opt-in pendiente |
doble_opt_in_timestamp |
Datetime | No | Fecha de confirmación del doble opt-in. Formato: YYYY-MM-DDTHH:MM:SS |
doble_opt_in_ip |
String | No | IP de confirmación del doble opt-in |
Ejemplos¶
A continuación mostramos algunos ejemplos de crear y listar consentimientos.
Petición (POST): Creación de un consentimiento¶
Creación de un consentimiento para un contacto de Fideltour
PROTOCOLO: HTTP/1.1
MÉTODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/consents/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY:
{
"contact": 11602828,
"subscription_type": "C",
"change_type": 1,
"source": 1
}
Respuesta:
En caso de una respuesta 201, se recibe el siguiente JSON:
{
"id": 6069294,
"timestamp": "2023-11-13T13:29:15.469910",
"change_type": 0,
"subscription_type": "C",
"unsubscribe_reason": null,
"source": 0,
"ip": null,
"opt_in": "S",
"doble_opt_in_timestamp": null,
"doble_opt_in_ip": null,
"contact": 11602828
}
Petición (GET): Listar consentimientos de un contacto¶
Listamos los consentimientos de un contacto
PROTOCOLO: HTTP/1.1
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/consents/?contact=11602828
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
QUERY: Es obligatorio enviar por query el ID del contacto a través del atributo contact
Respuesta:
En caso de una respuesta 200, se recibe el siguiente JSON:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 6069294,
"timestamp": "2023-11-13T13:29:15.469910",
"change_type": 0,
"subscription_type": "C",
"unsubscribe_reason": null,
"source": 0,
"ip": null,
"opt_in": "S",
"doble_opt_in_timestamp": null,
"doble_opt_in_ip": null,
"contact": 11602828
}
]
}
Petición (GET): Obtener un consentimiento por su ID¶
Obtenemos un consentimiento por su ID
PROTOCOLO: HTTP/1.1
MÉTODO: GET
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/consents/<consent_id>/
HEADERS:
Content-type: application/json
Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Respuesta:
En caso de una respuesta 200, se recibe el siguiente JSON:
{
"id": 6069294,
"timestamp": "2023-11-13T13:29:15.469910",
"change_type": 0,
"subscription_type": "C",
"unsubscribe_reason": null,
"source": 0,
"ip": null,
"opt_in": "S",
"doble_opt_in_timestamp": null,
"doble_opt_in_ip": null,
"contact": 11602828
}