Overview
The PTE API provides endpoints to manage Technical Execution Projects, including listing PTEs with pagination and retrieving detailed information about specific PTEs.
Endpoints
List PTEs
curl -X GET "https://api.sascop-bme-subtec.com/operaciones/api/ptes/?pagina=1&elementos_por_pagina=10" \
-H "Cookie: sessionid=your_session_id"
Page number for pagination
Array of PTE objects Unique identifier for the PTE
Official PTE document number
Description of the work to be performed
Request date in YYYY-MM-DD format
Project manager responsible for the PTE
Status: 1=Active, 2=In Process, 3=Completed, 4=Cancelled
Total number of pages available
{
"ptes" : [
{
"id" : 1 ,
"oficio_pte" : "PTE-2024-001" ,
"descripcion_trabajo" : "Inspección de estructura submarina" ,
"fecha_solicitud" : "2024-01-15" ,
"responsable_proyecto" : "Ing. Juan Pérez" ,
"estatus" : 2
},
{
"id" : 2 ,
"oficio_pte" : "PTE-2024-002" ,
"descripcion_trabajo" : "Mantenimiento preventivo de plataforma" ,
"fecha_solicitud" : "2024-01-20" ,
"responsable_proyecto" : "Ing. María González" ,
"estatus" : 1
}
],
"total_paginas" : 5 ,
"pagina_actual" : 1
}
Get PTE Details
Retrieve detailed information about a specific PTE, including all steps and their status.
curl -X GET "https://api.sascop-bme-subtec.com/operaciones/api/ptes/1/" \
-H "Cookie: sessionid=your_session_id"
The unique identifier of the PTE
Unique identifier for the PTE
Official PTE document number
Detailed description of the work
Request date (YYYY-MM-DD)
PTE status (1=Active, 2=In Process, 3=Completed, 4=Cancelled)
Array of step details Delivery date (YYYY-MM-DD) or null
{
"id" : 1 ,
"oficio_pte" : "PTE-2024-001" ,
"descripcion_trabajo" : "Inspección de estructura submarina en plataforma Alfa" ,
"fecha_solicitud" : "2024-01-15" ,
"plazo_dias" : 30.0 ,
"responsable_proyecto" : "Ing. Juan Pérez" ,
"estatus" : 2 ,
"detalles" : [
{
"paso_descripcion" : "Revisión de documentación técnica" ,
"estatus_pte" : "Completado" ,
"fecha_entrega" : "2024-01-18" ,
"comentario" : "Documentación revisada y aprobada"
},
{
"paso_descripcion" : "Inspección visual submarina" ,
"estatus_pte" : "En Proceso" ,
"fecha_entrega" : null ,
"comentario" : "Programado para la próxima semana"
},
{
"paso_descripcion" : "Elaboración de informe final" ,
"estatus_pte" : "Pendiente" ,
"fecha_entrega" : null ,
"comentario" : ""
}
]
}
Source Code Reference
The PTE API endpoints are implemented in:
URL Configuration (operaciones/urls.py:177-179)
path( 'api/ptes/' , api.api_ptes, name = 'api_ptes' ),
path( 'api/ptes/<int:pte_id>/' , api.api_pte_detalle, name = 'api_pte_detalle' ),
View Implementation (operaciones/views/api.py:26-82)
@login_required ( login_url = '/accounts/login/' )
def api_ptes ( request ):
"""API para lista de PTE con paginación"""
pagina = request. GET .get( 'pagina' , 1 )
elementos_por_pagina = request. GET .get( 'elementos_por_pagina' , 10 )
ptes_list = PTEHeader.objects.all().order_by( '-fecha_solicitud' )
paginator = Paginator(ptes_list, elementos_por_pagina)
try :
ptes = paginator.page(pagina)
except :
ptes = paginator.page( 1 )
ptes_data = []
for pte in ptes:
ptes_data.append({
'id' : pte.id,
'oficio_pte' : pte.oficio_pte,
'descripcion_trabajo' : pte.descripcion_trabajo,
'fecha_solicitud' : pte.fecha_solicitud.strftime( '%Y-%m- %d ' ),
'responsable_proyecto' : pte.responsable_proyecto,
'estatus' : pte.estatus,
})
return JsonResponse({
'ptes' : ptes_data,
'total_paginas' : paginator.num_pages,
'pagina_actual' : ptes.number,
})
See PTE Models for complete data model documentation.