{
  "info": {
    "_postman_id": "c5fc5501-6da8-4679-95a5-98e3a284e9fd",
    "name": "Telepagos V2",
    "description": "Colección de endpoints definidos en routes/v2.php. Las rutas cuelgan del prefijo /v2. Salvo auth/token, todas requieren bearer token y pasan por middleware jwt.auth, roles e ip.usuario; algunos endpoints agregan restricción exclusiva para rol empresa.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "54196316",
    "_collection_link": "https://go.postman.co/collection/54196316-c5fc5501-6da8-4679-95a5-98e3a284e9fd?source=collection_link"
  },
  "item": [
    {
      "name": "Autenticación y generación de credenciales API",
      "item": [
        {
          "name": "Obtener Token",
          "event": [
            {
              "listen": "test",
              "script": {
                "exec": [
                  "pm.test('HTTP exitoso', function () {",
                  "    pm.expect(pm.response.code).to.be.oneOf([200, 201]);",
                  "});",
                  "",
                  "var jsonData = pm.response.json();",
                  "var token = jsonData.token || jsonData.access_token || (jsonData.data && (jsonData.data.token || jsonData.data.access_token));",
                  "",
                  "pm.test('La respuesta contiene un token', function () {",
                  "    pm.expect(token, 'No se encontró token en token, access_token o data.token').to.be.a('string').and.not.empty;",
                  "});",
                  "",
                  "if (token) {",
                  "    pm.collectionVariables.set('bearer_token', token);",
                  "}"
                ],
                "type": "text/javascript",
                "packages": {},
                "requests": {}
              }
            }
          ],
          "request": {
            "auth": {
              "type": "noauth"
            },
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"username\": \"\",\n  \"password\": \"\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/auth/token",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "auth",
                "token"
              ]
            },
            "description": "Endpoint público para obtener el token JWT."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Operaciónes de consulta de cuenta",
      "item": [
        {
          "name": "Consulta de saldo",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/account/balance",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "account",
                "balance"
              ]
            },
            "description": "Obtiene el saldo de la cuenta autenticada."
          },
          "response": []
        },
        {
          "name": "Obtención de movimientos",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/account/transactions?date_from=2026-05-01&date_to=2026-05-31&operation=&sale_point_id=&paginate=1&page=1",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "account",
                "transactions"
              ],
              "query": [
                {
                  "key": "date_from",
                  "value": "2026-05-01",
                  "description": "REQUIRED. Fecha desde. Formatos válidos: Y-m-d o Y-m-dTH:i:s."
                },
                {
                  "key": "date_to",
                  "value": "2026-05-31",
                  "description": "REQUIRED. Fecha hasta. Formatos válidos: Y-m-d o Y-m-dTH:i:s."
                },
                {
                  "key": "operation",
                  "value": "",
                  "description": "Opcional. Filtra por id de operación."
                },
                {
                  "key": "sale_point_id",
                  "value": "",
                  "description": "Opcional. Filtra por punto de venta."
                },
                {
                  "key": "paginate",
                  "value": "1",
                  "description": "Opcional. Si se envia con valor truthy, habilita paginacion."
                },
                {
                  "key": "page",
                  "value": "1",
                  "description": "Opcional. Número de página cuando paginate está activo."
                }
              ]
            },
            "description": "Lista movimientos de la cuenta autenticada."
          },
          "response": []
        },
        {
          "name": "Obtención de operaciones",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/account/transactions_filters",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "account",
                "transactions_filters"
              ],
              "query": [
                {
                  "key": "enviaAvisoAcreditacion",
                  "value": "1",
                  "description": "Opcional. Si se envía, devuelve solo operaciones con aviso de acreditación.",
                  "disabled": true
                }
              ]
            },
            "description": "Obtiene filtros disponibles para la consulta de movimientos."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Operaciones de transferencias salientes",
      "item": [
        {
          "name": "Obtención de conceptos",
          "protocolProfileBehavior": {
            "disableBodyPruning": true
          },
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/concepts",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "concepts"
              ]
            },
            "description": "Obtiene los conceptos disponibles para pagos."
          },
          "response": []
        },
        {
          "name": "Obtención de comprobantes de transferencias",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/payment/cashout/:cashout_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashout",
                ":cashout_id"
              ],
              "variable": [
                {
                  "key": "cashout_id",
                  "value": "{{cashout_id}}"
                }
              ]
            },
            "description": "Obtiene el comprobante de un cashout."
          },
          "response": []
        },
        {
          "name": "Generación de orden de transferencia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"cvu\": string,\n    \"alias\": string,\n    \"cuit\": string,\n    \"amount\": decimal,\n    \"reference_id\": string,\n    \"concept\": string,\n    \"description\": string\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashout",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashout"
              ]
            },
            "description": "Genera una transferencia online. Requiere rol empresa."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Operaciones de transferencias entrantes",
      "item": [
        {
          "name": "Obtención de detalle de acreditación",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/:cashin_id",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                ":cashin_id"
              ],
              "variable": [
                {
                  "key": "cashin_id",
                  "value": "{{cashin_id}}"
                }
              ]
            },
            "description": "Consulta el estado de una acreditación."
          },
          "response": []
        },
        {
          "name": "Generación de QR",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"amount\": decimal,\n    \"concept\": string,\n    \"description\": string,\n    \"sale_point_id\":int\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "generate"
              ]
            },
            "description": "Genera un QR de cobro."
          },
          "response": []
        },
        {
          "name": "Generación de iniciador de transferencia",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"cvu\": string,\n    \"cuit\": string,\n    \"amount\": decimal,\n    \"concept\": string,\n    \"description\": string\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/transfer/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "transfer",
                "generate"
              ]
            },
            "description": "Genera un link o instruccion de transferencia para cashin."
          },
          "response": []
        },
        {
          "name": "Generación de link de pago",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"expiration_date\": \"Y-m-d H:m:s\",\n    \"amount\": decimal,\n    \"multiple_use\": bool,\n    \"concept\": string,\n    \"distribution\": (opcional) [\n        {\n        \"cvu\": string,\n        \"amount\": decimal\n        }\n    ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/link/generate",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "link",
                "generate"
              ]
            },
            "description": "Genera un link de cobro para cashin."
          },
          "response": []
        }
      ]
    },
    {
      "name": "Operaciones de cobro y generación de QR",
      "item": [
        {
          "name": "Obtención de puntos de venta",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/sale-point",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "sale-point"
              ]
            },
            "description": "Lista puntos de venta asociados a QR."
          },
          "response": []
        },
        {
          "name": "Generación de punto de venta",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": string,\n  \"description\": string (optional)\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/sale-point",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "sale-point"
              ]
            },
            "description": "Crea un punto de venta para QR."
          },
          "response": []
        },
        {
          "name": "Eliminación de punto de venta",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sale_point_id\": 1\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/sale-point",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "sale-point"
              ]
            },
            "description": "Da de baja un punto de venta. El cuerpo es orientativo y puede ajustarse según la implementación real."
          },
          "response": []
        },
        {
          "name": "Sale Point - Static",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              }
            ],
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/sale-point/static?sale_point_id=1&client_id=&type_amount=open",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "sale-point",
                "static"
              ],
              "query": [
                {
                  "key": "sale_point_id",
                  "value": "1",
                  "description": "Condicional obligatorio. Enviar este o client_id, pero no ambos."
                },
                {
                  "key": "client_id",
                  "value": "",
                  "description": "Condicional obligatorio. Enviar este o sale_point_id, pero no ambos."
                },
                {
                  "key": "type_amount",
                  "value": "open",
                  "description": "REQUIRED. Valores válidos: open, closed."
                }
              ]
            },
            "description": "Imprime u obtiene el QR estático de un punto de venta."
          },
          "response": []
        },
        {
          "name": "Generación de orden de cobro QR",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Accept",
                "value": "application/json",
                "type": "text"
              },
              {
                "key": "Content-Type",
                "value": "application/json",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"sale_point_id\": int,\n  \"amount\": decimal ,\n  \"concept\":string,\n  \"description\": string\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{base_url}}/v2/payment/cashin/qr/static/order",
              "host": [
                "{{base_url}}"
              ],
              "path": [
                "v2",
                "payment",
                "cashin",
                "qr",
                "static",
                "order"
              ]
            },
            "description": "Genera una orden sobre un punto de venta QR estático."
          },
          "response": []
        }
      ]
    }
  ],
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{bearer_token}}",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "packages": {},
        "requests": {},
        "exec": [
          ""
        ]
      }
    },
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "packages": {},
        "requests": {},
        "exec": [
          ""
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://api.homo.telepagos.com.ar"
    },
    {
      "key": "bearer_token",
      "value": ""
    },
    {
      "key": "cashout_id",
      "value": "1"
    },
    {
      "key": "cashin_id",
      "value": "1"
    }
  ]
}