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
namestringNombre 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
radiusintegerRadio en metros250
type_idintegerID 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"
}