Antes de empezar
Usa siempre la API productiva publicada en:- Base URL:
https://api.raul.ugps.io - OpenAPI JSON:
https://api.raul.ugps.io/api/openapi.json
Flujo 1: autenticar y validar sesion
Usa este flujo al iniciar una integracion o antes de operar con endpoints protegidos.- Haz login con
POST /api/auth/login. - Guarda el
tokencomo Bearer JWT. - Consulta
GET /api/auth/users/mepara validar identidad y permisos. - Renueva sesion con
POST /api/auth/refreshcuando expire el access token.
Flujo 2: crear un cliente y registrar direccion
Este flujo sirve para alta basica de cliente comercial.- Crea el cliente con
POST /api/v1/client. - Si necesitas branding, sube logo con
POST /api/v1/client/{id}/logo. - Agrega direccion con
POST /api/v1/clients/{clientId}/addresses. - Consulta
GET /api/v1/clients/{clientId}/addressespara verificar agrupacion por ciudad.
Recomendaciones
- Usa
GET /api/v1/client/all/paginatedpara backoffice o listados amplios. - Trata varios campos de cliente como
snake_case.
Flujo 3: crear contacto y asociarlo al cliente
Usa este flujo cuando el cliente ya existe y necesitas registrar interlocutores.- Crea el contacto con
POST /api/v1/contact/createoPOST /api/v1/contact/create-for-client. - Si el contacto nace separado, asocialo con
POST /api/v1/contact/associate-to-client. - Consulta roles funcionales con
GET /api/v1/contact/{contactId}/clients/{clientId}/functional-roles. - Actualiza roles con
PUT /api/v1/contact/{contactId}/clients/{clientId}/functional-roles. - Si detectas duplicados, revisa
GET /api/v1/contact/merge-previewantes dePOST /api/v1/contact/merge.
Recomendaciones
- Usa
GET /api/v1/contact/by-client/{clientId}para vistas por cliente. - Usa
GET /api/v1/contact/all/paginatedcuando el volumen sea alto.
Flujo 4: registrar un equipo GPS
Este flujo cubre el alta y consulta operativa de un GPS.- Revisa catalogos necesarios: modelos, marcas, categorias, plataformas y estados.
- Crea el equipo con
POST /api/v1/gps_details/create. - Consulta el detalle por
GET /api/v1/gps_details/{gps_details_id}. - Usa
GET /api/v1/gps_details/related-data/{gps_details_id}para contexto ampliado. - Si necesitas reportes o tableros, usa
GET /api/v1/gps_details/summaryyGET /api/v1/gps_details/count.
Recomendaciones
- Para lotes grandes, prefiere
GET /api/v1/gps_details/all/cursor. - Considera
/api/v1/gps/...y/api/v1/gps_details/...como alias funcionales cuando existan ambos.
Flujo 5: crear y mover suscripciones
Este flujo aplica cuando el GPS o servicio ya requiere plan comercial asociado.- Consulta planes con
GET /api/v1/subscription_plan/all. - Crea la suscripcion con
POST /api/v1/subscription_details/create. - Revisa estado y resumen con
GET /api/v1/subscription_details/get/{subscription_detail_id}yGET /api/v1/subscription_details/summary. - Si corresponde, asigna a cliente hijo con
POST /api/v1/subscription_details/assign-to-child. - Si hay cambio de titularidad, usa
POST /api/v1/subscription_details/transfer. - Si una cancelacion fue incorrecta, evalua
POST /api/v1/subscription_details/{id}/revert-cancellation.
Recomendaciones
- Usa
GET /api/v1/subscription_details/client/{client_id}para vistas centradas en cliente. - Para data masiva, prefiere endpoints paginados o cursor.
Manejo de rutas legacy
Si encuentras dos endpoints con el mismo objetivo:- Prefiere rutas sin verbos como
get,create,updateodelete. - Prefiere recursos por ID con
/{id}frente a/get/{id}. - Deja la ruta legacy solo para compatibilidad con consumidores existentes.