Obtener aptitudes por servicio

Este endpoint devuelve las aptitudes de todos los empleados del servicio indicado en la petición.

GET /api/v1/businesses/{businessId}/services/{serviceId}/aptitudes

Si los datos incluidos en la petición son correctos —tanto el businessId como el serviceId—, la respuesta contendrá las aptitudes para cada empleado en todos los productos del servicio donde tenga alguna aptitud definida, detallando la siguiente información:

  • employeeId: identificador externo del empleado.

  • aptitudes: listado de aptitudes dentro del servicio para el empleado.

    • productId: identificador externo del producto o sección donde el empleado tiene definida la aptitud.

    • aptitudes: listado de aptitudes para el empleado dentro del producto o sección.

      • locationId: identificador externo de la tarea a la que hace referencia la aptitud.

      • level: nivel de competencia en dicha tarea en un rango de 0 (no competente) a 3 (experto).

      • zoneId: identificador externo de la zona.

A continuación, se muestra el fragmento de una respuesta como ejemplo:

[

    {
        "employeeId": "000",
        "aptitudes": [
            {
                "productId": "0001",
                "aptitudes": [
                    {
                        "locationId": "01",
                        "level": 3,
                        "zoneId": "P1"
                    },
                    {
                        "locationId": "01",
                        "level": 3,
                        "zoneId": "P2"
                    },
                    {
                        "locationId": "01",
                        "level": 3,
                        "zoneId": "General"
                    },
                    {
                        "locationId": "02",
                        "level": 3,
                        "zoneId": "General"
                    }
                ]
            }
        ]
    },
    {
        "employeeId": "001",
        "aptitudes": [
            {
                "productId": "0002",
                "aptitudes": [
                    {
                        "locationId": "02",
                        "level": 1,
                        "zoneId": "General"
                    }
                ]
            },
            {
                "productId": "0001",
                "aptitudes": [
                    {
                        "locationId": "01",
                        "level": 2,
                        "zoneId": "General"
                    },
                    {
                        "locationId": "01",
                        "level": 0,
                        "zoneId": "P1"
                    },
                    {
                        "locationId": "01",
                        "level": 2,
                        "zoneId": "P2"
                    }
                ]
            }
        ]
    }
]

Tal y como se aprecia en el ejemplo, si un empleado tiene aptitudes en varios productos, en la lista aparecerán todas ellas.

Aspectos que tener en cuenta

Los datos de los empleados que NO tengan configurado el identificador externo en el sistema no se incluirán en la respuesta.

Si un producto tiene varias zonas, la respuesta contendrá el nivel de competencia en cada una de ellas. Si se ha deshabilitado la aptitud para alguna de las zonas, en esta aparecerá "level": 0.

La respuesta incluye la información de todas las aptitudes que se hayan definido para cada empleado, incluso si las tareas han sido deshabilitadas posteriormente en el producto.

Si no hay aptitudes definidas para los empleados del servicio indicado, la petición devolverá un array vacío [].

Si el servicio indicado en la URL no existe en el negocio, la petición devolverá un error 404 Not Found, especificando en el mensaje not exits.

Enlaces de interés

¿Qué es una aptitud?

¿Qué es una tarea?