Deriv API
Documentation

Portefeuille

CompteAuthentification requise

Récupérez des informations sur le portefeuille actuel d'options en cours, y compris toutes les positions ouvertes pour le compte authentifié.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonportfolioportfolioAucun
Authentification requiseOuiOuiAucun
Champ Symbolsymbolunderlying_symbolMettre à jour les références de champs
Paramètre loginidFacultatifSuppriméRetirer des requêtes
Champ app_identier | nullentier uniquementMettre à jour la gestion des valeurs null

Modifications majeures

1. Champ Symbol renommé

Le champ symbol dans chaque objet de contrat a été renommé en underlying_symbol.

2. Paramètre LoginId supprimé

Le paramètre loginid a été retiré de la structure de requête. Le contexte de compte doit désormais être géré via le flux d'autorisation.

3. Le champ app_id ne peut plus être null

Le champ app_id dans chaque objet de contrat ne peut plus être null.

Modification requise : If your code handles null app_id values, update your logic to expect an integer value only.

Structure de la demande

Legacy APIexemple de demande
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"],
  "loginid": "CR1234567"  // ❌ Removed in New
}
New APIexemple de demande
{
  "portfolio": 1,
  "contract_type": ["CALL", "PUT"]
}

Structure de réponse

Legacy APIexemple de réponse
{
  "portfolio": {
    "contracts": [
      {
        "app_id": null,
        "contract_id": 123456789,
        "symbol": "R_100"  // ❌ Renamed in New
      }
    ]
  },
  "msg_type": "portfolio"
}
New APIexemple de réponse
{
  "portfolio": {
    "contracts": [
      {
        "app_id": 12345,
        "contract_id": 123456789,
        "underlying_symbol": "R_100"  // 🆕 Renamed from symbol
      }
    ]
  },
  "msg_type": "portfolio"
}

Exemples de code

async function getPortfolio() {
  const request = {
    portfolio: 1
  };

  ws.send(JSON.stringify(request));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "portfolio") {
      const contracts = response.portfolio.contracts;
      contracts.forEach(contract => {
        console.log(`Symbol: ${contract.symbol}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.