Documentation

Acheter

TradingAuthentification requise

Achetez un contrat. Le paramètre loginid est supprimé, et plusieurs champs dans parameters ont changé.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonbuybuyAucun
Authentification requiseOuiOuiAucun
loginid paramètreFacultatifSuppriméRetirer des requêtes
parameters.symbolObligatoireRenommé en underlying_symbolRenommer dans les requêtes
Cinq parameters champsAcceptéSuppriméRetirer des requêtes
contract_type valeursInclut les types spread, lookback et snowAjoute HIGHER et LOWERVérifier les types de contrats

Modifications majeures

1. loginid paramètre 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 buy . La sélection du compte est désormais gérée par le token d’autorisation.

2. parameters.symbol renommé en parameters.underlying_symbol

Le champ symbol dans parameters est désormais underlying_symbol. La New API indique underlying_symbol comme obligatoire dans parameters, donc une demande qui envoie encore parameters.symbol échoue.

Modification requise : Renommez parameters.symbol en parameters.underlying_symbol dans vos requêtes buy .

3. Champs supprimés de parameters

Ces champs sont supprimés de parameters dans la New API : barrier_range, date_start, product_type, trade_risk_profile et trading_period_start.

Modification requise : Supprimez ces champs de l’objet parameters dans vos requêtes buy .

4. contract_type valeurs modifiées

La liste parameters.contract_type n'inclut plus CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT, LBHIGHLOW, SNOWUP ou SNOWDOWN. Elle ajoute HIGHER et LOWER.

Modification requise : N'envoyez plus les types de contrats supprimés. Utilisez plutôt l'une des valeurs indiquées par la New API.

Structure de la demande

Legacy APIexemple de demande
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz",
  "price": 10.50,
  "loginid": "CR123456"
}
New APIexemple de demande
{
  "buy": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz",
  "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": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz", "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": "uw2mk7no3oktoRVVsB4Dz7TQnFfABuFDgO95dlxfMxRuPUsz", "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.