QvaPay API
Stocks

Portfolio

Obtener las posiciones de acciones, resumen del portafolio e historial de operaciones del usuario.

GET /stocks/portfolio

Retorna las posiciones actuales del usuario en acciones, un resumen del portafolio con valores de mercado y ganancias/pérdidas no realizadas, y el historial de operaciones recientes.

Autenticación

Bearer Token en el header Authorization.

Authorization: Bearer {tu-token}

Request

curl -X GET https://api.qvapay.com/stocks/portfolio \
  -H "Authorization: Bearer {tu-token}"

Parámetros de Query

ParámetroTipoRequeridoDescripción
pagenumberNoPágina del historial de operaciones. Por defecto: 1
takenumberNoCantidad de operaciones por página. Por defecto: 20, máximo: 50

Response

{
  "success": true,
  "data": {
    "positions": [
      {
        "id": "1",
        "symbol": "AAPL",
        "quantity": 1.279832,
        "avg_cost": 175.40,
        "current_price": 178.52,
        "market_value": 228.48,
        "cost_basis": 224.49,
        "unrealized_pnl": 3.99,
        "unrealized_pnl_percent": 1.78
      }
    ],
    "summary": {
      "total_market_value": 228.48,
      "total_cost_basis": 224.49,
      "total_unrealized_pnl": 3.99,
      "total_unrealized_pnl_percent": 1.78,
      "market_open": true
    },
    "trades": [
      {
        "id": "1",
        "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "symbol": "AAPL",
        "type": "buy",
        "quantity": 0.279832,
        "market_price": 178.25,
        "effective_price": 178.68,
        "spread_percent": 0.24,
        "fee_amount": 0.25,
        "total_amount": 50.25,
        "realized_pnl": null,
        "after_hours": false,
        "created_at": "2025-03-17T15:30:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "take": 20
    }
  }
}

Campos de posiciones

CampoTipoDescripción
idstringID de la posición
symbolstringSímbolo bursátil
quantitynumberCantidad de acciones en posesión
avg_costnumberCosto promedio de adquisición por acción
current_pricenumberPrecio actual de mercado
market_valuenumberValor de mercado actual de la posición
cost_basisnumberCosto base total de la posición
unrealized_pnlnumberGanancia/pérdida no realizada en USD
unrealized_pnl_percentnumberGanancia/pérdida no realizada en porcentaje

Campos de resumen

CampoTipoDescripción
total_market_valuenumberValor total de mercado de todas las posiciones
total_cost_basisnumberCosto base total de todas las posiciones
total_unrealized_pnlnumberGanancia/pérdida no realizada total en USD
total_unrealized_pnl_percentnumberGanancia/pérdida no realizada total en porcentaje
market_openbooleanIndica si el mercado está abierto actualmente

Campos de operaciones

CampoTipoDescripción
idstringID de la operación
uuidstringUUID único de la operación
symbolstringSímbolo de la acción
typestringTipo de operación: buy o sell
quantitynumberCantidad de acciones operadas
market_pricenumberPrecio de mercado al momento de la operación
effective_pricenumberPrecio efectivo (con spread)
spread_percentnumberPorcentaje de spread aplicado
fee_amountnumberComisión cobrada
total_amountnumberMonto total de la operación
realized_pnlnumber/nullGanancia/pérdida realizada (solo en ventas)
after_hoursbooleanSi la operación fue fuera de horario
created_atstringFecha y hora de la operación (ISO 8601)

Errores

CódigoDescripción
401No autenticado
429Demasiadas solicitudes
500Error al obtener el portafolio