Skip to main content

Lugares de marcación

GET: Obtener locaciones de una compañía​

Descripción del API
Este endpoint permite listar las locaciones asociadas a una compañía específica. Si el usuario no tiene permisos para acceder a la compañía, se devolverá un error.

Endpoint​

GET /api/locations

Parámetros de entrada​

AtributoRequeridoTipoDescripciónEjemplo
Sin parámetros de entrada

JSON de ejemplo (entrada)

{}

Parámetros de salida​

AtributoTipoDescripciónEjemplo
idintegerIdentificador único de la locación101
namestringNombre de la locación"Oficina Central"
addressstringDirección de la locación"Av. Falsa 123, Ciudad Inventada"
latitudefloatLatitud de la locación-15.783472
longitudefloatLongitud de la locación-47.929432
radiusintegerRadio en metros250
type_idintegerID del tipo de locación4
team_idintegerID del equipo asociado2020
user_home_idintegerID del usuario asociado a la locaciónnull
descriptionstringDescripción de la locación"Ubicación ficticia para pruebas"
request_change_idintegerID del cambio solicitadonull
created_attimestampFecha y hora de creación"2024-12-01T10:00:00.000Z"
updated_attimestampFecha y hora de última actualización"2024-12-04T15:30:00.000Z"
deleted_attimestampFecha y hora de eliminaciónnull

Códigos de respuesta HTTP​

  • 200 OK: Lista de locaciones recuperada con éxito.

JSON de ejemplo (salida)​

  • Respuesta 200 OK:
[
{
"id": 101,
"name": "Oficina Central",
"address": "Av. Falsa 123, Ciudad Inventada",
"latitude": -15.783472,
"longitude": -47.929432,
"radius": 250,
"type_id": 4,
"team_id": 2020,
"user_home_id": null,
"description": "Ubicación ficticia para pruebas",
"request_change_id": null,
"created_at": "2024-12-01T10:00:00.000Z",
"updated_at": "2024-12-04T15:30:00.000Z",
"deleted_at": null
},
{
"id": 102,
"name": "Bodega Norte",
"address": "Calle Inventada 456, Pueblo Fantasía",
"latitude": -16.786432,
"longitude": -48.922312,
"radius": 300,
"type_id": 5,
"team_id": 2020,
"user_home_id": 3033,
"description": "Almacén de soporte temporal",
"request_change_id": null,
"created_at": "2024-11-28T08:00:00.000Z",
"updated_at": "2024-12-02T13:00:00.000Z",
"deleted_at": null
}
]

POST: Crear una nueva locación​

Descripción del API
Este endpoint permite crear una nueva locación asociada a una compañía. Es necesario contar con los permisos correspondientes para realizar esta operación.

Endpoint​

POST /api/locations

Parámetros de entrada​

AtributoRequeridoTipoDescripciónEjemplo
nameSístringNombre de la locación"Oficina Central"
addressNostringDirección de la locación"Av. Falsa 123, Ciudad Inventada"
latitudeNofloatLatitud de la locación-15.783472
longitudeNofloatLongitud de la locación-47.929432
radiusSíintegerRadio en metros250
type_idSíintegerID del tipo de locación4

JSON de ejemplo (entrada)

{
"name": "Oficina Central",
"address": "Av. Falsa 123, Ciudad Inventada",
"latitude": -15.783472,
"longitude": -47.929432,
"radius": 250,
"type_id": 4
}

Parámetros de salida​

AtributoTipoDescripciónEjemplo
statusstringEstado del resultado de la operación"success"
messagestringMensaje informativo sobre la operación"Location created successfully"
idintegerIdentificador único de la nueva locación creada101

Código de respuesta HTTP​

  • 201 Created: Locación creada con éxito.

JSON de ejemplo (salida)​

{
"status": "success",
"message": "Ubicación guardada exitosamente.",
"id": 101
}

PUT: Modificar los datos de una locación existente​

Descripción del API
Este endpoint permite actualizar los datos de una locación existente. Si el usuario no tiene permisos para modificar la locación, se devolverá un error.

Endpoint​

PUT /api/locations/{id}

Parámetros de entrada​

AtributoRequeridoTipoDescripciónEjemplo
nameopcionalstringNombre de la locación"Oficina Central"
addressopcionalstringDirección de la locación"Av. Falsa 123, Ciudad Inventada"
latitudeopcionalfloatLatitud de la locación-15.783472
longitudeopcionalfloatLongitud de la locación-47.929432
radiusopcionalintegerRadio en metros250
type_idopcionalintegerID del tipo de locación4

JSON de ejemplo (entrada)

{
"name": "Oficina Central",
"address": "Av. Falsa 123, Ciudad Inventada",
"latitude": -15.783472,
"longitude": -47.929432,
"radius": 250,
"type_id": 4
}

Parámetros de salida​

AtributoTipoDescripciónEjemplo
statusstringEstado del resultado de la operación"success"
messagestringMensaje informativo sobre la operación"Location updated successfully"
idintegerIdentificador único de la locación actualizada101

Código de respuesta HTTP​

  • 200 OK: Locación actualizada con éxito.

JSON de ejemplo (salida)​

{
"status": "success",
"message": "Location updated successfully",
"id": 101
}

DELETE: Eliminar una locación​

Descripción del API
Este endpoint permite eliminar una locación existente. Si la locación no se encuentra o el usuario no tiene permisos para eliminarla, se devolverá un error.

Endpoint​

DELETE /api/locations/{id}

Parámetros de entrada​

AtributoRequeridoTipoDescripciónEjemplo
idRequeridointegerIdentificador único de la locación a eliminar101

JSON de ejemplo (entrada)

{}

Parámetros de salida​

AtributoTipoDescripciónEjemplo
statusstringEstado del resultado de la operación"success"
messagestringMensaje informativo sobre la operación"Location deleted successfully"

JSON de ejemplo (salida)​

{
"status": "success",
"message": "Location deleted successfully"
}