# Consultar compras con tarjeta Global66

> Devuelve las compras y retiros con tarjeta ya sincronizados desde el MCP de Global66 (filtro CARD_PURCHASES), del más reciente al más antiguo.



{/* AUTO-GENERATED by @emisso/codegen. DO NOT EDIT. */}

|                     |                                                                    |
| ------------------- | ------------------------------------------------------------------ |
| **Tool ID**         | `global66.compras_tarjeta.consultar`                               |
| **Nombre MCP**      | `global66__compras_tarjeta__consultar`                             |
| **Conector**        | `global66`                                                         |
| **Plano**           | `action`                                                           |
| **Lee el alcance**  | `movimientos_tarjetas` (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-Connection` en REST y campo `connectionId` en el `execute` 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`](/docs/referencia/conexiones/estado-consultar).

## Qué hace [#qué-hace]

Conserva los campos que entrega Global66; el contrato público no identifica tarjeta ni colaborador, y Connect no los infiere. No abre sesión en Global66.

## Entrada [#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.                                                                     |
| `cursor`    | string                 | no        | Cursor devuelto por la página anterior.                                                  |
| `limit`     | entero 1-500           | no        | Máximo de filas por página.                                                              |

<details>
  <summary>
    JSON Schema de entrada
  </summary>

  ```json
  {
    "$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.",
        "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
      }
    }
  }
  ```
</details>

## Salida [#salida]

| Campo                   | Tipo            | Requerido | Descripción                                                                      |                                                                                                                                                                                                                                           |
| ----------------------- | --------------- | --------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `compras`               | lista de objeto | sí        | Compras y retiros con tarjeta persistidos.                                       |                                                                                                                                                                                                                                           |
| `compras[].accountId`   | string          | sí        | Cuenta de la compra.                                                             |                                                                                                                                                                                                                                           |
| `compras[].movementId`  | string          | sí        | id del movimiento en Global66, o una huella sin\_id:… si Global66 no lo informa. |                                                                                                                                                                                                                                           |
| `compras[].fecha`       | string          | null      | sí                                                                               | Instante ISO 8601 con Z.                                                                                                                                                                                                                  |
| `compras[].datos`       | objeto          | sí        | Campos del movimiento tal como los entrega el MCP de Global66.                   |                                                                                                                                                                                                                                           |
| `compras[].observadoEn` | string          | sí        | Instante ISO 8601 con Z de la lectura.                                           |                                                                                                                                                                                                                                           |
| `completo`              | booleano        | null      | sí                                                                               | 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`        | string          | null      | sí                                                                               | Instante ISO 8601 con Z de la última lectura persistida del período (completa o parcial); null si nunca se persistió una.                                                                                                                 |
| `cursor`                | string          | null      | sí                                                                               | Cursor de la página siguiente.                                                                                                                                                                                                            |

<details>
  <summary>
    JSON Schema de salida
  </summary>

  ```json
  {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "compras": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "accountId": {
              "type": "string",
              "description": "Cuenta de la compra."
            },
            "movementId": {
              "type": "string",
              "description": "id del movimiento en Global66, o una huella sin_id:… si Global66 no lo informa."
            },
            "fecha": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Instante ISO 8601 con Z."
            },
            "datos": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {},
              "description": "Campos del movimiento tal como los entrega el MCP de Global66."
            },
            "observadoEn": {
              "type": "string",
              "description": "Instante ISO 8601 con Z de la lectura."
            }
          },
          "required": [
            "accountId",
            "movementId",
            "fecha",
            "datos",
            "observadoEn"
          ],
          "additionalProperties": false
        },
        "description": "Compras y retiros con tarjeta persistidos."
      },
      "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."
      }
    },
    "required": [
      "compras",
      "completo",
      "sincronizadoEn",
      "cursor"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Errores de esta tool [#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](/docs/referencia/errores).

## Próximos pasos [#próximos-pasos]

* [`global66.conexion.sincronizar`](/docs/referencia/global66/conexion-sincronizar): la tool que escribe los datos que esta lectura devuelve.
* [Sincronizar y consultar](/docs/conceptos/sincronizar-consultar): por qué leer datos reales son dos pasos.
