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:
- Consentimineto o aceptación de términos y condiciones
- Consentimiento de comunicaciones comerciales
- Consentimiento de comunicaciones comerciales personalizadas
El endpoint que utilizamos es: https://app.hoteldatahub.io/api/v1/consents/ y el apartado de Swagger es: 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 aquí.
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:
Ejemplos:
A continuación mostramos algunos ejemplos de crear y listar consentimientos.
Petición (POST):
Creación de un consentimiento para un contacto de Fideltour
PROTOCOLO: HTTP/1.1
METODO: POST
HOST/ENDPOINT: https://app.hoteldatahub.io/api/v1/consents/
HEADERS:
- Content-type: application/json
- Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BODY: se añade un ejemplo a continuación.
- {
- "contact":11602828,
- "subscription_type": "C",
- "change_type": 1,
- "source": 0
- }
Respuesta:
En caso de una respuesta 200 o 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):
Listamos los consentimientos de un contacto
PROTOCOLO: HTTP/1.1
METODO: 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 o 201, 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):
Obtenemos un consentimiento por su ID
PROTOCOLO: HTTP/1.1
METODO: 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 o 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
- }