Obtener asignaciones por producto

Este endpoint devuelve las asignaciones de un producto dentro de un periodo de tiempo no superior a 31 días.

GET /api/v2/business/{businessId}/products/{productId}/assignments/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á las asignaciones del producto para ese periodo.

A continuación, se muestra un fragmento de respuesta:

[
    {
        "product": "0001-G",
        "blockedType": "NONE",
        "person": "1006352",
        "day": "2024-09-17",
        "presence": {
            "worked": false,
            "timeFrames": [
                {
                    "startMinuteDay": 0,
                    "duration": 1440,
                    "paid": false,
                    "worked": false
                }
            ]
        }
    },
    {
        "product": "0001-G",
        "blockedType": "NONE",
        "person": "222",
        "day": "2024-09-16",
        "presence": {
            "worked": true,
            "timeFrames": [
                {
                    "startMinuteDay": 525,
                    "duration": 60,
                    "paid": true,
                    "location": {
                        "color": "#5fe7d5",
                        "description": "Daily truck unloading",
                        "name": "Unloading",
                        "shortName": "DTU",
                        "requiredLevel": 3,
                        "priority": 5,
                        "maxResources": 2,
                        "type": "FIXED",
                        "shouldAvoidOvercover": true,
                        "system": false,
                        "category": "OPERATIONAL",
                        "product": "0001-G",
                        "id": "08"
                    },
                    "worked": true
                },
                {
                    "startMinuteDay": 600,
                    "duration": 300,
                    "paid": true,
                    "location": {
                        "color": "#007dea",
                        "name": "Fitting rooms",
                        "shortName": "FR",
                        "requiredLevel": 1,
                        "priority": 5,
                        "maxResources": 3,
                        "type": "VARIABLE",
                        "shouldAvoidOvercover": false,
                        "system": false,
                        "category": "OPERATIONAL",
                        "product": "0001-G",
                        "id": "07"
                    },
                    "worked": true
                }
            ]
        }
    }
]

La primera asignación del ejemplo se corresponde con un día de descanso, ya que el campo worked de la presencia es false. Además, solo tiene un timeFrame sin tarea asociada, cuya duración es del día completo y tanto el campo paid como el campo worked también aparecen como false.

En la segunda asignación del ejemplo, el campo worked de la presencia es true y se indican las características de las tareas desempeñadas por el empleado en cada timeFrame. El nivel de detalle de la respuesta dependerá de la configuración que se haya establecido en el negocio para las diferentes tareas.

Aspectos que tener en cuenta

Si no hay asignaciones para el periodo de tiempo indicado, la petición devolverá un array vacío [].

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

Si el intervalo indicado en la URL es superior a 30 días, la petición devolverá un error 406 Not Acceptable, especificando en el mensaje The request exceded the maximum number of days allowed.

Enlaces de interés

¿Qué es una asignación?

¿Qué es una tarea?