Consultar cotización de Convenio Marco
Entrega la ficha y documentos conservados de una cotización de Convenio Marco.
| Tool ID | mercadopublico.cotizacion_convenio.consultar |
| Nombre MCP | mercadopublico__cotizacion_convenio__consultar |
| Conector | mercadopublico |
| Plano | action |
| Scope (permiso) | mercadopublico:read |
| Auth | none |
| Versión | 1 |
| Sensible | no |
| Deprecado | no |
| Comportamiento | readOnly=true, destructive=false, idempotent=true, openWorld=false |
Requiere conexión. Indica cuál en cada llamada: header
X-Connect-Connectionen REST y campoconnectionIden elexecutede MCP. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale deconexiones.estado.consultar.
Qué hace
Trae enlaces temporales. No abre el portal ni inicia una lectura. Mientras una actualización está en curso, o si falla, entrega la lectura anterior con resultadoAnterior en true.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
idCotizacion | string ^\d{1,10}-[0-9A-Z]{4,20}$ | sí | ID público de la solicitud de cotización del Convenio Marco, por ejemplo 5802363-4018GUDX. No acepta URLs. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"idCotizacion": {
"type": "string",
"maxLength": 32,
"pattern": "^\\d{1,10}-[0-9A-Z]{4,20}$",
"description": "ID público de la solicitud de cotización del Convenio Marco, por ejemplo 5802363-4018GUDX. No acepta URLs."
}
},
"required": [
"idCotizacion"
]
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
codigo | string | sí | Código o ID público consultado, canonizado en mayúsculas. |
estado | "no_solicitada" · "pendiente" · "procesando" · "disponible" · "parcial" · "fallido" | sí | Estado de la descarga solicitada a Connect. |
solicitadoEn | string | null | sí |
finalizadoEn | string | null | sí |
errorCodigo | string | null | sí |
consultarEnSegundos | entero | null | sí |
observadoEn | string | null | sí |
completo | booleano | sí | Se leyó el listado entero y se conservaron todos los adjuntos admitidos dentro de los límites. |
motivosIncompletitud | lista de string | sí | Razones por las que el listado o las descargas requieren revisión. |
resultadoAnterior | booleano | sí | true si los datos son de una lectura anterior: hay una actualización en curso o la última falló. observadoEn dice de cuándo son. |
convenio | string | null | sí |
solicitud | objeto | null | sí |
solicitud.idCotizacion | string | sí | ID de la solicitud de cotización, tal como lo titula la ficha. |
solicitud.nombre | string | null | sí |
solicitud.organismo | string | null | sí |
solicitud.unidadCompra | string | null | sí |
solicitud.estadoPortal | string | null | sí |
solicitud.idOrdenCompra | string | null | sí |
solicitud.fichaServicio | string | null | sí |
solicitud.montoTexto | string | null | sí |
solicitud.inicioPublicacion | string | null | sí |
solicitud.finPublicacion | string | null | sí |
solicitud.inicioEvaluacion | string | null | sí |
solicitud.finEvaluacion | string | null | sí |
solicitud.plazoPublicacion | string | null | sí |
solicitud.plazoEvaluacion | string | null | sí |
solicitud.plazoPreguntas | string | null | sí |
solicitud.vigenciaContrato | string | null | sí |
solicitud.vigenciaCotizacion | string | null | sí |
solicitud.correoContacto | string | null | sí |
solicitud.garantiaFielCumplimiento | string | null | sí |
solicitud.beneficiario | string | null | sí |
solicitud.objetivo | string | null | sí |
solicitud.requisitosMinimos | string | null | sí |
solicitud.alcance | string | null | sí |
solicitud.servicios | lista de objeto | sí | Servicios y/o productos entregables. |
solicitud.servicios[].nombre | string | sí | Servicio o producto entregable. |
solicitud.servicios[].detalle | string | sí | Detalle publicado para ese entregable. |
solicitud.plazoMaximoEjecucion | string | null | sí |
solicitud.presupuestoMaximoTexto | string | null | sí |
solicitud.modalidad | string | null | sí |
solicitud.criteriosEvaluacion | lista de string | sí | Filas de la tabla de evaluación o requerimiento mínimo, como texto. |
solicitud.criteriosDesempate | string | null | sí |
solicitud.proveedoresRespondieron | entero | null | sí |
solicitud.proveedorSeleccionado | string | null | sí |
solicitud.justificacionSeleccion | string | null | sí |
solicitud.otrosCampos | lista de objeto | sí | Campos de la ficha sin un lugar propio en este contrato, tal como aparecen. |
solicitud.otrosCampos[].etiqueta | string | sí | Etiqueta del campo en la ficha. |
solicitud.otrosCampos[].valor | string | sí | Valor del campo, como texto. |
totalAdjuntos | entero | sí | Cantidad de documentos enlazados en la ficha. |
documentos | lista de objeto | sí | Documentos enlazados en la ficha, por sección; los descargados llevan enlace firmado. |
documentos[].grupo | "solicitud" · "evaluacion_tecnica" · "evaluacion_economica" | sí | Sección de la ficha: 'solicitud' (adjuntos del comprador), 'evaluacion_tecnica' o 'evaluacion_economica' (documentos publicados al evaluar). |
documentos[].clase | string | null | sí |
documentos[].nombre | string | sí | Nombre del archivo tal como lo muestra la ficha. |
documentos[].estado | "descargado" · "omitido_formato" · "omitido_tamano" · "no_descargado" | sí | 'descargado': hay archivo conservado (lleva archivoUrl). 'omitido_formato': no es PDF, Word, Excel ni PNG/JPEG, o su contenido no corresponde a su extensión. 'omitido_tamano': supera el tope. 'no_descargado': se observó pero no se conserva (error o límite). |
documentos[].formato | "pdf" · "docx" · "doc" · "xlsx" · "xls" · "png" · … | null | sí |
documentos[].bytes | entero | null | sí |
documentos[].sha256 | string | null | sí |
documentos[].archivoUrl | string | null | sí |
documentos[].urlVenceEn | string | null | sí |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"codigo": {
"type": "string",
"description": "Código o ID público consultado, canonizado en mayúsculas."
},
"estado": {
"type": "string",
"enum": [
"no_solicitada",
"pendiente",
"procesando",
"disponible",
"parcial",
"fallido"
],
"description": "Estado de la descarga solicitada a Connect."
},
"solicitadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 de la última solicitud, o null si no existe."
},
"finalizadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 en que terminó la descarga, si corresponde."
},
"errorCodigo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Código acotado de fallo, sin datos de sesión ni URLs del portal."
},
"consultarEnSegundos": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Mientras la descarga está pendiente o en proceso, cuántos segundos esperar antes de consultar de nuevo. null cuando ya terminó o no hay solicitud."
},
"observadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 de la última lectura del portal conservada."
},
"completo": {
"type": "boolean",
"description": "Se leyó el listado entero y se conservaron todos los adjuntos admitidos dentro de los límites."
},
"motivosIncompletitud": {
"type": "array",
"items": {
"type": "string"
},
"description": "Razones por las que el listado o las descargas requieren revisión."
},
"resultadoAnterior": {
"type": "boolean",
"description": "true si los datos son de una lectura anterior: hay una actualización en curso o la última falló. observadoEn dice de cuándo son."
},
"convenio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Tienda de Convenio Marco donde se leyó la ficha (p. ej. 'software3')."
},
"solicitud": {
"anyOf": [
{
"type": "object",
"properties": {
"idCotizacion": {
"type": "string",
"description": "ID de la solicitud de cotización, tal como lo titula la ficha."
},
"nombre": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Nombre de la cotización."
},
"organismo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Organismo comprador."
},
"unidadCompra": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Unidad de compra del organismo."
},
"estadoPortal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Estado tal como lo muestra la ficha (p. ej. 'Publicada', 'Proveedor Elegido')."
},
"idOrdenCompra": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "ID de la orden de compra emitida, si la ficha la informa."
},
"fichaServicio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Ficha del servicio en el catálogo del convenio, como texto del portal."
},
"montoTexto": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Monto informado en la cabecera, como texto del portal (p. ej. '13.839,6000 UF')."
},
"inicioPublicacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Fecha AAAA-MM-DD."
},
"finPublicacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Fecha AAAA-MM-DD."
},
"inicioEvaluacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Fecha AAAA-MM-DD."
},
"finEvaluacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Fecha AAAA-MM-DD."
},
"plazoPublicacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Plazo de publicación declarado (p. ej. '10 días hábiles')."
},
"plazoEvaluacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Plazo de evaluación declarado."
},
"plazoPreguntas": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Plazo para realizar preguntas."
},
"vigenciaContrato": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Vigencia del contrato declarada."
},
"vigenciaCotizacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Vigencia exigida a la cotización."
},
"correoContacto": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Correo de contacto publicado por el comprador."
},
"garantiaFielCumplimiento": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Garantía de fiel cumplimiento del acuerdo complementario, como texto del portal."
},
"beneficiario": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Beneficiario de la garantía."
},
"objetivo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Objetivo de la contratación."
},
"requisitosMinimos": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Requisitos mínimos exigidos."
},
"alcance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Alcance de la contratación."
},
"servicios": {
"type": "array",
"items": {
"type": "object",
"properties": {
"nombre": {
"type": "string",
"description": "Servicio o producto entregable."
},
"detalle": {
"type": "string",
"description": "Detalle publicado para ese entregable."
}
},
"required": [
"nombre",
"detalle"
],
"additionalProperties": false
},
"description": "Servicios y/o productos entregables."
},
"plazoMaximoEjecucion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Plazo máximo disponible para la ejecución de los servicios."
},
"presupuestoMaximoTexto": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Presupuesto máximo como texto del portal (p. ej. '18.500,0000 UF')."
},
"modalidad": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Modalidad de evaluación declarada."
},
"criteriosEvaluacion": {
"type": "array",
"items": {
"type": "string"
},
"description": "Filas de la tabla de evaluación o requerimiento mínimo, como texto."
},
"criteriosDesempate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Criterios de desempate declarados."
},
"proveedoresRespondieron": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Cantidad de proveedores que respondieron, si la ficha la muestra; null si no se publica o no se pudo leer."
},
"proveedorSeleccionado": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Razón social del proveedor que adjudicó, si la ficha lo publica."
},
"justificacionSeleccion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Justificación publicada de la selección del proveedor."
},
"otrosCampos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"etiqueta": {
"type": "string",
"description": "Etiqueta del campo en la ficha."
},
"valor": {
"type": "string",
"description": "Valor del campo, como texto."
}
},
"required": [
"etiqueta",
"valor"
],
"additionalProperties": false
},
"description": "Campos de la ficha sin un lugar propio en este contrato, tal como aparecen."
}
},
"required": [
"idCotizacion",
"nombre",
"organismo",
"unidadCompra",
"estadoPortal",
"idOrdenCompra",
"fichaServicio",
"montoTexto",
"inicioPublicacion",
"finPublicacion",
"inicioEvaluacion",
"finEvaluacion",
"plazoPublicacion",
"plazoEvaluacion",
"plazoPreguntas",
"vigenciaContrato",
"vigenciaCotizacion",
"correoContacto",
"garantiaFielCumplimiento",
"beneficiario",
"objetivo",
"requisitosMinimos",
"alcance",
"servicios",
"plazoMaximoEjecucion",
"presupuestoMaximoTexto",
"modalidad",
"criteriosEvaluacion",
"criteriosDesempate",
"proveedoresRespondieron",
"proveedorSeleccionado",
"justificacionSeleccion",
"otrosCampos"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "Detalle publicado de la solicitud; null si aún no hay lectura."
},
"totalAdjuntos": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Cantidad de documentos enlazados en la ficha."
},
"documentos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"grupo": {
"type": "string",
"enum": [
"solicitud",
"evaluacion_tecnica",
"evaluacion_economica"
],
"description": "Sección de la ficha: 'solicitud' (adjuntos del comprador), 'evaluacion_tecnica' o 'evaluacion_economica' (documentos publicados al evaluar)."
},
"clase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Clase del documento informada por el portal (p. ej. 'Acta de evaluación'), si existe."
},
"nombre": {
"type": "string",
"description": "Nombre del archivo tal como lo muestra la ficha."
},
"estado": {
"type": "string",
"enum": [
"descargado",
"omitido_formato",
"omitido_tamano",
"no_descargado"
],
"description": "'descargado': hay archivo conservado (lleva archivoUrl). 'omitido_formato': no es PDF, Word, Excel ni PNG/JPEG, o su contenido no corresponde a su extensión. 'omitido_tamano': supera el tope. 'no_descargado': se observó pero no se conserva (error o límite)."
},
"formato": {
"anyOf": [
{
"type": "string",
"enum": [
"pdf",
"docx",
"doc",
"xlsx",
"xls",
"png",
"jpg"
],
"description": "Formato del archivo conservado, verificado por su contenido: 'pdf'; Word ('docx', 'doc'); Excel ('xlsx', 'xls'); imagen ('png', 'jpg')."
},
{
"type": "null"
}
],
"description": "Formato del archivo conservado; null si no se descargó."
},
"bytes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Tamaño en bytes del archivo conservado; null si no se descargó."
},
"sha256": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Huella SHA-256 del archivo conservado; null si no se descargó."
},
"archivoUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Enlace temporal al archivo conservado por Connect; null si no se descargó o no pudo firmarse. Nunca es una URL del portal."
},
"urlVenceEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 en que caduca archivoUrl, si se firmó."
}
},
"required": [
"grupo",
"clase",
"nombre",
"estado",
"formato",
"bytes",
"sha256",
"archivoUrl",
"urlVenceEn"
],
"additionalProperties": false
},
"description": "Documentos enlazados en la ficha, por sección; los descargados llevan enlace firmado."
}
},
"required": [
"codigo",
"estado",
"solicitadoEn",
"finalizadoEn",
"errorCodigo",
"consultarEnSegundos",
"observadoEn",
"completo",
"motivosIncompletitud",
"resultadoAnterior",
"convenio",
"solicitud",
"totalAdjuntos",
"documentos"
],
"additionalProperties": false
}Errores de esta tool
| Código | HTTP | Reintentable | Qué hacer |
|---|---|---|---|
connection_disabled | 403 | no | Reactívala en /connections o usa otra conexión del mismo sistema. |
connection_not_found | 404 | no | Usa uno de los connectionId que lista el error, o revisa la conexión en /connections. No hace falta reactivar nada. |
Toda llamada puede devolver además los códigos transversales (validation_error, unauthorized, scope_not_granted, rate_limited, entre otros): el detalle vive en el catálogo de errores.