Deriv API
Documentation

Acheter

TradingAuthentification requise

Acheter un contrat. Le paramètre loginid a été supprimé et la validation du champ buy assouplie.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonbuybuyAucun
Authentification requiseOuiOuiAucun
Paramètre loginidFacultatifSuppriméRetirer des requêtes
Modèle de champ buyStrict (32-128 caractères)AssoupliValidation de la révision

Modifications majeures

1. Paramètre loginid supprimé

Le paramètre loginid a été supprimé dans la nouvelle version. Ce paramètre était auparavant utilisé pour l'authentification multi-comptes.

Modification requise : Supprimez le champ loginid de vos requêtes d'achat. La sélection de compte est désormais gérée via le token d'autorisation.

2. Validation du champ buy assouplie

The buy field no longer enforces the strict pattern ^(:[\w-]{{32,128}}|1)$.

Modification requise : Si vous avez une validation côté client correspondant au modèle legacy, vous pouvez l'assouplir.

3. Objet buy désormais requis dans la réponse

L'objet buy est désormais un champ obligatoire dans la réponse.

Modification requise : Mettez à jour la gestion des erreurs pour vous attendre à ce que l'objet buy soit toujours présent dans les réponses réussies.

Structure de la demande

Legacy APIexemple de demande
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "price": 10.50,
  "loginid": "CR123456"
}
New APIexemple de demande
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB",
  "price": 10.50
}

Structure de réponse

Legacy APIexemple de réponse
{
  "buy": {
    "balance_after": 9989.50,
    "buy_price": 10.50,
    "contract_id": 123456789,
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 20.00,
    "purchase_time": 1234567890,
    "shortcode": "CALL_R_100_20_1234567890_1234568190_S0P_0",
    "start_time": 1234567890,
    "transaction_id": 987654321
  },
  "echo_req": { "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB", "price": 10.50 },
  "msg_type": "buy"
}
New APIexemple de réponse
{
  "buy": {
    "balance_after": 9989.50,
    "buy_price": 10.50,
    "contract_id": 123456789,
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 20.00,
    "purchase_time": 1234567890,
    "shortcode": "CALL_R_100_20_1234567890_1234568190_S0P_0",
    "start_time": 1234567890,
    "transaction_id": 987654321
  },
  "echo_req": { "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfAB", "price": 10.50 },
  "msg_type": "buy"
}

Exemples de code

async function buyContract(proposalId, price, loginid) {
  const request = {
    buy: proposalId,
    price: price,
    // loginid used for multi-account support
    loginid: loginid
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === "buy") {
      // buy object may be missing in some cases
      if (response.buy) {
        console.log("Contract ID:", response.buy.contract_id);
      }
    }
  };
}
Click to open live chat support. Get instant help from our support team.