API#
Documentación API REST para Construbot.
Descripción general#
Construbot proporciona una API REST creada con Django REST Framework para aplicaciones móviles e integraciones externas.
URL base: /api/v1/
Autenticación: JWT (tokens web JSON)
Formato: JSON
Inicio rápido#
1. Obtener ficha:
curl -X POST http://localhost:8000/api/v1/api-token-auth/ \\
-H "Content-Type: application/json" \\
-d '{"email":"user@example.com","password":"password"}'
# Response:
# {"access": "eyJ0...", "refresh": "eyJ0..."}
2. Usar ficha:
curl -H "Authorization: Bearer eyJ0..." \\
http://localhost:8000/api/v1/contracts/
3. Actualizar token:
curl -X POST http://localhost:8000/api/v1/api-token-refresh/ \\
-d '{"refresh":"eyJ0..."}'
Autenticación#
Fichas JWT:
Duración del token de acceso: 1 hora
Duración del token de actualización: 7 días
Los tokens rotan al actualizar
Formato de encabezado:
Authorization: Bearer <access_token>
Puntos finales:
POST /api/v1/api-token-auth/- Obtener par de tokensPOST /api/v1/api-token-refresh/- Actualizar token de accesoPOST /api/v1/api-token-verify/- Verificar la validez del token
Puntos finales API#
Contratos:
GET /api/v1/contracts/- Listar contratosPOST /api/v1/contracts/- Crear contratoGET /api/v1/contracts/:id/- Recuperar contratoPUT /api/v1/contracts/:id/- Actualizar contratoDELETE /api/v1/contracts/:id/- Eliminar contrato
Estimaciones:
GET /api/v1/estimates/- Lista de estimacionesPOST /api/v1/estimates/- Crear estimación
Contrapartes:
GET /api/v1/contrapartes/- Listar contrapartesPOST /api/v1/contrapartes/- Crear contraparte
Formato de respuesta#
Éxito (200):
{
"count": 100,
"next": "http://api.example.com/api/v1/contracts/?page=2",
"previous": null,
"results": [
{
"id": 1,
"folio": "C-001",
"company": 1,
"contraparte": "Acme Corp",
"monto": "1000000.00"
}
]
}
Error (400):
{
"detail": "Invalid input",
"errors": {
"folio": ["This field is required."]
}
}
Permisos#
Todos los puntos finales requieren autenticación.
Alcance de la empresa: Resultados filtrados por empresa_activa del usuario.
Niveles de permiso: Ver Niveles de permiso
Ver también#
Descripción general - Architecture
Modelos - Data models
Instalación - Development setup