Deriv API
Documentation

Tableau des profits

CompteAuthentification requise

Obtenir l'historique des profits et pertes. Le paramètre loginid supprimé, champs de réponse désormais requis, et validation assouplie.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonprofit_tableprofit_tableAucun
Authentification requiseOuiOuiAucun
Paramètre loginidPris en chargeSuppriméRetirer des requêtes
Champs de réponseFacultatifObligatoireMettre à jour la gestion des erreurs
Type app_identier | nullentierRetirer les vérifications de valeur nulle

Modifications majeures

1. Paramètre loginid supprimé

Le paramètre loginid n'est plus pris en charge dans les demandes. L'authentification est désormais gérée via des tokens de session.

2. app_id n'est plus nullable

Le champ app_id dans les transactions est passé de integer | null à integer.

3. Champs de réponse désormais requis

L'objet profit_table, count et transactions sont désormais requis dans la réponse.

4. Champs de transaction désormais requis

Les objets de transaction ont désormais des champs obligatoires : buy_price, payout, purchase_time, sell_price et transaction_id.

5. Validation assouplie

La validation côté serveur est plus souple pour les paramètres sort, limit, contract_type et les paramètres de date.

Modification requise : Implement client-side validation if you were relying on the server to reject invalid values.

Structure de la demande

Legacy APIexemple de demande
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC",
  "loginid": "CR12345"
}
New APIexemple de demande
{
  "profit_table": 1,
  "limit": 25,
  "sort": "ASC"
}

Structure de réponse

Legacy APIexemple de réponse
{
  "profit_table": {
    "count": 100,
    "transactions": [
      {
        "app_id": null,
        "buy_price": 10.00,
        "sell_price": 15.00
      }
    ]
  },
  "msg_type": "profit_table"
}
New APIexemple de réponse
{
  "profit_table": {
    "count": 100,
    "transactions": [
      {
        "app_id": 12345,
        "buy_price": 10.00,
        "sell_price": 15.00
      }
    ]
  },
  "msg_type": "profit_table"
}

Exemples de code

async function getProfitTable() {
  const request = {
    profit_table: 1,
    limit: 25,
    loginid: "CR12345"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'profit_table') {
      const count = response.profit_table?.count || 0;
      console.log('Total:', count);

      response.profit_table?.transactions?.forEach(t => {
        const appId = t.app_id ?? 'Unknown';
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.