Base operativa
Usa siempre:https://api.raul.ugps.io
api.ugps.io.
IDs y tipos comunes
- Los identificadores principales suelen ser UUID.
- Muchos modulos legacy usan
snake_case. - Algunos filtros pueden venir como
stringaunque semanticamente representen boolean o numero.
Paginacion
En listados grandes:- prefiere endpoints
paginated - cuando exista, prefiere cursor pagination sobre offset pagination
GET /api/v1/client/all/paginatedGET /api/v1/contact/all/paginatedGET /api/v1/gps_details/all/cursorGET /api/v1/subscription_details/all/cursor
Filtros y ordenamiento
Campos frecuentes:pagelimitsearchsortorder
- no envies filtros vacios
- usa
ascodescsolo cuando el endpoint lo soporte - valida si el backend espera string, boolean o number
Fechas y horas
- Prefiere formato ISO cuando el endpoint reciba fechas.
- Si un campo representa fecha sin hora, no asumas timezone implicito.
- Para integraciones, trata siempre fecha y fecha-hora como tipos distintos.
Uploads
Hay endpoints con carga de archivos, por ejemplo:- avatars de usuario
- logos de cliente
- fotos de contacto
- fichas tecnicas PDF de modelos GPS
- valida formato permitido
- valida tamano
- no asumas que todos los uploads comparten la misma respuesta
Rutas RESTful vs legacy
Cuando existan ambas:- prefiere
/resource/{id}sobre/resource/get/{id} - prefiere rutas sin verbos
create,update,delete - deja la legacy solo para consumidores existentes
Alias funcionales
Algunos modulos tienen endpoints equivalentes:/gps_details/...y/gps/.../vehicle/...y algunos flujos deasset
Seguridad
- Respeta
securitydefinido por OpenAPI. - No asumas que todos los endpoints requieren token.
- Si una operacion devuelve
401, intenta refresh solo una vez.
Recomendaciones operativas
- Usa la pestaña API para contrato exacto.
- Usa las guias editoriales para elegir la ruta correcta.
- Si debes integrar modulos legacy, documenta internamente por que no usas la ruta RESTful.