Connect

Consultar retiros de Mercado Pago

Lee los retiros de dinero de la cuenta de Mercado Pago de esta conexión (transferencias a cuentas bancarias, sus cancelaciones y retiros en efectivo), YA sincronizados desde los reportes «Dinero en cuenta» que la cuenta tiene.

Tool IDmercadopago.egresos.consultar
Nombre MCPmercadopago__egresos__consultar
Conectormercadopago
Planoaction
Lee el alcanceegresos (debe estar habilitado en la conexión)
Scope (permiso)mercadopago: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 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.

Qué hace

Sirve para conciliar salidas de fondos. Requiere el módulo 'egresos' habilitado en la conexión. Un retiro a una cuenta propia es movimiento de fondos, no un gasto. Lectura pura: NO contacta a Mercado Pago, NO genera reportes y no es saldo ni cartola completa. Revisa 'cobertura' antes de concluir que no hubo retiros. Para traer datos nuevos usa 'mercadopago.conexion.sincronizar' con 'egresos'. Pagina con 'cursor'.

Entrada

CampoTipoRequeridoDescripción
desdestring ^\d{4}-\d{2}-\d{2}$noPrimer día (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.
hastastring ^\d{4}-\d{2}-\d{2}$noÚltimo día, incluido (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.
tipo"retiro_bancario" · "retiro_bancario_cancelado" · "retiro_efectivo"noTrae sólo ese tipo. Omítelo para ver todos.
operacionIdstring ^[0-9A-Za-z][0-9A-Za-z_-]{0,99}$noTrae sólo esa operación, por su id de Mercado Pago (texto).
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": {
    "desde": {
      "description": "Primer día (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "hasta": {
      "description": "Último día, incluido (AAAA-MM-DD, por fecha de la operación en hora de Chile). Omítelo para no filtrar.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "tipo": {
      "description": "Trae sólo ese tipo. Omítelo para ver todos.",
      "type": "string",
      "enum": [
        "retiro_bancario",
        "retiro_bancario_cancelado",
        "retiro_efectivo"
      ]
    },
    "operacionId": {
      "description": "Trae sólo esa operación, por su id de Mercado Pago (texto).",
      "type": "string",
      "pattern": "^[0-9A-Za-z][0-9A-Za-z_-]{0,99}$"
    },
    "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/mercadopago.egresos.consultar/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
  -H "Content-Type: application/json" \
  -d '{"input":{"desde":"2026-10-01","hasta":"2026-10-15"}}'
MCP · meta-tool execute
{
  "tool": "mercadopago.egresos.consultar",
  "params": {
    "desde": "2026-10-01",
    "hasta": "2026-10-15"
  },
  "connectionId": "conn_9tKfR2mQx4Vb"
}

Salida esperada (200):

{
  "data": {
    "egresos": [
      {
        "operacionId": "88120034511",
        "tipo": "retiro_bancario",
        "tipoMercadoPago": "WITHDRAWAL",
        "moneda": "CLP",
        "monto": "-250000.00",
        "montoNeto": "-250000.00",
        "monedaLiquidacion": "CLP",
        "comision": null,
        "fechaOperacion": "2026-10-14T13:10:00.000Z",
        "fechaLiquidacion": "2026-10-14T13:10:00.000Z",
        "medioPago": null,
        "tipoMedioPago": null,
        "referenciaExterna": null,
        "conflicto": false,
        "reporteId": "17001104",
        "reporteCreadoEn": "2026-10-15T09:00:00.000Z",
        "sincronizadoEn": "2026-10-15T12:00:02.000Z"
      }
    ],
    "cobertura": {
      "busqueda": {
        "estado": "completa",
        "realizadaEn": "2026-10-15T12:00:01.000Z",
        "reportesListados": 1
      },
      "reportes": {
        "procesados": 1,
        "parciales": 0,
        "pendientes": 0,
        "noUsados": 0
      },
      "periodosLeidos": [
        {
          "desde": "2026-10-01T03:00:00.000Z",
          "hasta": "2026-10-15T02:59:59.000Z"
        }
      ],
      "ultimosReportes": [
        {
          "reporteId": "17001104",
          "periodoDesde": "2026-10-01T03:00:00.000Z",
          "periodoHasta": "2026-10-15T02:59:59.000Z",
          "creadoEn": "2026-10-15T09:00:00.000Z",
          "formato": "CSV",
          "estado": "procesado",
          "motivo": null,
          "retiros": 1
        }
      ]
    },
    "cursor": null
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "mercadopago.egresos.consultar",
    "plane": "action",
    "latency_ms": 24,
    "audit_status": "recorded"
  }
}

El signo y los importes son los del reporte. Fuera de 'periodosLeidos' no se acredita lectura completa de un reporte; puede haber filas de reportes parciales.

Salida

CampoTipoRequeridoDescripción
egresoslista de objetosíLos retiros y cancelaciones de retiro guardados, del más nuevo al más antiguo por fecha de la operación.
egresos[].operacionIdstringsíEl id de la operación en Mercado Pago (columna SOURCE_ID del reporte), como texto: no lo conviertas a número.
egresos[].tipo"retiro_bancario" · "retiro_bancario_cancelado" · "retiro_efectivo"sí'retiro_bancario': transferencia a una cuenta bancaria. 'retiro_bancario_cancelado': la CANCELACIÓN de una de esas transferencias; es otra operación, no borra la original ni es un reembolso de un cobro. 'retiro_efectivo': retiro de dinero en efectivo. Un retiro mueve fondos de la cuenta: Mercado Pago no informa si el destino es propio, así que no lo trates como un gasto.
egresos[].tipoMercadoPagostringsíEl tipo tal como lo nombra el reporte (WITHDRAWAL, WITHDRAWAL_CANCEL o PAYOUT).
egresos[].monedastringsíLa moneda de la operación (ISO 4217) según el reporte. Siempre presente.
egresos[].montostringsíEl importe de la operación según el reporte, con el signo que trae el reporte, en decimal como texto (por ejemplo "15990" o "1250.5") y en la moneda de 'moneda'. No lo sumes con importes de otra moneda.
egresos[].montoNetostringnullsí
egresos[].monedaLiquidacionstringnullsí
egresos[].comisionstringnullsí
egresos[].fechaOperacionstringsíCuándo se originó la operación (ISO 8601, UTC).
egresos[].fechaLiquidacionstringnullsí
egresos[].medioPagostringnullsí
egresos[].tipoMedioPagostringnullsí
egresos[].referenciaExternastringnullsí
egresos[].conflictobooleanosítrue si OTRO reporte trajo esta misma operación con moneda, importe o fecha distintos. Se conservan los datos primeros; no los uses para conciliar sin revisar en Mercado Pago.
egresos[].reporteIdstringsíEl id del reporte de Mercado Pago del que sale la versión guardada (el más nuevo que la trajo).
egresos[].reporteCreadoEnstringsíCuándo generó Mercado Pago ese reporte (ISO 8601).
egresos[].sincronizadoEnstringsíCuándo guardó Connect esta versión (ISO 8601).
coberturaobjetosíQué respalda la lista. Los retiros salen SOLO de los reportes «Dinero en cuenta» que ya existen en la cuenta: Connect no los genera ni cambia su configuración. Una lista vacía, una búsqueda sin reportes o 'sin_acceso' NO prueban que no haya retiros, y esto no es una cartola completa.
cobertura.busquedaobjetosíEstado de la última búsqueda de reportes, independiente de su descarga y lectura.
cobertura.busqueda.estado"nunca" · "completa" · "parcial" · "sin_acceso" · "error_transitorio"síCómo terminó la última búsqueda de reportes. 'nunca': aún no se sincronizó este módulo. 'sin_acceso': Mercado Pago no dejó listar reportes con esta autorización.
cobertura.busqueda.realizadaEnstringnullsí
cobertura.busqueda.reportesListadosenterosíCuántos reportes listó esa búsqueda.
cobertura.reportesobjetosíCantidad de reportes conocidos según su estado de lectura; incluye ejecuciones anteriores.
cobertura.reportes.procesadosenterosíReportes leídos enteros.
cobertura.reportes.parcialesenterosíReportes leídos con filas ilegibles.
cobertura.reportes.pendientesenterosíReportes que se reintentan en la próxima sincronización.
cobertura.reportes.noUsadosenterosíReportes que no se pudieron usar (formato, cuenta, moneda, conflicto, vacío).
cobertura.periodosLeidoslista de objetosíLos períodos de los reportes leídos enteros, unidos. Fuera de ellos no se acredita lectura completa de un reporte; puede haber filas de reportes parciales. Dentro, la lista refleja lo que traían esos reportes: si la cuenta los configuró sin retiros, no aparecen.
cobertura.periodosLeidos[].desdestringsíInicio (ISO 8601).
cobertura.periodosLeidos[].hastastringsíFin (ISO 8601).
cobertura.ultimosReporteslista de objetosíLos reportes más recientes que vio Connect (hasta 20), con lo que pasó con cada uno.
cobertura.ultimosReportes[].reporteIdstringsíEl id del reporte en Mercado Pago.
cobertura.ultimosReportes[].periodoDesdestringnullsí
cobertura.ultimosReportes[].periodoHastastringnullsí
cobertura.ultimosReportes[].creadoEnstringnullsí
cobertura.ultimosReportes[].formatostringnullsí
cobertura.ultimosReportes[].estado"listado" · "pendiente_proveedor" · "error_transitorio" · "sin_acceso" · "procesado" · "parcial" · …síQué hizo Connect con él. 'procesado': leído entero. 'parcial': leído con filas ilegibles. 'listado', 'pendiente_proveedor', 'error_transitorio' o 'sin_acceso': se reintenta. 'no_soportado' (por ejemplo XLSX o encabezados traducidos), 'conflicto', 'cuenta_ajena', 'moneda_distinta', 'demasiado_grande' o 'vacio': no se usó.
cobertura.ultimosReportes[].motivostringnullsí
cobertura.ultimosReportes[].retirosenterosíFilas de retiro o cancelación que traía el archivo leído.
cursorstringnullsí
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "egresos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "operacionId": {
            "type": "string",
            "description": "El id de la operación en Mercado Pago (columna SOURCE_ID del reporte), como texto: no lo conviertas a número."
          },
          "tipo": {
            "type": "string",
            "enum": [
              "retiro_bancario",
              "retiro_bancario_cancelado",
              "retiro_efectivo"
            ],
            "description": "'retiro_bancario': transferencia a una cuenta bancaria. 'retiro_bancario_cancelado': la CANCELACIÓN de una de esas transferencias; es otra operación, no borra la original ni es un reembolso de un cobro. 'retiro_efectivo': retiro de dinero en efectivo. Un retiro mueve fondos de la cuenta: Mercado Pago no informa si el destino es propio, así que no lo trates como un gasto."
          },
          "tipoMercadoPago": {
            "type": "string",
            "description": "El tipo tal como lo nombra el reporte (WITHDRAWAL, WITHDRAWAL_CANCEL o PAYOUT)."
          },
          "moneda": {
            "type": "string",
            "description": "La moneda de la operación (ISO 4217) según el reporte. Siempre presente."
          },
          "monto": {
            "type": "string",
            "description": "El importe de la operación según el reporte, con el signo que trae el reporte, en decimal como texto (por ejemplo \"15990\" o \"1250.5\") y en la moneda de 'moneda'. No lo sumes con importes de otra moneda."
          },
          "montoNeto": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "El importe neto que impactó el saldo según el reporte, con su signo, en decimal como texto y en la moneda de 'moneda'. null cuando Mercado Pago no lo informó: null NO es cero."
          },
          "monedaLiquidacion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "La moneda del neto según el reporte. null si no vino."
          },
          "comision": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Las comisiones de la operación según el reporte, con su signo; no atribuyas una moneda que el reporte no identifica para este campo, en decimal como texto y en la moneda de 'moneda'. null cuando Mercado Pago no lo informó: null NO es cero."
          },
          "fechaOperacion": {
            "type": "string",
            "description": "Cuándo se originó la operación (ISO 8601, UTC)."
          },
          "fechaLiquidacion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Cuándo se liquidó según el reporte (ISO 8601, UTC). null si Mercado Pago no la informó."
          },
          "medioPago": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "El medio según el reporte. null si no vino."
          },
          "tipoMedioPago": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "El tipo de medio según el reporte. null si no vino."
          },
          "referenciaExterna": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "La referencia de la operación según el reporte, tal cual. Puede no existir."
          },
          "conflicto": {
            "type": "boolean",
            "description": "true si OTRO reporte trajo esta misma operación con moneda, importe o fecha distintos. Se conservan los datos primeros; no los uses para conciliar sin revisar en Mercado Pago."
          },
          "reporteId": {
            "type": "string",
            "description": "El id del reporte de Mercado Pago del que sale la versión guardada (el más nuevo que la trajo)."
          },
          "reporteCreadoEn": {
            "type": "string",
            "description": "Cuándo generó Mercado Pago ese reporte (ISO 8601)."
          },
          "sincronizadoEn": {
            "type": "string",
            "description": "Cuándo guardó Connect esta versión (ISO 8601)."
          }
        },
        "required": [
          "operacionId",
          "tipo",
          "tipoMercadoPago",
          "moneda",
          "monto",
          "montoNeto",
          "monedaLiquidacion",
          "comision",
          "fechaOperacion",
          "fechaLiquidacion",
          "medioPago",
          "tipoMedioPago",
          "referenciaExterna",
          "conflicto",
          "reporteId",
          "reporteCreadoEn",
          "sincronizadoEn"
        ],
        "additionalProperties": false
      },
      "description": "Los retiros y cancelaciones de retiro guardados, del más nuevo al más antiguo por fecha de la operación."
    },
    "cobertura": {
      "type": "object",
      "properties": {
        "busqueda": {
          "type": "object",
          "properties": {
            "estado": {
              "type": "string",
              "enum": [
                "nunca",
                "completa",
                "parcial",
                "sin_acceso",
                "error_transitorio"
              ],
              "description": "Cómo terminó la última búsqueda de reportes. 'nunca': aún no se sincronizó este módulo. 'sin_acceso': Mercado Pago no dejó listar reportes con esta autorización."
            },
            "realizadaEn": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Cuándo se buscaron reportes por última vez (ISO 8601)."
            },
            "reportesListados": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991,
              "description": "Cuántos reportes listó esa búsqueda."
            }
          },
          "required": [
            "estado",
            "realizadaEn",
            "reportesListados"
          ],
          "additionalProperties": false,
          "description": "Estado de la última búsqueda de reportes, independiente de su descarga y lectura."
        },
        "reportes": {
          "type": "object",
          "properties": {
            "procesados": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991,
              "description": "Reportes leídos enteros."
            },
            "parciales": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991,
              "description": "Reportes leídos con filas ilegibles."
            },
            "pendientes": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991,
              "description": "Reportes que se reintentan en la próxima sincronización."
            },
            "noUsados": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991,
              "description": "Reportes que no se pudieron usar (formato, cuenta, moneda, conflicto, vacío)."
            }
          },
          "required": [
            "procesados",
            "parciales",
            "pendientes",
            "noUsados"
          ],
          "additionalProperties": false,
          "description": "Cantidad de reportes conocidos según su estado de lectura; incluye ejecuciones anteriores."
        },
        "periodosLeidos": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "desde": {
                "type": "string",
                "description": "Inicio (ISO 8601)."
              },
              "hasta": {
                "type": "string",
                "description": "Fin (ISO 8601)."
              }
            },
            "required": [
              "desde",
              "hasta"
            ],
            "additionalProperties": false
          },
          "description": "Los períodos de los reportes leídos enteros, unidos. Fuera de ellos no se acredita lectura completa de un reporte; puede haber filas de reportes parciales. Dentro, la lista refleja lo que traían esos reportes: si la cuenta los configuró sin retiros, no aparecen."
        },
        "ultimosReportes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "reporteId": {
                "type": "string",
                "description": "El id del reporte en Mercado Pago."
              },
              "periodoDesde": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Inicio del período que dice cubrir el reporte (ISO 8601). null si no vino."
              },
              "periodoHasta": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Fin del período que dice cubrir el reporte (ISO 8601). null si no vino."
              },
              "creadoEn": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Cuándo lo generó Mercado Pago (ISO 8601)."
              },
              "formato": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "El formato que informa Mercado Pago ('CSV', 'XLSX')."
              },
              "estado": {
                "type": "string",
                "enum": [
                  "listado",
                  "pendiente_proveedor",
                  "error_transitorio",
                  "sin_acceso",
                  "procesado",
                  "parcial",
                  "conflicto",
                  "cuenta_ajena",
                  "moneda_distinta",
                  "no_soportado",
                  "demasiado_grande",
                  "vacio"
                ],
                "description": "Qué hizo Connect con él. 'procesado': leído entero. 'parcial': leído con filas ilegibles. 'listado', 'pendiente_proveedor', 'error_transitorio' o 'sin_acceso': se reintenta. 'no_soportado' (por ejemplo XLSX o encabezados traducidos), 'conflicto', 'cuenta_ajena', 'moneda_distinta', 'demasiado_grande' o 'vacio': no se usó."
              },
              "motivo": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Código del motivo cuando no quedó 'procesado' (por ejemplo 'xlsx' o 'columnas_faltantes')."
              },
              "retiros": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991,
                "description": "Filas de retiro o cancelación que traía el archivo leído."
              }
            },
            "required": [
              "reporteId",
              "periodoDesde",
              "periodoHasta",
              "creadoEn",
              "formato",
              "estado",
              "motivo",
              "retiros"
            ],
            "additionalProperties": false
          },
          "description": "Los reportes más recientes que vio Connect (hasta 20), con lo que pasó con cada uno."
        }
      },
      "required": [
        "busqueda",
        "reportes",
        "periodosLeidos",
        "ultimosReportes"
      ],
      "additionalProperties": false,
      "description": "Qué respalda la lista. Los retiros salen SOLO de los reportes «Dinero en cuenta» que ya existen en la cuenta: Connect no los genera ni cambia su configuración. Una lista vacía, una búsqueda sin reportes o 'sin_acceso' NO prueban que no haya retiros, y esto no es una cartola completa."
    },
    "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": [
    "egresos",
    "cobertura",
    "cursor"
  ],
  "additionalProperties": false
}

Errores de esta tool

CódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
connection_not_found404noUsa uno de los connectionId que lista el error, o revisa la conexión en /connections. No hace falta reactivar nada.
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