Mercado Público
Mercado Público (Chile Compra) es una fuente de acceso directo de Nodda — no requiere crear una conexión ni credenciales del portal. Pasas el código de licitación en el path y Nodda devuelve la ficha, sus documentos adjuntos, las preguntas y respuestas, y las ofertas presentadas.
Todos los endpoints responden con dos campos adicionales de frescura:
| Campo | Tipo | Notas |
|---|---|---|
fetched_at | datetime | Cuándo se consultó el portal por última vez (ISO 8601) |
stale | boolean | true si el caché tiene más de 24 horas de antigüedad |
Un miss de caché desencadena una consulta sincrónica al portal; el primer request puede tardar unos segundos. Con ?refresh=true en cualquier endpoint forzas una nueva consulta aunque el caché sea fresco.
Scopes de Mercado Público
| Scope | Qué devuelve |
|---|---|
ficha | Datos generales de la licitación (nombre, organismo, fechas, monto, etc.) |
documentos | Documentos adjuntos de la licitación (bases, anexos, etc.) |
preguntas | Preguntas y respuestas del proceso de aclaraciones |
ofertas | Ofertas presentadas, cada una con sus documentos adjuntos |
Ficha de licitación
Devuelve los datos generales de una licitación. Si los datos están en caché y son frescos se sirven directamente.
| Query | Tipo | Notas |
|---|---|---|
refresh | boolean | Si true, ignora el caché y re-consulta el portal |
Respuesta (200):
Campos de la ficha
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Identificador en Nodda |
codigo | string | Código de la licitación |
nombre | string | null | Nombre de la licitación |
descripcion | string | null | Descripción del objeto licitado |
estado | string | null | Estado actual (Publicada, Adjudicada, etc.) |
tipo_licitacion | string | null | Tipo (L1, LE, LP, etc.) |
tipo_convocatoria | string | null | Pública, Privada, etc. |
moneda | string | null | Moneda del monto estimado |
monto_estimado | string | null | Monto estimado (decimal como string) |
organismo_razon_social | string | null | Razón social del organismo comprador |
organismo_rut | string | null | RUT del organismo comprador |
unidad_compra | string | null | Unidad compradora |
region | string | null | Región del organismo |
comuna | string | null | Comuna del organismo |
direccion | string | null | Dirección del organismo |
fecha_publicacion | datetime | null | Fecha de publicación |
fecha_inicio_preguntas | datetime | null | Inicio del período de preguntas |
fecha_fin_preguntas | datetime | null | Cierre del período de preguntas |
fecha_publicacion_respuestas | datetime | null | Fecha de publicación de respuestas |
fecha_cierre | datetime | null | Fecha de cierre de ofertas |
fecha_apertura_tecnica | datetime | null | Apertura técnica |
fecha_apertura_economica | datetime | null | Apertura económica |
fecha_adjudicacion | datetime | null | Fecha de adjudicación |
observed_at | datetime | Momento en que Nodda consultó el portal |
raw_ficha | object | Payload bruto del portal |
Documentos adjuntos
Devuelve los documentos adjuntos de la licitación (bases, anexos técnicos, etc.).
| Query | Tipo | Notas |
|---|---|---|
refresh | boolean | Si true, ignora el caché y re-consulta el portal |
Respuesta (200):
Campos de un documento
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Identificador en Nodda |
codigo | string | Código de la licitación |
documento_id | string | ID del documento en el portal |
origen | string | Fuente del documento (Bases, Anexo, etc.) |
nombre | string | null | Nombre del archivo |
tipo | string | null | Tipo de archivo (PDF, XLSX, etc.) |
descripcion | string | null | Descripción del documento |
tamano | string | null | Tamaño en bytes (como string) |
fecha_adjunto | datetime | null | Fecha en que fue adjuntado |
locator | object | Metadatos opacos de descarga — úsalos con el endpoint de descarga |
Para descargar el archivo usa el endpoint GET /mercado-publico/documentos/{documentoId}/download con el id del documento.
Preguntas y respuestas
Devuelve las preguntas y respuestas del proceso de aclaraciones.
| Query | Tipo | Notas |
|---|---|---|
refresh | boolean | Si true, ignora el caché y re-consulta el portal |
Respuesta (200):
Campos de una pregunta
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Identificador en Nodda |
codigo | string | Código de la licitación |
pregunta_id | string | ID de la pregunta en el portal |
numero | integer | null | Número de orden de la pregunta |
tema | string | null | Tema o categoría de la pregunta |
pregunta | string | null | Texto de la pregunta |
respuesta | string | null | Texto de la respuesta oficial |
fecha_pregunta | datetime | null | Fecha en que se formuló la pregunta |
fecha_respuesta | datetime | null | Fecha en que se publicó la respuesta |
Ofertas
Devuelve las ofertas presentadas. Cada oferta incluye sus documentos adjuntos en el campo documentos.
| Query | Tipo | Notas |
|---|---|---|
refresh | boolean | Si true, ignora el caché y re-consulta el portal |
Respuesta (200):
Campos de una oferta
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Identificador en Nodda |
codigo | string | Código de la licitación |
oferente_rut | string | RUT del oferente |
proveedor_razon_social | string | null | Razón social del proveedor |
nombre_oferta | string | null | Nombre de la oferta |
estado | string | null | Estado de la oferta (Adjudicada, Rechazada, etc.) |
total_oferta | string | null | Monto total de la oferta (decimal como string) |
habil_chileproveedores | boolean | null | Si el proveedor estaba hábil en ChileProveedores |
documentos | array | Documentos adjuntos de la oferta (ver tabla abajo) |
Campos de un documento de oferta
| Campo | Tipo | Notas |
|---|---|---|
id | UUID | Identificador en Nodda |
codigo | string | Código de la licitación |
oferente_rut | string | RUT del oferente |
documento_id | string | ID del documento en el portal |
origen | string | Fuente del documento (Oferta, Anexo, etc.) |
nombre | string | null | Nombre del archivo |
locator | object | Metadatos opacos de descarga — úsalos con el endpoint de descarga |
Descargar documento
Descarga el archivo de un documento de licitación u oferta. Devuelve los bytes directamente (no JSON). El documentoId es el campo id (UUID) de cualquier elemento en data de los endpoints de documentos o de ofertas[].documentos.
Este endpoint no está disponible vía MCP — devuelve bytes, no datos estructurados.
Respuesta (200): bytes del archivo (Content-Type: application/octet-stream).