Aller au contenu principal

API Positions

Les positions représentent la détention agrégée de parts d'un opérateur pour un résultat spécifique dans un marché. Les positions sont mises à jour automatiquement lors de l'exécution des transactions.

Authentification : En-tête X-Api-Key requis.

Obtenir les positions

Récupère toutes les positions de votre compte opérateur.

GET /api/v1/positions

Paramètres de requête :

ParamètreTypeDescription
marketIdstringFiltrer les positions par marché

Exemple :

curl "https://polymarket.sandbox.playbatman.com/api/v1/positions?marketId=market-uuid" \
-H "X-Api-Key: your-api-key"

Réponse :

{
"success": true,
"data": [
{
"id": "position-uuid",
"marketId": "market-uuid",
"outcomeId": "outcome-uuid-1",
"operatorId": "operator-uuid",
"shares": "150",
"avgPrice": "0.62",
"totalCost": "93",
"realizedPnl": "0",
"createdAt": "2026-02-18T22:00:00.000Z",
"updatedAt": "2026-02-18T22:30:00.000Z"
},
{
"id": "position-uuid-2",
"marketId": "market-uuid",
"outcomeId": "outcome-uuid-2",
"operatorId": "operator-uuid",
"shares": "50",
"avgPrice": "0.38",
"totalCost": "19",
"realizedPnl": "5.20",
"createdAt": "2026-02-18T22:05:00.000Z",
"updatedAt": "2026-02-18T22:35:00.000Z"
}
]
}

Champs de position

ChampTypeDescription
idstringUUID de la position
marketIdstringMarché auquel appartient cette position
outcomeIdstringRésultat auquel correspond cette position
operatorIdstringOpérateur propriétaire
sharesstring (decimal)Solde de parts actuel
avgPricestring (decimal)Prix d'acquisition moyen pondéré par le volume
totalCoststring (decimal)Base de coût totale (shares * avgPrice)
realizedPnlstring (decimal)Profit/perte issu des transactions clôturées
createdAtstring (ISO 8601)Date de création initiale de la position
updatedAtstring (ISO 8601)Heure de la dernière mise à jour

Fonctionnement des positions

  • Une position est créée la première fois qu'un ordre d'un opérateur est apparié pour un résultat de marché donné
  • Les positions sont délimitées par (marketId, outcomeId, operatorId) — une position par opérateur par résultat
  • Les transactions BUY augmentent les shares et mettent à jour avgPrice
  • Les transactions SELL diminuent les shares et mettent à jour realizedPnl
  • Lorsque les parts atteignent 0, la position reste dans la base de données avec shares: "0" pour le suivi du PnL
  • Les ordres SELL sont validés par rapport à la position — vous ne pouvez pas vendre plus de parts que l'opérateur n'en détient
Positions au niveau opérateur

Les positions sont suivies au niveau de l'opérateur, et non au niveau du joueur. Si vous avez besoin d'un suivi des positions par joueur, maintenez ce mappage dans votre backend en utilisant le playerId provenant des données d'ordre.