Obtener fichajes por producto

Endpoint deprecado. Se recomienda migrar a la nueva versión disponible aquí.

Contenido deprecado

Este endpoint devuelve los fichajes consolidados de un producto dentro de un periodo concreto no superior a 30 días.

GET /api/v1/business/{businessId}/product/{productId}/clockguards/from/{yyyy-MM-dd}/to/{yyyy-MM-dd}

Si los datos incluidos en la petición son correctos —tanto el businessId como el productId—, la respuesta contendrá los fichajes del producto con toda la información definida para ellos.

Los datos incluidos en la respuesta dependerán de la información que se haya enviado previamente asociada al registro.

A continuación, se exponen algunos ejemplos.

Ejemplos de respuesta

  • Ejemplo 1

  • Ejemplo 2

  • Ejemplo 3

Registros con toda la información posible, incluidos datos sobre la tarea donde se realizó el registro.

[
    {
        "employeeId": "1006351",
        "location": {
            "color": "#5fe7d5",
            "description": "Descarga diaria del camión",
            "name": "DESCARGA",
            "shortName": "TD",
            "requiredLevel": 3,
            "priority": 5,
            "maxResources": 2,
            "type": "FIXED",
            "shouldAvoidOvercover": true,
            "system": false,
            "category": "OPERATIVA",
            "product": "0001-G",
            "id": "8",
            "zone": "General"
        },
        "type": "WORK",
        "checkIn": "2024-05-10T07:00:00.000Z",
        "checkOut": "2024-05-10T09:00:00.000Z",
        "orquestId": 220030403
    },
    {
        "employeeId": "1006351",
        "location": {
            "color": "#5fe7d5",
            "description": "Descarga diaria del camión",
            "name": "DESCARGA",
            "shortName": "TD",
            "requiredLevel": 3,
            "priority": 5,
            "maxResources": 2,
            "type": "FIXED",
            "shouldAvoidOvercover": true,
            "system": false,
            "category": "OPERATIVA",
            "product": "0001-G",
            "id": "8",
            "zone": "General"
        },
        "type": "WORK",
        "checkIn": "2024-05-13T07:00:00.000Z",
        "checkOut": "2024-05-13T09:00:00.000Z",
        "orquestId": 220030404
    }
]

Registros solo con la información básica.

[
    {
        "employeeId": "1006350",
        "type": "WORK",
        "checkIn": "2024-05-10T07:00:00.000Z",
        "checkOut": "2024-05-10T12:00:00.000Z",
        "orquestId": 220030406
    },
    {
        "employeeId": "1006350",
        "type": "REST",
        "checkIn": "2024-05-10T10:00:00.000Z",
        "checkOut": "2024-05-10T10:30:00.000Z",
        "orquestId": 220030407
    },
    {
        "employeeId": "1006350",
        "type": "WORK",
        "checkIn": "2024-05-13T07:00:00.000Z",
        "checkOut": "2024-05-13T12:00:00.000Z",
        "orquestId": 220030408
    }
]

Si hay errores en el registro, por ejemplo, mismo tipo de fichaje (IN), la API devuelve los datos tal y como se han registrado:

[
    {
        "employeeId": "1006350",
        "type": "WORK",
        "checkIn": "2024-05-14T07:00:00.000Z",
        "orquestId": 220030409
    },
    {
        "employeeId": "1006350",
        "type": "WORK",
        "checkIn": "2024-05-14T12:00:00.000Z",
        "orquestId": 220030410
    }
]
Detalles
  • employeeId: identificador externo del empleado.

  • location: información de la tarea vinculada al fichaje, presente solo si el registro se hizo con tarea. Contiene los siguientes campos:

  • color: color configurado en Orquest para la tarea.

  • description: descripción de la tarea definida en Orquest.

  • name: nombre de la tarea en Orquest.

  • shortName: abreviatura de la tarea en Orquest.

  • requiredLevel: nivel de aptitud requerido para realizar la tarea. Va de 0 (sin necesidad de formación) a 3 (nivel máximo de formación) y debe ser previamente configurado en Orquest.

  • priority: prioridad de cobertura de la tarea. Va de 0 (baja) a 5 (alta) y debe ser previamente configurada en Orquest.

  • maxResources: límite de personas para la tarea.

  • type: tipo de tarea, si es fija, variable o no planificable (FIXED, VARIABLE, NON_PLANIFIABLE).

  • shouldAvoidOvercover: si este parámetro es true, la tarea no se sobrecubrirá.

  • system: determina si la tarea ha sido creada por el sistema (true) o por el usuario (false).

  • category: categoría de la tarea previamente configurada en Orquest.

  • product: identificador externo del producto o sección.

  • id: identificador externo de la tarea.

  • metadata: cualquier dato adicional que se haya configurado previamente para la tarea en Orquest. La estructura de los metadatos debe configurarse previamente.

  • zone: lugar físico del servicio (tienda, restaurante, etc.) donde se realiza la tarea.

  • type: tipo de actividad del fichaje (WORK, REST, OTHER).

  • checkIn: fecha y hora de entrada en UTC (yyyy-MM-ddTHH:mm:ss.SSSZ).

  • latIn: latitud de entrada.

  • lonIn: longitud de entrada.

  • deviceIn: identificador del dispositivo de fichaje de entrada.

  • checkOut: fecha y hora de salida en UTC (yyyy-MM-ddTHH:mm:ss.SSSZ).

  • latOut: latitud de salida.

  • lonOut: longitud de salida.

  • deviceOut: identificador del dispositivo de fichaje de salida.

  • comment: último comentario asociado al fichaje, si aplica.

  • orquestId: identificador interno del fichaje en Orquest.

Tal y como se aprecia en los ejemplos, esta petición devuelve los datos tal y como se han registrado, por lo que el nivel de detalle de la respuesta dependerá de los datos previamente enviados: por ejemplo, si el registro contiene el identificador del dispositivo de fichaje (device), la petición también devolverá esa información vinculada al registro.

Aspectos que tener en cuenta

Esta petición devuelve solo los fichajes consolidados.

La API devuelve los datos en orden de registro, en UTC y en formato yyyy-MM-ddTHH:mm:ss.SSSZ.

La respuesta contendrá los datos hasta la fecha indicada en el parámetro to, sin incluir los de ese día. Por ejemplo, si se consultan los fichajes hasta el día 2024-05-14, los datos del día 14 no aparecen en la respuesta.

El intervalo máximo permitido para la consulta es de 30 días. Si el período indicado en la URL es mayor, la solicitud devolverá un error 406 No aceptable.

Si no hay fichajes para el intervalo indicado en la URL, la petición devolverá un array vacío [].

Si el producto especificado en la URL no existe en el negocio, la petición devolverá un error 404 Not Found indicando not exists.

Enlaces de interés