Connect

Consultar convenios con cuotas de la Tesorería

Lee los convenios activos y las propuestas aceptadas con la Tesorería General de la República YA sincronizados de esta conexión: la pantalla «Cuotas convenios vigentes» del portal.

Tool IDtgr.convenios_cuotas.consultar
Nombre MCPtgr__convenios_cuotas__consultar
Conectortgr
Planoaction
Lee el alcanceconvenios (debe estar habilitado en la conexión)
Scope (permiso)tgr:read
Authnone
Versión1
Sensiblesí
Deprecadono
ComportamientoreadOnly=true, destructive=false, idempotent=true, openWorld=false

Requiere conexión. Indica cuál en cada llamada: header X-Connect-Connection en REST, campo connectionId en el execute de MCP y en las opciones del SDK. 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

Devuelve un convenio por fila, con su número de cuotas; cada cuota (vencimiento, monto y si está pagada) está en 'tgr.convenios_detalle.consultar'. Lectura pura: NO contacta a la Tesorería ni dispara una sincronización. Si la empresa no tiene convenios la lista viene vacía con 'pantallaLeidaEn' fechado; si nunca se sincronizó, viene vacía con 'pantallaLeidaEn' en null. Para traer datos nuevos usa 'tgr.conexion.sincronizar'. Pagina con 'cursor'.

Entrada

CampoTipoRequeridoDescripción
numeroResolucionstringnoFiltra por un número de resolución, escrito tal cual lo muestra la Tesorería. Omítelo para ver todas las filas.
cursorstringnoPuntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página.
limitentero 1-500no · default 100Cuántas filas trae la página, entre 1 y 500. Por omisión, 100.
JSON Schema de entrada
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "numeroResolucion": {
      "description": "Filtra por un número de resolución, escrito tal cual lo muestra la Tesorería. Omítelo para ver todas las filas.",
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "cursor": {
      "description": "Puntero opaco a la página siguiente. Reenvía tal cual el 'cursor' que devolvió la llamada anterior; nunca lo construyas a mano. Omítelo para pedir la primera página.",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "description": "Cuántas filas trae la página, entre 1 y 500. Por omisión, 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  }
}

Ejemplo

curl
curl -X POST https://connect.emisso.ai/api/v1/tools/tgr.convenios_cuotas.consultar/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
  -H "Content-Type: application/json" \
  -d '{"input":{}}'
SDK TypeScript
const data = await connect.tools.tgr.convenios_cuotas.consultar({}, { connectionId: "conn_9tKfR2mQx4Vb" });
MCP · meta-tool execute
{
  "tool": "tgr.convenios_cuotas.consultar",
  "params": {},
  "connectionId": "conn_9tKfR2mQx4Vb"
}

Salida esperada (200):

{
  "data": {
    "convenios": [
      {
        "numeroResolucion": "4455667",
        "fechaResolucion": "2026-03-05",
        "tipoConvenio": "CONVENIO DE PAGO",
        "numeroCuotas": 12,
        "celdas": {
          "no resolucion": "4455667",
          "no cuotas": "12"
        },
        "observadoEn": "2026-10-02T14:02:11.000Z"
      }
    ],
    "pantallaLeidaEn": "2026-10-02T14:02:11.000Z",
    "cursor": null
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "tgr.convenios_cuotas.consultar",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}

Salida

CampoTipoRequeridoDescripción
convenioslista de objetosíLos convenios activos y las propuestas aceptadas de la pantalla «Cuotas convenios vigentes».
convenios[].numeroResolucionstringsíEl número de la resolución con que la Tesorería otorgó el convenio. Identifica al convenio en las tres pantallas: úsalo para cruzarlas. Es texto: no lo conviertas a número.
convenios[].fechaResolucionstringnullsí
convenios[].tipoConveniostringnullsí
convenios[].numeroCuotasenteronullsí
convenios[].celdasobjetosíLas celdas de la fila tal como las mostró la Tesorería, por encabezado de columna normalizado. Úsalas cuando un campo derivado venga en null: ahí está el texto original.
convenios[].observadoEnstringsíCuándo se vio esta fila en la Tesorería por última vez (ISO 8601). Las filas que dejan de aparecer en la pantalla salen de esta consulta en la sincronización siguiente.
pantallaLeidaEnstringnullsí
cursorstringnullsí
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "convenios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "numeroResolucion": {
            "type": "string",
            "description": "El número de la resolución con que la Tesorería otorgó el convenio. Identifica al convenio en las tres pantallas: úsalo para cruzarlas. Es texto: no lo conviertas a número."
          },
          "fechaResolucion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "x-emisso-formato": "AAAA-MM-DD",
            "description": "La fecha de la resolución en formato AAAA-MM-DD, o null si no se pudo parsear. Es un día calendario sin zona horaria: compáralo como texto o con Date.UTC, porque new Date('2026-09-07') es medianoche UTC y en Chile se muestra como el 6. Es el campo que conviene usar para ordenar y filtrar."
          },
          "tipoConvenio": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "El tipo de convenio con el texto de la Tesorería. null cuando la celda vino vacía."
          },
          "numeroCuotas": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ],
            "description": "En cuántas cuotas se pactó el convenio. null cuando la celda no traía un entero; el texto queda en 'celdas'."
          },
          "celdas": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "string"
            },
            "description": "Las celdas de la fila tal como las mostró la Tesorería, por encabezado de columna normalizado. Úsalas cuando un campo derivado venga en null: ahí está el texto original."
          },
          "observadoEn": {
            "type": "string",
            "description": "Cuándo se vio esta fila en la Tesorería por última vez (ISO 8601). Las filas que dejan de aparecer en la pantalla salen de esta consulta en la sincronización siguiente."
          }
        },
        "required": [
          "numeroResolucion",
          "fechaResolucion",
          "tipoConvenio",
          "numeroCuotas",
          "celdas",
          "observadoEn"
        ],
        "additionalProperties": false
      },
      "description": "Los convenios activos y las propuestas aceptadas de la pantalla «Cuotas convenios vigentes»."
    },
    "pantallaLeidaEn": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Cuándo se leyó esta pantalla de la Tesorería por última vez (ISO 8601). Es lo que vuelve interpretable una lista vacía: con fecha, la Tesorería mostró la pantalla sin filas; en null, la pantalla todavía no se ha leído (sincroniza con 'tgr.conexion.sincronizar' antes de concluir que no hay nada)."
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Puntero a la página siguiente. Si viene distinto de null hay más filas: vuelve a llamar reenviándolo tal cual en 'cursor'. Un null significa que no queda nada por traer."
    }
  },
  "required": [
    "convenios",
    "pantallaLeidaEn",
    "cursor"
  ],
  "additionalProperties": false
}

Errores de esta tool

CódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
alcance_not_enabled403noHabilita el alcance en /connections o quítalo del input de la sincronización.

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.

Próximos pasos

En esta página