Consultar los pagos de una nómina de Banco Security
Lee la caché ya sincronizada; NO contacta al banco.
| Tool ID | banco_security.nomina_pagos.consultar |
| Nombre MCP | banco_security__nomina_pagos__consultar |
| Conector | banco_security |
| Plano | action |
| Lee el alcance | nominas (debe estar habilitado en la conexión) |
| Scope (permiso) | banco_security:read |
| Auth | none |
| Versión | 2 |
| Sensible | sí |
| 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, campoconnectionIden elexecutede 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 deconexiones.estado.consultar.
Qué hace
Devuelve las LÍNEAS DE PAGO de UNA nómina: el 'idNomina' es obligatorio y sale de 'banco_security.nominas.consultar'. Exige el alcance 'nominas' habilitado (el mismo que las cabeceras). Las líneas salen en orden ascendente de 'linea'. Si esa nómina nunca se sincronizó, devuelve una lista vacía. Los montos vienen como NÚMERO: 'monto' es la magnitud sin signo, 'type' dice si entra ('debit') o sale ('credit') plata según el libro del banco (al revés de como se lee una cartola) y 'display' es ese monto ya formateado a la chilena con su signo. Un saldo NO lleva 'type': es un balance y conserva su propio signo. Pagina con 'cursor': cuando la respuesta trae 'cursor' distinto de null hay más filas: reenvía ese valor tal cual; nunca lo construyas a mano.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
idNomina | string | sí | La nómina cuyas líneas de pago quieres leer. Sale del campo 'idNomina' de una cabecera de 'banco_security.nominas.consultar'; no es el 'numeroNomina' que el banco muestra en su listado. |
cursor | string | no | 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. |
limit | entero 1-500 | no · default 100 | Cuá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": {
"idNomina": {
"type": "string",
"minLength": 1,
"description": "La nómina cuyas líneas de pago quieres leer. Sale del campo 'idNomina' de una cabecera de 'banco_security.nominas.consultar'; no es el 'numeroNomina' que el banco muestra en su listado."
},
"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
}
},
"required": [
"idNomina"
]
}Ejemplo
curl -X POST https://connect.emisso.ai/api/v1/tools/banco_security.nomina_pagos.consultar/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"idNomina":"611487"}}'const data = await connect.tools.banco_security.nomina_pagos.consultar({ idNomina: "611487" }, { connectionId: "conn_9tKfR2mQx4Vb" });{
"tool": "banco_security.nomina_pagos.consultar",
"params": {
"idNomina": "611487"
},
"connectionId": "conn_9tKfR2mQx4Vb"
}Salida esperada (200):
{
"data": {
"pagos": [
{
"idNomina": "611487",
"linea": 1,
"tipoCuenta": "Cuenta Corriente",
"estado": "Pagado",
"periodo": "2026-07",
"rut": "12.345.678-5",
"nombre": "María Fernanda Rojas Soto",
"numeroCuenta": "00123456789",
"banco": "Banco Estado",
"mail": "maria.rojas@ejemplo.cl",
"monto": 1480000,
"type": "credit",
"display": "-1.480.000",
"glosa": "Sueldo julio 2026",
"motivoRechazo": null,
"ultimaLecturaEn": "2026-08-07T07:15:42.000Z"
},
{
"idNomina": "611487",
"linea": 2,
"tipoCuenta": "Cuenta Vista",
"estado": "Pagado",
"periodo": "2026-07",
"rut": "16.789.012-1",
"nombre": "Jorge Andrés Muñoz Vidal",
"numeroCuenta": "22334455",
"banco": "Banco de Chile",
"mail": null,
"monto": 1320000,
"type": "credit",
"display": "-1.320.000",
"glosa": "Sueldo julio 2026",
"motivoRechazo": null,
"ultimaLecturaEn": "2026-08-07T07:15:42.000Z"
}
],
"cursor": null
},
"meta": {
"request_id": "req_…",
"tool_id": "banco_security.nomina_pagos.consultar",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}El 'idNomina' viene de la cabecera que devuelve 'banco_security.nominas.consultar' (en su ejemplo, la nómina 611487 declara 12 registros; aquí se muestran 2).
Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
pagos | lista de objeto | sí | Las líneas de pago de la nómina pedida, en orden ascendente de 'linea'. Una lista vacía significa que esa nómina no se ha sincronizado. |
pagos[].idNomina | string | sí | El identificador de la nómina a la que pertenece esta línea: el mismo que pediste en la entrada. |
pagos[].linea | entero | sí | Posición de esta línea dentro de la nómina, empezando en 1. Es un ordinal de la nómina completa, no de la página del portal de donde se leyó. |
pagos[].tipoCuenta | string | null | sí |
pagos[].estado | string | null | sí |
pagos[].periodo | string | sí | El mes (AAAA-MM) con el que se sincronizó esta fila. Es cómo se pidió el dato, no una propiedad del objeto: no entra en su identidad, así que volver a traerlo bajo otro período no crea una fila nueva. |
pagos[].rut | string | null | sí |
pagos[].nombre | string | null | sí |
pagos[].numeroCuenta | string | null | sí |
pagos[].banco | string | null | sí |
pagos[].mail | string | null | sí |
pagos[].monto | número | null | sí |
pagos[].type | "credit" · "debit" | null | sí |
pagos[].display | string | null | sí |
pagos[].glosa | string | null | sí |
pagos[].motivoRechazo | string | null | sí |
pagos[].ultimaLecturaEn | string | sí | Cuándo se leyó esta fila del banco (ISO 8601). Si está vieja, la caché puede haber dejado de moverse (por ejemplo, con la conexión pausada tras varios fallos de credencial) mientras esta tool sigue respondiendo con filas antiguas. Entre dos filas del mismo hecho, gana la de 'ultimaLecturaEn' mayor. |
cursor | string | null | sí |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"pagos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"idNomina": {
"type": "string",
"description": "El identificador de la nómina a la que pertenece esta línea: el mismo que pediste en la entrada."
},
"linea": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Posición de esta línea dentro de la nómina, empezando en 1. Es un ordinal de la nómina completa, no de la página del portal de donde se leyó."
},
"tipoCuenta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Tipo de cuenta del beneficiario según el banco (por ejemplo 'Cuenta Corriente' o 'Cuenta Vista')."
},
"estado": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Estado del pago en el texto del propio banco (por ejemplo 'Pagado'). Cuando el banco lo rechazó, el motivo va en 'motivoRechazo'."
},
"periodo": {
"type": "string",
"description": "El mes (AAAA-MM) con el que se sincronizó esta fila. Es cómo se pidió el dato, no una propiedad del objeto: no entra en su identidad, así que volver a traerlo bajo otro período no crea una fila nueva."
},
"rut": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "RUT del beneficiario del pago, tal como lo escribe el banco."
},
"nombre": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Nombre del beneficiario del pago."
},
"numeroCuenta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "La cuenta de destino del beneficiario. Esta tool no ofrece filtro por cuenta: la columna va cifrada y un filtro sobre ella devolvería cero filas."
},
"banco": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Banco del beneficiario, en el texto del portal."
},
"mail": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Correo al que el banco avisó el pago al beneficiario, cuando lo hay."
},
"monto": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "El monto de esta línea, como magnitud SIN signo. El sentido lo da 'type', que en un pago de nómina es siempre 'credit' porque la plata sale de la empresa."
},
"type": {
"anyOf": [
{
"type": "string",
"enum": [
"credit",
"debit"
]
},
{
"type": "null"
}
],
"description": "Eje crédito/débito del LIBRO DEL BANCO, no el de la cartola: 'debit' es plata que ENTRA a la cuenta (un abono) y 'credit' es plata que SALE (un cargo). Es al revés de la lectura intuitiva y está así a propósito. El campo 'monto' es la magnitud SIN signo; el signo lo lleva 'display' ('credit' → negativo). 'null' significa que el banco no informó el tipo: no asumas ninguno de los dos."
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El monto ya formateado a la chilena y CON signo, derivado de 'type' ('credit', plata que sale, se muestra negativo). Es una comodidad de presentación: se calcula en la lectura y no se persiste. Para operar con el número usa 'monto' (magnitud sin signo) junto con 'type'."
},
"glosa": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "La glosa con que el pago se identifica ante el beneficiario (por ejemplo 'Sueldo julio 2026')."
},
"motivoRechazo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Por qué el banco rechazó este pago, en su propio texto. null cuando no hubo rechazo."
},
"ultimaLecturaEn": {
"type": "string",
"description": "Cuándo se leyó esta fila del banco (ISO 8601). Si está vieja, la caché puede haber dejado de moverse (por ejemplo, con la conexión pausada tras varios fallos de credencial) mientras esta tool sigue respondiendo con filas antiguas. Entre dos filas del mismo hecho, gana la de 'ultimaLecturaEn' mayor."
}
},
"required": [
"idNomina",
"linea",
"tipoCuenta",
"estado",
"periodo",
"rut",
"nombre",
"numeroCuenta",
"banco",
"mail",
"monto",
"type",
"display",
"glosa",
"motivoRechazo",
"ultimaLecturaEn"
],
"additionalProperties": false
},
"description": "Las líneas de pago de la nómina pedida, en orden ascendente de 'linea'. Una lista vacía significa que esa nómina no se ha sincronizado."
},
"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": [
"pagos",
"cursor"
],
"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. |
alcance_not_enabled | 403 | no | Habilita 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
banco_security.conexion.sincronizar: la tool que escribe los datos que esta lectura devuelve.- Sincronizar y consultar: por qué leer datos reales son dos pasos.