Consultar reembolsos de Mercado Pago
Lee los reembolsos YA sincronizados de los pagos que recibió la cuenta de Mercado Pago de esta conexión, con su monto, estado y fecha.
| Tool ID | mercadopago.reembolsos.consultar |
| Nombre MCP | mercadopago__reembolsos__consultar |
| Conector | mercadopago |
| Plano | action |
| Lee el alcance | pagos (debe estar habilitado en la conexión) |
| Scope (permiso) | mercadopago:read |
| Auth | none |
| Versión | 1 |
| 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 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
Connect sólo los lee: nunca crea ni cancela un reembolso. Lectura pura: NO contacta a Mercado Pago ni dispara una sincronización. Revisa 'cobertura' antes de concluir que no hay pagos: una lista vacía con 'cobertura.completa' en false no lo prueba. Para traer datos nuevos usa 'mercadopago.conexion.sincronizar'. Pagina con 'cursor'.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
pagoId | string ^[1-9][0-9]{0,30}$ | no | Trae sólo los reembolsos de ese pago (id de Mercado Pago, texto). |
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": {
"pagoId": {
"description": "Trae sólo los reembolsos de ese pago (id de Mercado Pago, texto).",
"type": "string",
"pattern": "^[1-9][0-9]{0,30}$"
},
"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 -X POST https://connect.emisso.ai/api/v1/tools/mercadopago.reembolsos.consultar/execute \
-H "Authorization: Bearer connect_sk_…" \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"pagoId":"1325001234"}}'{
"tool": "mercadopago.reembolsos.consultar",
"params": {
"pagoId": "1325001234"
},
"connectionId": "conn_9tKfR2mQx4Vb"
}Salida esperada (200):
{
"data": {
"reembolsos": [
{
"reembolsoId": "2100776655",
"pagoId": "1325001234",
"moneda": "CLP",
"monto": "5000",
"estado": "approved",
"fechaCreacion": "2026-10-15T12:00:00.000Z",
"modo": "standard",
"sincronizadoEn": "2026-10-15T16:00:02.000Z"
}
],
"cobertura": {
"desde": "2025-10-24T16:00:00.000Z",
"hasta": "2026-10-15T15:58:00.000Z",
"completa": true,
"ventanasSinLeer": 0,
"sincronizadoEn": "2026-10-15T16:00:02.000Z"
},
"cursor": null
},
"meta": {
"request_id": "req_…",
"tool_id": "mercadopago.reembolsos.consultar",
"plane": "action",
"latency_ms": 24,
"audit_status": "recorded"
}
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
reembolsos | lista de objeto | sí | Los reembolsos de los pagos recibidos, del más nuevo al más antiguo. |
reembolsos[].reembolsoId | string | sí | El id del reembolso en Mercado Pago, como texto. |
reembolsos[].pagoId | string | sí | El id del pago en Mercado Pago, como texto: no lo conviertas a número. |
reembolsos[].moneda | string | sí | La moneda del pago reembolsado (ISO 4217). |
reembolsos[].monto | string | null | sí |
reembolsos[].estado | string | null | sí |
reembolsos[].fechaCreacion | string | null | sí |
reembolsos[].modo | string | null | sí |
reembolsos[].sincronizadoEn | string | sí | Cuándo guardó Connect este reembolso (ISO 8601). |
cobertura | objeto | sí | Qué cubre lo guardado. Payments search NO es una cartola: no incluye retiros, transferencias, saldo ni movimientos que no sean pagos recibidos. |
cobertura.desde | string | null | sí |
cobertura.hasta | string | null | sí |
cobertura.completa | booleano | sí | true sólo si el histórico llegó al límite que permite Mercado Pago (los últimos 12 meses) y no quedó ninguna ventana sin leer. En false, una lista vacía o un total NO prueban que no haya pagos: dilo así. |
cobertura.ventanasSinLeer | entero | sí | Cuántos tramos de tiempo no se pudieron leer completos (demasiados pagos o resultados inestables). Con alguno, 'completa' es false. |
cobertura.sincronizadoEn | string | null | sí |
cursor | string | null | sí |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"reembolsos": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reembolsoId": {
"type": "string",
"description": "El id del reembolso en Mercado Pago, como texto."
},
"pagoId": {
"type": "string",
"description": "El id del pago en Mercado Pago, como texto: no lo conviertas a número."
},
"moneda": {
"type": "string",
"description": "La moneda del pago reembolsado (ISO 4217)."
},
"monto": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Lo reembolsado, en decimal como texto y en la moneda de 'moneda'. null cuando Mercado Pago no lo informó: null NO es cero."
},
"estado": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El estado del reembolso según Mercado Pago ('approved'…). null si no vino."
},
"fechaCreacion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cuándo se hizo el reembolso (ISO 8601, UTC). null si Mercado Pago no la informó."
},
"modo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "El modo del reembolso según Mercado Pago ('standard'…). null si no vino."
},
"sincronizadoEn": {
"type": "string",
"description": "Cuándo guardó Connect este reembolso (ISO 8601)."
}
},
"required": [
"reembolsoId",
"pagoId",
"moneda",
"monto",
"estado",
"fechaCreacion",
"modo",
"sincronizadoEn"
],
"additionalProperties": false
},
"description": "Los reembolsos de los pagos recibidos, del más nuevo al más antiguo."
},
"cobertura": {
"type": "object",
"properties": {
"desde": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Desde cuándo están guardados TODOS los pagos de la cuenta, según su fecha de última actualización (ISO 8601). null si nunca se sincronizó."
},
"hasta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Hasta cuándo están guardados todos los pagos (ISO 8601). Lo posterior aún no se lee: no es saldo ni movimiento en tiempo real."
},
"completa": {
"type": "boolean",
"description": "true sólo si el histórico llegó al límite que permite Mercado Pago (los últimos 12 meses) y no quedó ninguna ventana sin leer. En false, una lista vacía o un total NO prueban que no haya pagos: dilo así."
},
"ventanasSinLeer": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Cuántos tramos de tiempo no se pudieron leer completos (demasiados pagos o resultados inestables). Con alguno, 'completa' es false."
},
"sincronizadoEn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Cuándo terminó la última sincronización que guardó datos (ISO 8601). null si nunca."
}
},
"required": [
"desde",
"hasta",
"completa",
"ventanasSinLeer",
"sincronizadoEn"
],
"additionalProperties": false,
"description": "Qué cubre lo guardado. Payments search NO es una cartola: no incluye retiros, transferencias, saldo ni movimientos que no sean pagos recibidos."
},
"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": [
"reembolsos",
"cobertura",
"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
mercadopago.conexion.sincronizar: la tool que escribe los datos que esta lectura devuelve.- Sincronizar y consultar: por qué leer datos reales son dos pasos.