Appearance
Procesos de Adquisición Adjudicados
Este módulo de la API permite consultar los procesos de contratación que han alcanzado el estado de adjudicación, siguiendo un flujo optimizado en dos pasos:
- Listado / Búsqueda: Obtener un listado ligero y plano de procesos adjudicados.
- Detalle Completo: Obtener la información íntegra del proceso y de la propuesta ganadora (incluyendo ítems cotizados con marca, modelo y precios finales) mediante el identificador (
id).
1. Listar Adquisiciones Adjudicadas
Retorna la lista paginada y filtrable de procesos de adquisición adjudicados en una estructura plana y compacta, óptima para sincronizaciones periódicas y visualización en tablas.
Definición HTTP
http
GET https://api.certiprov.com/api/Integrations/Adquisicion/adjudicadasParámetros de Consulta (Query Parameters)
Todos los parámetros son opcionales:
| Parámetro | Tipo | Descripción | Ejemplo |
|---|---|---|---|
search | string | Filtra por código de adquisición, nombre del proceso o RUC / Razón Social del proveedor adjudicado. | search=Laptops |
fechaDesde | string (fecha) | Fecha mínima de adjudicación o creación en formato YYYY-MM-DD. | fechaDesde=2026-01-01 |
fechaHasta | string (fecha) | Fecha máxima de adjudicación o creación en formato YYYY-MM-DD. | fechaHasta=2026-12-31 |
empresaId | int | ID de la empresa compradora (aplica únicamente con API Key de Sistema). | empresaId=5 |
sortColumn | string | Campo para ordenar (CreatedAt, Nombre, Codigo, etc.). Por defecto: CreatedAt. | sortColumn=CreatedAt |
sortOrder | string | Dirección del ordenamiento: asc (ascendente) o desc (descendente). Por defecto: desc. | sortOrder=desc |
page | int | Número de página a consultar. Por defecto: 1. | page=1 |
pageSize | int | Cantidad de registros por página. Por defecto: 10. | pageSize=20 |
all | bool | Si es true, omite la paginación y retorna todos los registros coincidentes. Por defecto: false. | all=true |
Ejemplo de Respuesta (200 OK)
json
{
"items": [
{
"id": 105,
"codigo": "ADQ-2026-0042",
"nombre": "Adquisición de Equipos de Cómputo para TI",
"descripcion": "Renovación de estaciones de trabajo de alto rendimiento",
"tipo": "ADJUDICACION_UNICA",
"estado": "ADJUDICACION",
"presupuestoEstimado": 45000.00,
"porcentajeIva": 15.00,
"fechaCreacion": "2026-08-10T14:30:00Z",
"fechaAdjudicacion": "2026-08-20T18:00:00Z",
"empresaId": 12,
"empresaRuc": "1790012345001",
"empresaRazonSocial": "Empresa Compradora S.A.",
"proveedorRuc": "1791234567001",
"proveedorRazonSocial": "Tech Supplies Distribuciones S.A.",
"montoAdjudicado": 38000.00,
"montoOriginal": 40000.00,
"montoAhorrado": 2000.00,
"puntajeEvaluacion": 96.50
}
],
"page": 1,
"pageSize": 10,
"totalCount": 1,
"hasNextPage": false,
"hasPreviousPage": false
}2. Obtener Detalle Completo de una Adquisición Adjudicada
Utilizando el id obtenido en el listado, este endpoint retorna la información completa y jerárquica del proceso, datos de la empresa compradora, responsable y la propuesta ganadora con el desglose de ítems cotizados.
Definición HTTP
http
GET https://api.certiprov.com/api/Integrations/Adquisicion/{id}/adjudicadaParámetros de Ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
id | int | Identificador único del proceso de adquisición (id). |
Ejemplo de Respuesta (200 OK)
json
{
"id": 105,
"codigo": "ADQ-2026-0042",
"nombre": "Adquisición de Equipos de Cómputo para TI",
"descripcion": "Renovación de estaciones de trabajo de alto rendimiento",
"tipo": "ADJUDICACION_UNICA",
"estado": "ADJUDICACION",
"presupuestoEstimado": 45000.00,
"porcentajeIva": 15.00,
"fechaCreacion": "2026-08-10T14:30:00Z",
"fechaAdjudicacion": "2026-08-20T18:00:00Z",
"comentariosAdjudicacion": "Adjudicado por mejor oferta técnica y económica.",
"empresa": {
"id": 12,
"ruc": "1790012345001",
"razonSocial": "Empresa Compradora S.A.",
"email": "compras@empresa.com",
"telefono": "+593 2 2345678"
},
"responsableProceso": {
"id": 8,
"nombre": "Juan Pérez",
"email": "juan.perez@empresa.com",
"telefono": "+593 99 1234567"
},
"items": [
{
"id": 201,
"nombre": "Laptop Corporativa Core i7",
"descripcion": "Procesador Intel i7, 32GB RAM, 1TB SSD NVMe",
"cantidad": 20.00,
"cantidadUnidadMedida": "Unidades",
"esServicio": false,
"presupuestoEstimado": 2000.00
}
],
"propuestaAdjudicada": {
"id": 512,
"estado": "ADJUDICADA",
"fechaEnvio": "2026-08-15T10:00:00Z",
"fechaAdjudicacion": "2026-08-20T18:00:00Z",
"comentariosAdjudicacion": "Propuesta seleccionada como ganadora",
"proveedor": {
"ruc": "1791234567001",
"razonSocial": "Tech Supplies Distribuciones S.A.",
"actividadEconomica": "Venta al por mayor de computadoras y software",
"email": "ventas@techsupplies.com",
"telefono": "+593 2 3998877",
"nombreContacto": "Carlos Ramos",
"cargoContacto": "Gerente de Cuentas Corporativas",
"emailContacto": "carlos.ramos@techsupplies.com",
"telefonoContacto": "+593 98 7654321"
},
"totales": {
"precioTotalFinal": 38000.00,
"precioTotalOriginal": 40000.00,
"ahorroNegociado": 2000.00,
"totalEvaluacion": 96.50,
"puntajeEvaluacionTecnica": 48.50,
"puntajeEvaluacionEconomica": 48.00,
"puntajeEvaluacionDocumental": 0.00,
"puntajeEvaluacionMejora": 0.00
},
"items": [
{
"id": 810,
"adquisicionBienServicioId": 201,
"nombre": "Laptop ThinkPad T14 Gen 4",
"descripcion": "Intel Core i7 13th Gen, 32GB DDR5, 1TB SSD",
"cantidad": 20.00,
"precioUnitario": 2000.00,
"precioNegociacion": 1900.00,
"precioFinal": 1900.00,
"precioTotalFinal": 38000.00,
"esServicio": false,
"marca": "Lenovo",
"modelo": "ThinkPad T14",
"anio": "2024",
"observaciones": "Garantía de 3 años On-Site"
}
]
}
}3. Ejemplos de Implementación del Flujo Completo
cURL
bash
# 1. Obtener listado de procesos adjudicados
curl -X GET "https://api.certiprov.com/api/Integrations/Adquisicion/adjudicadas?page=1&pageSize=10" \
-H "x-api-key: cp_live_tu_api_key_aqui"
# 2. Consultar el detalle del proceso con Id 105
curl -X GET "https://api.certiprov.com/api/Integrations/Adquisicion/105/adjudicada" \
-H "x-api-key: cp_live_tu_api_key_aqui"JavaScript / TypeScript (Fetch)
javascript
const BASE_URL = 'https://api.certiprov.com/api/Integrations/Adquisicion';
const API_KEY = 'cp_live_tu_api_key_aqui';
const headers = {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
};
async function consultarProcesosYDetalle() {
try {
// 1. Obtener listado plano
const listResponse = await fetch(`${BASE_URL}/adjudicadas?page=1&pageSize=10`, { headers });
const listData = await listResponse.json();
console.log(`Procesos encontrados: ${listData.totalCount}`);
// 2. Si hay procesos, consultar el detalle del primero
if (listData.items.length > 0) {
const primerProcesoId = listData.items[0].id;
const detailResponse = await fetch(`${BASE_URL}/${primerProcesoId}/adjudicada`, { headers });
const detailData = await detailResponse.json();
console.log('Detalle de adjudicación:', detailData);
console.log('Items cotizados por el ganador:', detailData.propuestaAdjudicada?.items);
}
} catch (error) {
console.error('Error al consultar CertiProv API:', error);
}
}
consultarProcesosYDetalle();Python (Requests)
python
import requests
BASE_URL = "https://api.certiprov.com/api/Integrations/Adquisicion"
API_KEY = "cp_live_tu_api_key_aqui"
headers = {
"x-api-key": API_KEY,
"Content-Type": "application/json"
}
# 1. Obtener listado
list_response = requests.get(
f"{BASE_URL}/adjudicadas",
headers=headers,
params={"page": 1, "pageSize": 10}
)
list_data = list_response.json()
print(f"Total adjudicaciones: {list_data.get('totalCount')}")
# 2. Consultar detalle del primer registro
if list_data.get("items"):
proceso_id = list_data["items"][0]["id"]
detail_response = requests.get(
f"{BASE_URL}/{proceso_id}/adjudicada",
headers=headers
)
detalle = detail_response.json()
print(f"Proceso: {detalle.get('nombre')} | Monto Total: {detalle.get('propuestaAdjudicada', {}).get('totales', {}).get('precioTotalFinal')}")