En este apartado se abordan los aspectos más destacables sobre la creación, consulta de datos e integración de usuarios ya existentes en el dominio del cliente.
En el objeto User destacan los siguientes atributos:
HTTP/1.1 200 OK
{
"data": {
"id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"name": "Pepe Zalt",
"surname1":"apellio uno",
"surname2":"apellio dos",
"email": "pepezalt@mail.dev",
"doc_num": null,
"phone": null,
"gender": 1,
"birth": null,
"created_at": {
"date": "2016-12-23 20: 01: 34.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"height": 180,
"weight": 87.88,
"location": {
"data": {
"object": "Location",
"id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"country_id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"region_id": "ehfsmzoq0j75lgajgvrp4ayenbdx9mk",
"town_id": "lwo83mzoq0j75lgajgvrp4ayenbdx9mk",
"postal_code_id": "poq82mzoq0j75lgajgvrp4ayenbdx9mk",
"postal_code": "46010",
"via_id": "pnn34mzoq0j75lgajgvrp4ayenbdx9mk",
"address": "Castellana",
"number": "12",
"doorway": null,
"floor": "5",
"door_number": "A",
"extra": null,
"full_address": "Paseo de la Castellana 150, 1C, 28046, Madrid, España",
"latitude": "40.427742",
"longitude": "-3.689237",
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"real_id": 3,
"deleted_at": null
}
},
"phones": [
{
"object": "Phone",
"id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"country_id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"number": "666559988",
"tag": "es",
"is_main": 1,
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"real_id": 3,
"deleted_at": null
},
{
"object": "Phone",
"id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"country_id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"number": "666559988",
"tag": "es",
"is_main": 1,
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"real_id": 3,
"deleted_at": null
}
],
"emails": [
{
"object": "Email",
"id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"email": "paco@perez.es",
"tag": "Personal",
"is_main": 1,
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"real_id": 3,
"deleted_at": null
},
{
"object": "Email",
"id": "oe6k3mzoq0j75lgajgvrp4ayenbdx9mk",
"email": "paco@perez.es",
"tag": "Personal",
"is_main": 1,
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"real_id": 3,
"deleted_at": null
}
]
}
}
https://developers.gadaca.com/#api-Users-UserPost
En este punto y para algunas integraciones, puede ser de especial interés el objeto insurers_data que contiene un array de: insurer_id(identificador aseguradora) e insured_id(número de póliza del usuario para esa aseguradora).
El servicio de creación de usuarios está bien documentado en la API pero cabe reseñar un error común de validación que puede ocurrir que es que el documento del usuario (y por lo tanto el propio usuario), ya exista en el sistema. En este caso, se puede utilizar el servicio de recuperar el usuario por su documento y utilizar el id de dicho usuario para añadirlo al dominio del cliente.
Retorna un objeto completo de tipo usuario.
https://developers.gadaca.com/#api-Users-UserGet
Obtener información del usuario por su ID.
Retorna un objeto completo de tipo usuario.
En esta solicitud, hay varios includes o relaciones que se pueden solicitar, utilizando el parámetro "include" en la petición y se incluirán introduciendo un campo con el nombre del include a la respuesta indicada anteriormente, siendo de especial interés:
https://developers.gadaca.com/#api-Users-UserGetByDocNum
Obtener información del usuario por su documento de identidad.
Retorna un objeto completo de tipo usuario.
Se podrán obtener los mismos includes descritos anteriormente.
https://developers.gadaca.com/#api-Users-UserDomainListPost
Añade un usuario existente al dominio indicado. El id del dominio se puede obtener con el servicio de recuperación de información del dominio que se explicará a continuación.
Un dominio en el cloud de Gadaca es un contenedor privado de recursos (servicios, asistencias, información médica de usuarios, etc…). En el caso de usuarios ya existentes en el sistema en otros dominios (se encuentran por documento de identidad), se podrán integrar en su dominio propio, pero sus datos (nombre, apellidos, etc…) no podrán ser modificados.
Un cliente de la API está vinculado a un dominio, que es para el que obtiene acceso al autenticarse.
Los dominios se organizan en una estructura jerárquica de árbol, de manera que se puedan gestionar los datos de varios dominios desde otro dominio con una jerarquía superior.
En el objeto Domain destacan los siguientes atributos:
Retorna un objeto completo de tipo usuario.
https://developers.gadaca.com/#api-Domains-DomainCurrentGet
Obtener información del dominio del cliente autenticado.
Respuesta:
HTTP/1.1 200 OK
{
"data": {
"object": "Domain",
"id": "xopxon45qlekj78m9gzy0avdbr96m37n",
//Insert Parameters
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
}
}
}
Este apartado será únicamente para las integraciones con aseguradoras que quieran asociar us pólizas a los usuarios de homedoctor. El parámetro "insurer_id" utilizado para este endpoint, será proporcionado por homedoctor con el resto de documentación a entregar para la integración.
https://developers.gadaca.com/#api-Insurers-InsuredPost
Respuesta:
HTTP/1.1 200 OK
{
"data": {
"object": "Insured",
"id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"distributor_name": "Gadaca Distribuidora de Seguros",
"insured_id": "45010601020-B234",
"insurer_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"is_verified": 1,
"renewal_at_day": 15,
"renewal_at_month": 1,
"user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
}
}
}
https://developers.gadaca.com/#api-Insurers-InsuredListGet
Los parámetros que principalmente se usarán en las integraciones son:
Respuesta:
HTTP/1.1 200 OK
{
"data": [
{
"object": "Insured",
"id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"distributor_name": "Gadaca Distribuidora de Seguros",
"insured_id": "45010601020-B234",
"insurer_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"is_verified": 1,
"renewal_at_day": 15,
"renewal_at_month": 1,
"user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
}
},
{
"object": "Insured",
"id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"distributor_name": "Gadaca Distribuidora de Seguros",
"insured_id": "45010601020-B234",
"insurer_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"is_verified": 1,
"renewal_at_day": null,
"renewal_at_month": 1,
"user_id": "xopxon45qlekj78m9gzy0avdbr96m37n",
"created_at": {
"date": "2017-04-09 12:02:46.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
},
"updated_at": {
"date": "2017-06-26 21:00:02.000000",
"timezone_type": 3,
"timezone": "Europe/Madrid"
}
}
],
"meta": {
"pagination": {
"total": 2,
"count": 2,
"per_page": 20,
"current_page": 1,
"total_pages": 1,
"links": []
}
}
}