Subcontratistas¶
Los subcontratistas son empresas o personas externas que pueden asignarse a Jobs. Se administran a nivel de inquilino y pueden asignarse a varios Jobs.
Acceso¶
| Action | Allowed Roles |
|---|---|
| Ver lista / detalle | Owner, PM, Accounting, Platform Admin |
| Crear / editar | Owner, PM, Platform Admin |
| Eliminar | Owner, PM, Platform Admin |
Endpoints de la API¶
Listar subcontratistas¶
GET /{slug}/api/v1/subcontractors/
Devuelve una lista paginada (25 por página, máximo 100).
Parámetros de consulta:
| Parameter | Description |
|---|---|
search |
Filtrar por nombre (contiene, sin distinguir mayúsculas) |
ordering |
Ordenar por name, -name, created_at, -created_at (predeterminado: name) |
page_size |
Tamaño de página (máximo 100) |
Sobre de respuesta:
{
"count": 12,
"next": "...",
"previous": null,
"results": [
{
"id": "uuid",
"name": "ABC Electrical",
"phone": "312-555-0100",
"email": "[email protected]",
"specialty": "Electrical",
"notes": "",
"created_at": "2026-01-15T10:00:00Z"
}
]
}
Crear subcontratista¶
POST /{slug}/api/v1/subcontractors/
{
"name": "ABC Electrical",
"phone": "312-555-0100",
"email": "[email protected]",
"specialty": "Electrical",
"notes": "Preferred vendor for commercial projects"
}
Solo name es obligatorio.
Obtener / actualizar¶
GET /{slug}/api/v1/subcontractors/{id}/PATCH /{slug}/api/v1/subcontractors/{id}/PUT /{slug}/api/v1/subcontractors/{id}/
Eliminar¶
DELETE /{slug}/api/v1/subcontractors/{id}/
Las eliminaciones son eliminación lógica — el registro se marca como eliminado y se oculta de listas y detalles, pero permanece en la base de datos para auditoría.
Asignar subcontratistas a Jobs¶
Una vez existe el subcontratista, puede asignarse a un Job:
POST /{slug}/api/v1/jobs/{job-id}/assign_subcontractor/
{ "subcontractor_id": "uuid" }
Vea Jobs para la administración completa de asignaciones.