Connect

Buscar cotizaciones de Convenio Marco

Busca cotizaciones de Convenio Marco sin conocer IDs.

Tool IDmercadopublico.busqueda_convenio.solicitar
Nombre MCPmercadopublico__busqueda_convenio__solicitar
Conectormercadopublico
Planoaction
Scope (permiso)mercadopublico:write
Authnone
Versión1
Sensibleno
Deprecadono
ComportamientoreadOnly=false, destructive=false, idempotent=true, openWorld=false

Requiere conexión. Indica cuál en cada llamada: header X-Connect-Connection en REST y campo connectionId en el execute_write de MCP. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale de conexiones.estado.consultar.

Qué hace

Encola la lectura del buscador público (tienda software3). Primera versión: servicio de desarrollo y mantención de software en estado Publicada (los valores por defecto), con un día exacto de inicio de publicación opcional. Reutiliza la búsqueda en curso y lecturas de los últimos 15 minutos con los mismos filtros. No descarga fichas ni documentos: consulta luego mercadopublico.busqueda_convenio.consultar y pide cada ID elegido con mercadopublico.cotizacion_convenio.solicitar.

Entrada

CampoTipoRequeridoDescripción
tienda"software3"no · default "software3"Tienda de Convenio Marco. Hoy sólo 'software3' (Software e infraestructura como servicio), la única comprobada.
tipoServicio"SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE"no · default "SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE"Tipo de servicio tal como lo ofrece el formulario del portal. Hoy sólo 'SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE'.
estado"publicada"no · default "publicada"Estado en el portal. Hoy sólo 'publicada' (recibe cotizaciones): los estados con historia (proveedor elegido, finalizada…) traen cientos de filas y el portal no alcanza a responderlos a tiempo.
publicacionIniciostringnoOpcional. Día exacto (AAAA-MM-DD, entre 2015-01-01 y mañana en Chile) en que comenzó la publicación. El portal compara igualdad: NO es «desde esa fecha».
JSON Schema de entrada
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tienda": {
      "default": "software3",
      "description": "Tienda de Convenio Marco. Hoy sólo 'software3' (Software e infraestructura como servicio), la única comprobada.",
      "type": "string",
      "enum": [
        "software3"
      ]
    },
    "tipoServicio": {
      "default": "SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE",
      "description": "Tipo de servicio tal como lo ofrece el formulario del portal. Hoy sólo 'SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE'.",
      "type": "string",
      "enum": [
        "SERVICIO DE DESARROLLO Y MANTENCIÓN DE SOFTWARE"
      ]
    },
    "estado": {
      "default": "publicada",
      "description": "Estado en el portal. Hoy sólo 'publicada' (recibe cotizaciones): los estados con historia (proveedor elegido, finalizada…) traen cientos de filas y el portal no alcanza a responderlos a tiempo.",
      "type": "string",
      "enum": [
        "publicada"
      ]
    },
    "publicacionInicio": {
      "description": "Opcional. Día exacto (AAAA-MM-DD, entre 2015-01-01 y mañana en Chile) en que comenzó la publicación. El portal compara igualdad: NO es «desde esa fecha».",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Salida

CampoTipoRequeridoDescripción
claveBusquedastringsíIdentificador estable de la búsqueda: huella de sus filtros canónicos.
filtrosobjetosíFiltros canónicos de la búsqueda: dos solicitudes con los mismos filtros comparten resultado.
filtros.tiendastringsíTienda de Convenio Marco consultada.
filtros.tipoServiciostringsíTipo de servicio pedido.
filtros.estadostringnullsí
filtros.publicacionIniciostringnullsí
estado"no_solicitada" · "pendiente" · "procesando" · "disponible" · "parcial" · "fallido"síEstado del trabajo de búsqueda en Connect, no de las cotizaciones. 'disponible': el listado se leyó entero. 'parcial': se leyó con filas ilegibles o sobre el tope conservado. 'fallido': la última lectura falló (ver errorCodigo).
solicitadoEnstringnullsí
finalizadoEnstringnullsí
errorCodigostringnullsí
consultarEnSegundosenteronullsí
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "claveBusqueda": {
      "type": "string",
      "description": "Identificador estable de la búsqueda: huella de sus filtros canónicos."
    },
    "filtros": {
      "type": "object",
      "properties": {
        "tienda": {
          "type": "string",
          "description": "Tienda de Convenio Marco consultada."
        },
        "tipoServicio": {
          "type": "string",
          "description": "Tipo de servicio pedido."
        },
        "estado": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Estado vigente pedido, o null."
        },
        "publicacionInicio": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Día exacto de inicio de publicación pedido, o null."
        }
      },
      "required": [
        "tienda",
        "tipoServicio",
        "estado",
        "publicacionInicio"
      ],
      "additionalProperties": false,
      "description": "Filtros canónicos de la búsqueda: dos solicitudes con los mismos filtros comparten resultado."
    },
    "estado": {
      "type": "string",
      "enum": [
        "no_solicitada",
        "pendiente",
        "procesando",
        "disponible",
        "parcial",
        "fallido"
      ],
      "description": "Estado del trabajo de búsqueda en Connect, no de las cotizaciones. 'disponible': el listado se leyó entero. 'parcial': se leyó con filas ilegibles o sobre el tope conservado. 'fallido': la última lectura falló (ver errorCodigo)."
    },
    "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 última lectura, si corresponde."
    },
    "errorCodigo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Código acotado del último fallo, sin URLs ni datos de sesión."
    },
    "consultarEnSegundos": {
      "anyOf": [
        {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        {
          "type": "null"
        }
      ],
      "description": "Mientras la búsqueda está pendiente o en proceso, cuántos segundos esperar antes de consultar de nuevo; si no, null."
    }
  },
  "required": [
    "claveBusqueda",
    "filtros",
    "estado",
    "solicitadoEn",
    "finalizadoEn",
    "errorCodigo",
    "consultarEnSegundos"
  ],
  "additionalProperties": false
}

Errores de esta tool

CódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
connection_not_found404noUsa 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.

En esta página