Crear un servicio

Este endpoint permite crear un nuevo servicio dentro del negocio.

POST /api/v2/businesses/{businessId}/services

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
{
  "newServiceOuterId": "string",
  "newServiceName": "string",
  "copyFromServiceOuterId": "string",
  "timeZone": "string",
  "firstDayOfWeek": 1,
  "parentOuterId": "string"
}
Detalles
  • newServiceOuterId: identificador externo del nuevo servicio. Aunque no sea obligatorio, se recomienda establecerlo para que pueda ser utilizado en operaciones posteriores de integración. Debe ser único en el negocio.

  • newServiceName*: nombre del nuevo servicio.

  • copyFromServiceOuterId: identificador externo del servicio que se tomará como referencia en caso de realizar una copia.

  • timeZone*: zona horaria en la que se creará el servicio. Es obligatorio indicar un TZ identifier de esta lista.

  • firstDayOfWeek*: primer día de la semana. Es obligatorio incluir un valor del 1 (lunes) al 7 (domingo).

  • parentOuterId*: identificador externo del nodo al que se vinculará el servicio.

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:

{
    "newServiceOuterId": "1327",
    "newServiceName": "STORE 1327",
    "timeZone": "Africa/Freetown",
    "firstDayOfWeek": 1,
    "copyFromServiceOuterId": "0001",
    "parentOuterId": "PN"
}

Consideraciones

Si se envía el campo copyFromServiceOuterId, se copian todas las entidades dependientes del servicio que se haya indicado como referencia: productos, localizaciones, zonas, límite de empleados, plantillas de necesidades, distribución de empleados, horarios de servicio, parámetros de servicio, regulaciones, roles de empleado, etc.

Códigos de error

Además de los errores comunes, este endpoint puede devolver los siguientes códigos:

Código Mensaje Descripción

400 Bad Request

newServiceName must not be empty

Falta el campo newServiceName. El literal viaja en el campo cause; el campo message añade además el nombre del parámetro afectado entre corchetes.

Invalid TimeZone

El campo timeZone falta o no es un identificador de zona horaria válido. Mismo matiz de campo que la fila anterior.

Invalid firstDayOfWeek. Must be an integer between 1 (monday) and 7 (sunday)

El campo firstDayOfWeek falta o no tiene un valor entre 1 y 7. Mismo matiz de campo que las filas anteriores.

parentOuterId must not be empty

Falta el campo parentOuterId. Mismo matiz de campo que las filas anteriores.

-

El cuerpo de la petición no tiene un formato JSON válido.

404 Not Found

Node not found

El parentOuterId indicado no coincide con ningún nodo configurado en el negocio.

Node not found

El copyFromServiceOuterId indicado no coincide con ningún servicio configurado en el negocio.

409 Conflict

ID already exists

El newServiceOuterId indicado ya existe en el negocio. Se recomienda usar un identificador distinto.

-

Se ha producido un conflicto al crear el servicio. Se recomienda revisar que los datos enviados no violen ninguna restricción de integridad.

Enlaces de interés

¿Qué es un servicio?

¿Qué es un nodo?