Crear o actualizar necesidades

Este endpoint permite actualizar o crear las necesidades de un día.

PUT /api/v1/businesses/{businessId}/products/{productId}/needs/{yyyy-MM-dd}

En la URL de la petición, deben especificarse los siguientes parámetros:

  • Identificador de negocio (businessId).

  • Identificador de producto o sección (productId).

  • Fecha para la que se crean o actualizan las necesidades en formato yyyy-MM-dd.

A continuación, se enumeran los campos que conforman 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
[
  {
    "startMinuteDay": 0,
    "duration": 0,
    "location": "string",
    "value": 0
  }
]
Detalles
  • startMinuteDay*: inicio de la necesidad en minutos a partir de las 00:00. Por ejemplo 600 para las 10:00.

  • duration*: duración del periodo de necesidad en minutos.

  • location*: identificador de la tarea vinculada a la necesidad.

  • value: número de personas necesarias para cubrir la necesidad.

Ejemplo de la petición

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

PUT /api/v1/businesses/BUSINESSID/products/PRODUCTID/needs/2024-07-19
[
  {
    "startMinuteDay": 600,
    "duration": 60,
    "location": "03",
    "value": 5
  },
  {
    "startMinuteDay": 540,
    "duration": 120,
    "location": "06",
    "value": 2
  }
]

Si todos los datos de la petición son correctos, se crearán las siguientes necesidades para el día 2024-07-19:

  • Tarea 03: 5 personas a las 10:00 con duración de una hora.

  • Tarea 06: 2 personas a las 9:00 con duración de dos horas.

Aspectos que tener en cuenta

La petición tiene en cuenta la zona horaria de servicio. Por tanto, si el servicio está en UTC+2, el campo startMinuteDay considerará ese huso horario.

Si no especifica un valor (value), la necesidad se elimina.

Si se envía un array vacío ([]), todas las necesidades para ese día se eliminan.

Si la tarea no está registrada en el catálogo de tareas del negocio o no tiene identificador externo, la petición devolverá un error 404 Not Found indicando Location not found.

Si no se envía cualquiera de los campos obligatorios, la petición devolverá un error 406 Not Acceptable indicando qué campo falta en el cuerpo de la petición.

Enlaces de interés

¿Qué son las necesidades?

¿Qué es el catálogo de tareas?