Consultar movimientos Global66
Devuelve los movimientos de Global66 ya sincronizados de cada cuenta, incluidos los que no originó Connect, del más reciente al más antiguo.
| Tool ID | global66.movimientos.consultar |
| Nombre MCP | global66__movimientos__consultar |
| Conector | global66 |
| Plano | action |
| Lee el alcance | movimientos (debe estar habilitado en la conexión) |
| Scope (permiso) | global66: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
No abre sesión en Global66. Una lista vacía no confirma ausencia: revisa completo y sincronizadoEn.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
periodo | string ^\d{4}-\d{2}$ | no | Mes AAAA-MM (UTC). Sin él se devuelven todos los meses sincronizados y completo es null. |
accountId | string | no | Limita a una cuenta de la conexión. |
cursor | string | no | Cursor devuelto por la página anterior. |
limit | entero 1-500 | no | Máximo de filas por página. |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"periodo": {
"description": "Mes AAAA-MM (UTC). Sin él se devuelven todos los meses sincronizados y completo es null.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}$"
},
"accountId": {
"description": "Limita a una cuenta de la conexión.",
"type": "string"
},
"cursor": {
"description": "Cursor devuelto por la página anterior.",
"type": "string"
},
"limit": {
"description": "Máximo de filas por página.",
"type": "integer",
"minimum": 1,
"maximum": 500
}
}
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
movimientos | lista de objeto | sí | Movimientos persistidos del período. |
movimientos[].accountId | string | sí | Cuenta (walletId) del movimiento. |
movimientos[].movementId | string | sí | ID del movimiento en Global66, como texto. Clave natural junto con accountId. |
movimientos[].fecha | string | null | sí |
movimientos[].dia | string | null | sí |
movimientos[].monto | número | null | sí |
movimientos[].moneda | string | null | sí |
movimientos[].type | "credit" · "debit" | null | sí |
movimientos[].display | string | null | sí |
movimientos[].tipoMovimiento | string | null | sí |
movimientos[].estado | string | null | sí |
movimientos[].tipo | string | null | sí |
movimientos[].categoria | string | null | sí |
movimientos[].subcategoria | string | null | sí |
movimientos[].productType | string | null | sí |
movimientos[].origen | objeto | sí | Lado de origen de una conversión o envío. |
movimientos[].origen.moneda | string | null | sí |
movimientos[].origen.monto | número | null | sí |
movimientos[].destino | objeto | sí | Lado de destino; en un cambio es la otra moneda. |
movimientos[].destino.moneda | string | null | sí |
movimientos[].destino.monto | número | null | sí |
movimientos[].tipoCambio | número | null | sí |
movimientos[].comision | número | null | sí |
movimientos[].saldoPosterior | número | null | sí |
movimientos[].comentario | string | null | sí |
movimientos[].comercio | string | null | sí |
movimientos[].destinatario | objeto | sí | Destinatario informado por Global66. |
movimientos[].destinatario.nombre | string | null | sí |
movimientos[].destinatario.pais | string | null | sí |
movimientos[].destinatario.moneda | string | null | sí |
movimientos[].rechazo | objeto | sí | Rechazo, si lo hubo. |
movimientos[].rechazo.por | string | null | sí |
movimientos[].rechazo.motivo | string | null | sí |
movimientos[].comisionesAsociadas | lista de string | sí | IDs de los movimientos de comisión asociados (associatedFees), como texto; cada comisión es otro movimiento de la lista. |
movimientos[].detalle | objeto | null | sí |
movimientos[].observadoEn | string | sí | Instante ISO 8601 con Z de la última lectura de esta fila. |
completo | booleano | null | sí |
sincronizadoEn | string | null | sí |
cursor | string | null | sí |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"movimientos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"accountId": {
"type": "string",
"description": "Cuenta (walletId) del movimiento."
},
"movementId": {
"type": "string",
"description": "ID del movimiento en Global66, como texto. Clave natural junto con accountId."
},
"fecha": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 con Z (Global66 informa UTC)."
},
"dia": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Día calendario AAAA-MM-DD en UTC; define el período del movimiento."
},
"monto": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "Magnitud SIN signo en la moneda del movimiento. El sentido lo da 'type' y el signo visible, 'display'. null si Global66 no lo informó, nunca 0."
},
"moneda": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "currencyCode del movimiento."
},
"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. En Global66: DEPOSIT es 'debit' y WITHDRAWAL es 'credit'."
},
"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'."
},
"tipoMovimiento": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Verbatim de typeMovement (DEPOSIT o WITHDRAWAL)."
},
"estado": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "status verbatim (PAID, ACCEPTED_BY_INITIATOR, DEVUELTO…); lista abierta."
},
"tipo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "type verbatim (BANK_TRANSFER, P2P_PAYMENT, EXCHANGE, GMF_FEE, FEE_WITHDRAWAL, REFUND…); las comisiones son movimientos propios."
},
"categoria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "category verbatim (PAY_OUT, P2P, PAY_IN)."
},
"subcategoria": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "subCategory verbatim."
},
"productType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "REMITTANCE, P2P, EXCHANGE o PAYIN; null en comisiones y cobros de terceros, que no tienen detalle."
},
"origen": {
"type": "object",
"properties": {
"moneda": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "originCurrency."
},
"monto": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "originAmount."
}
},
"required": [
"moneda",
"monto"
],
"additionalProperties": false,
"description": "Lado de origen de una conversión o envío."
},
"destino": {
"type": "object",
"properties": {
"moneda": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "destinationCurrency."
},
"monto": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "destinationAmount."
}
},
"required": [
"moneda",
"monto"
],
"additionalProperties": false,
"description": "Lado de destino; en un cambio es la otra moneda."
},
"tipoCambio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "exchangeRate como número."
},
"comision": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "fee informado, como magnitud."
},
"saldoPosterior": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "totalBalance tras el movimiento; es un balance y conserva su signo."
},
"comentario": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "comment."
},
"comercio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "nameCommerce."
},
"destinatario": {
"type": "object",
"properties": {
"nombre": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "destinataryName."
},
"pais": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "destinataryCountryCode."
},
"moneda": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "destinataryCurrencyCode."
}
},
"required": [
"nombre",
"pais",
"moneda"
],
"additionalProperties": false,
"description": "Destinatario informado por Global66."
},
"rechazo": {
"type": "object",
"properties": {
"por": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "rejectedBy."
},
"motivo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "rejectedReason."
}
},
"required": [
"por",
"motivo"
],
"additionalProperties": false,
"description": "Rechazo, si lo hubo."
},
"comisionesAsociadas": {
"type": "array",
"items": {
"type": "string"
},
"description": "IDs de los movimientos de comisión asociados (associatedFees), como texto; cada comisión es otro movimiento de la lista."
},
"detalle": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
],
"description": "Detalle del movimiento por productType; null si no existe."
},
"observadoEn": {
"type": "string",
"description": "Instante ISO 8601 con Z de la última lectura de esta fila."
}
},
"required": [
"accountId",
"movementId",
"fecha",
"dia",
"monto",
"moneda",
"type",
"display",
"tipoMovimiento",
"estado",
"tipo",
"categoria",
"subcategoria",
"productType",
"origen",
"destino",
"tipoCambio",
"comision",
"saldoPosterior",
"comentario",
"comercio",
"destinatario",
"rechazo",
"comisionesAsociadas",
"detalle",
"observadoEn"
],
"additionalProperties": false
},
"description": "Movimientos persistidos del período."
},
"completo": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "True si la última sincronización del período leyó todas las cuentas y páginas; false si alguna cuenta o página faltó o el último intento falló; null si se desconoce. Una lista vacía con completo distinto de true no confirma ausencia."
},
"sincronizadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Instante ISO 8601 con Z de la última lectura persistida del período (completa o parcial); null si nunca se persistió una."
},
"cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cursor de la página siguiente; null si no hay más."
}
},
"required": [
"movimientos",
"completo",
"sincronizadoEn",
"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. |
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. |
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
global66.conexion.sincronizar: la tool que escribe los datos que esta lectura devuelve.- Sincronizar y consultar: por qué leer datos reales son dos pasos.