Emisso Connect

Consultar movimientos de tarjetas de Banco de Chile

Lee exclusivamente la caché de movimientos de tarjetas de crédito de esta conexión; NO abre una sesión ni contacta al banco.

Tool IDbch_empresas.movimientos_tarjetas.consultar
Nombre MCPbch_empresas__movimientos_tarjetas__consultar
Conectorbch_empresas
Planoaction
Lee el alcancemovimientos_tarjetas (debe estar habilitado en la conexión)
Scope (permiso)bch_empresas:read
Authnone
Versión1
Sensible
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

Incluye pendientes del período actual y estados de cuenta facturados en CLP y USD. El monto conserva el signo que entregó el banco: no se infiere cargo o abono. Por defecto devuelve solo filas vigentes; usa soloVigentes=false para incluir pendientes que ya no aparecen en la última captura. Nunca devuelve PAN, titular, RUT, número de cuenta, IDs crudos ni raw.

Entrada

CampoTipoRequeridoDescripción
periodostring ^\d{4}-\d{2}$noFiltra por el mes AAAA-MM con que se sincronizó la fila.
currency"CLP" · "USD"noFiltra por la moneda primaria.
estado"pendiente" · "facturado"noFiltra por etapa de facturación.
cardReferencestring ^[a-f0-9]{64}$noFiltra por la referencia opaca devuelta en otra fila.
soloVigentesbooleanono · default truePor defecto excluye pendientes que desaparecieron de la captura más reciente. false también los incluye.
cursorstringnoPara pedir la página siguiente: el valor que la respuesta anterior devolvió en 'cursor', tal cual. Nunca lo construyas ni lo edites a mano. Omítelo para empezar por la primera página.
limitentero 1-500no · default 100Cuántas filas trae una página, entre 1 y 500. Por defecto, 100.
JSON Schema de entrada
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "periodo": {
      "description": "Filtra por el mes AAAA-MM con que se sincronizó la fila.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}$"
    },
    "currency": {
      "description": "Filtra por la moneda primaria.",
      "type": "string",
      "enum": [
        "CLP",
        "USD"
      ]
    },
    "estado": {
      "description": "Filtra por etapa de facturación.",
      "type": "string",
      "enum": [
        "pendiente",
        "facturado"
      ]
    },
    "cardReference": {
      "description": "Filtra por la referencia opaca devuelta en otra fila.",
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "soloVigentes": {
      "default": true,
      "description": "Por defecto excluye pendientes que desaparecieron de la captura más reciente. false también los incluye.",
      "type": "boolean"
    },
    "cursor": {
      "description": "Para pedir la página siguiente: el valor que la respuesta anterior devolvió en 'cursor', tal cual. Nunca lo construyas ni lo edites a mano. Omítelo para empezar por la primera página.",
      "type": "string"
    },
    "limit": {
      "default": 100,
      "description": "Cuántas filas trae una página, entre 1 y 500. Por defecto, 100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "additionalProperties": false
}

Ejemplo

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

Salida esperada (200):

{
  "data": {
    "movimientosTarjetas": [
      {
        "id": "8c17b8e4960715f7eb127b945add1066897251cb61794f751d6b55bec0e7837a",
        "cardReference": "4152a185babf4df0ca71b80cd31c5fb6ef03d4dfec157110d434c849b194b1b1",
        "terminacionTarjeta": "1234",
        "tipoTarjeta": "Visa Empresa",
        "currency": "USD",
        "estado": "facturado",
        "vigente": true,
        "periodo": "2026-09",
        "fechaTransaccion": "2026-09-03",
        "fechaFacturacion": "2026-09-30",
        "horaAutorizacion": null,
        "seccion": "compras",
        "descripcion": "Compra internacional",
        "comercio": "Comercio de ejemplo",
        "monto": 19.75,
        "display": "19,75",
        "montoMonedaOrigen": 21.1,
        "displayMonedaOrigen": "21,1",
        "cuotas": null,
        "pais": "US",
        "rubro": null,
        "ciudad": null,
        "grupo": null,
        "repeticiones": 1,
        "ultimaLecturaEn": "2026-09-04T12:00:00.000Z"
      }
    ],
    "cursor": null
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "bch_empresas.movimientos_tarjetas.consultar",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}

Todos los datos son sintéticos. cardReference e id son referencias opacas, no IDs del banco.

Salida

CampoTipoRequeridoDescripción
movimientosTarjetaslista de objetoMovimientos de tarjetas guardados. Una lista vacía significa que el alcance aún no se sincronizó o no encontró filas.
movimientosTarjetas[].idstring ^[a-f0-9]{64}$Identidad opaca y estable del movimiento. Nunca contiene el ID crudo del banco ni el número de tarjeta.
movimientosTarjetas[].cardReferencestring ^[a-f0-9]{64}$null
movimientosTarjetas[].terminacionTarjetastring ^\d{4}$null
movimientosTarjetas[].tipoTarjetastringnull
movimientosTarjetas[].currency"CLP" · "USD"Moneda del monto primario: pesos chilenos o dólares estadounidenses.
movimientosTarjetas[].estado"pendiente" · "facturado"Etapa del movimiento dentro del ciclo de facturación.
movimientosTarjetas[].vigentebooleanoEn pendientes indica si apareció en la captura completa más reciente. Los facturados permanecen vigentes.
movimientosTarjetas[].periodostring ^\d{4}-\d{2}$Mes solicitado al sincronizar esta fila, en formato AAAA-MM.
movimientosTarjetas[].fechaTransaccionstring ^\d{4}-\d{2}-\d{2}$null
movimientosTarjetas[].fechaFacturacionstring ^\d{4}-\d{2}-\d{2}$null
movimientosTarjetas[].horaAutorizacionstringnull
movimientosTarjetas[].seccion"no_facturados" · "operaciones" · "cargos_impuestos_abonos" · "compras_en_cuotas" · "productos_servicios_voluntarios" · "pagos" · …Sección cerrada del portal de la que salió el movimiento.
movimientosTarjetas[].descripcionstringnull
movimientosTarjetas[].comerciostringnull
movimientosTarjetas[].montonúmeroMonto primario con el signo exacto que entregó Banco de Chile.
movimientosTarjetas[].displaystringEl monto primario formateado para mostrar; conserva el signo de 'monto'.
movimientosTarjetas[].montoMonedaOrigennúmeronull
movimientosTarjetas[].displayMonedaOrigenstringnull
movimientosTarjetas[].cuotasstringnull
movimientosTarjetas[].paisstringnull
movimientosTarjetas[].rubrostringnull
movimientosTarjetas[].ciudadstringnull
movimientosTarjetas[].grupostringnull
movimientosTarjetas[].repeticionesenteroCantidad de objetos indistinguibles agrupados sin fabricar una identidad basada en su posición.
movimientosTarjetas[].ultimaLecturaEnstringInstante ISO 8601 en que esta fila se observó por última vez.
cursorstringnull
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "movimientosTarjetas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-f0-9]{64}$",
            "description": "Identidad opaca y estable del movimiento. Nunca contiene el ID crudo del banco ni el número de tarjeta."
          },
          "cardReference": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^[a-f0-9]{64}$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Referencia opaca de la tarjeta de procedencia. Es null si el mismo objeto apareció en más de una tarjeta."
          },
          "terminacionTarjeta": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Solo los últimos cuatro dígitos. Nunca es un PAN completo; null cuando el banco no permite atribuir la fila."
          },
          "tipoTarjeta": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Nombre o tipo que entrega el banco, o null cuando no está disponible."
          },
          "currency": {
            "type": "string",
            "enum": [
              "CLP",
              "USD"
            ],
            "description": "Moneda del monto primario: pesos chilenos o dólares estadounidenses."
          },
          "estado": {
            "type": "string",
            "enum": [
              "pendiente",
              "facturado"
            ],
            "description": "Etapa del movimiento dentro del ciclo de facturación."
          },
          "vigente": {
            "type": "boolean",
            "description": "En pendientes indica si apareció en la captura completa más reciente. Los facturados permanecen vigentes."
          },
          "periodo": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}$",
            "description": "Mes solicitado al sincronizar esta fila, en formato AAAA-MM."
          },
          "fechaTransaccion": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Día de la transacción en America/Santiago, o null si el banco no lo trajo."
          },
          "fechaFacturacion": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Día del estado de cuenta para filas facturadas; null en pendientes."
          },
          "horaAutorizacion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Hora que informa el banco para un pendiente, o null si no viene."
          },
          "seccion": {
            "type": "string",
            "enum": [
              "no_facturados",
              "operaciones",
              "cargos_impuestos_abonos",
              "compras_en_cuotas",
              "productos_servicios_voluntarios",
              "pagos",
              "compras",
              "comisiones"
            ],
            "description": "Sección cerrada del portal de la que salió el movimiento."
          },
          "descripcion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Descripción o glosa que entrega el banco, o null si no viene."
          },
          "comercio": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Nombre del comercio que entrega el banco, o null si no viene."
          },
          "monto": {
            "type": "number",
            "description": "Monto primario con el signo exacto que entregó Banco de Chile."
          },
          "display": {
            "type": "string",
            "description": "El monto primario formateado para mostrar; conserva el signo de 'monto'."
          },
          "montoMonedaOrigen": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Monto en moneda de origen cuando el banco lo informa, sin inventar su código; null cuando no viene."
          },
          "displayMonedaOrigen": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Presentación de montoMonedaOrigen, o null cuando no viene."
          },
          "cuotas": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Descripción de cuotas del banco, o null si no aplica."
          },
          "pais": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "País o código de país informado por el banco, o null."
          },
          "rubro": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Rubro del comercio informado por el banco, o null."
          },
          "ciudad": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Ciudad informada por el banco, o null."
          },
          "grupo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Grupo de presentación del estado de cuenta, o null."
          },
          "repeticiones": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991,
            "description": "Cantidad de objetos indistinguibles agrupados sin fabricar una identidad basada en su posición."
          },
          "ultimaLecturaEn": {
            "type": "string",
            "description": "Instante ISO 8601 en que esta fila se observó por última vez."
          }
        },
        "required": [
          "id",
          "cardReference",
          "terminacionTarjeta",
          "tipoTarjeta",
          "currency",
          "estado",
          "vigente",
          "periodo",
          "fechaTransaccion",
          "fechaFacturacion",
          "horaAutorizacion",
          "seccion",
          "descripcion",
          "comercio",
          "monto",
          "display",
          "montoMonedaOrigen",
          "displayMonedaOrigen",
          "cuotas",
          "pais",
          "rubro",
          "ciudad",
          "grupo",
          "repeticiones",
          "ultimaLecturaEn"
        ],
        "additionalProperties": false
      },
      "description": "Movimientos de tarjetas guardados. Una lista vacía significa que el alcance aún no se sincronizó o no encontró filas."
    },
    "cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Cursor de la página siguiente. Reenvíalo tal cual; null significa que no quedan más filas."
    }
  },
  "required": [
    "movimientosTarjetas",
    "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

On this page