Skip to content

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:

  1. Listado / Búsqueda: Obtener un listado ligero y plano de procesos adjudicados.
  2. 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/adjudicadas

Parámetros de Consulta (Query Parameters) ​

Todos los parámetros son opcionales:

ParámetroTipoDescripciónEjemplo
searchstringFiltra por código de adquisición, nombre del proceso o RUC / Razón Social del proveedor adjudicado.search=Laptops
fechaDesdestring (fecha)Fecha mínima de adjudicación o creación en formato YYYY-MM-DD.fechaDesde=2026-01-01
fechaHastastring (fecha)Fecha máxima de adjudicación o creación en formato YYYY-MM-DD.fechaHasta=2026-12-31
empresaIdintID de la empresa compradora (aplica únicamente con API Key de Sistema).empresaId=5
sortColumnstringCampo para ordenar (CreatedAt, Nombre, Codigo, etc.). Por defecto: CreatedAt.sortColumn=CreatedAt
sortOrderstringDirección del ordenamiento: asc (ascendente) o desc (descendente). Por defecto: desc.sortOrder=desc
pageintNúmero de página a consultar. Por defecto: 1.page=1
pageSizeintCantidad de registros por página. Por defecto: 10.pageSize=20
allboolSi 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}/adjudicada

Parámetros de Ruta ​

ParámetroTipoDescripción
idintIdentificador ú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')}")