Añadir movimientos de bolsas

Este endpoint permite registrar movimientos de bolsas.

POST /api/v1/businesses/{businessId}/bagsMovements

A continuación, se expone una explicación detallada de cada uno de los campos que pueden conformar el cuerpo de la petición, siendo algunos de ellos obligatorios para que esta se realice de manera exitosa.

Los campos obligatorios están marcados con un asterisco (*).

Cuerpo de la petición

Análisis del JSON
[
  {
    "employeeId": "string",
    "originBagId": "string",
    "originDate": "string",
    "destinationBagId": "string",
    "destinationDate": "string",
    "value": 0,
    "reason": "string"
  }
]
Detalles
  • employeeId*: identificador del empleado al que se quiere asociar el movimiento.

  • originBagId: identificador de la bolsa de origen.

  • originDate: fecha de la bolsa de origen en formato yyyy-MM-dd.

  • destinationBagId*: identificador de la bolsa de destino.

  • destinationDate*: fecha de la bolsa de destino en formato yyyy-MM-dd.

  • value*: valor que se quiere transferir a la bolsa de destino.

  • reason: razón por la que se realiza el movimiento.

Ejemplo de la petición

Una vez realizado el análisis de los distintos campos, se muestra un ejemplo del cuerpo de la petición:

[
  {
    "employeeId": "1006349",
    "destinationBagId": "OT",
    "destinationDate": "2024-09-23",
    "value": 60,
    "reason": "Overtime adjustment"
  },
  {
    "employeeId": "1006357",
    "destinationBagId": "SW",
    "destinationDate": "2024-09-23",
    "value": 2,
    "reason": "Add sundays worked"
  }
]

Tal y como se puede ver en el ejemplo, se pueden registrar movimientos para diferentes empleados en la misma petición. También se pueden registrar movimientos para diferentes bolsas y no es necesario que haya una bolsa de origen.

Si la petición es exitosa (201 Created), los movimientos se verán reflejados en Planificación > Informe de bolsas.

Aspectos que tener en cuenta

Si una bolsa no tiene identificador externo definido en el sistema, no se podrá enviar ningún movimiento para esa bolsa.

La bolsa de origen (originBagId) puede ser cualquier bolsa existente en el negocio, incluida la propia bolsa de destino (destinationBagId).

El campo value depende de la configuración de la bolsa en el sistema. Así, si el tipo de dato es Valor numérico ("dataType": "NUMERIC"), la cantidad entera es la que se añadirá a la bolsa. Sin embargo, si el tipo de dato es Horas y minutos ("dataType": "TIME"), el valor se registrará en minutos ("value": 60 = 1 hora).

Si el identificador del empleado no se corresponde con ningún empleado del negocio, la petición devolverá un error 404 Not Found, indicando Person X does not exist.

Enlaces de interés

¿Qué es una bolsa?