Documentation

Proposal

TradingPas d'authentification

Obtenez le prix d’un contrat. symbol est renommé en underlying_symbol, les paramètres de requête et les types de contrats sont supprimés, et display_value ainsi que les champs Snowball ne sont plus renvoyés.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisonproposalproposalAucun
Authentification requiseNonNonAucun
symbol paramètresymbolunderlying_symbolRenommer dans les requêtes
loginid paramètreFacultatifSuppriméRetirer des requêtes
Cinq paramètres de requêteFacultatifSuppriméRetirer des requêtes
contract_type valeursInclut les spreads, les lookbacks et SnowballAjoute HIGHER et LOWERMettez à jour vos requêtes
display_valueRenvoyéSuppriméFormat ask_price vous-même

Modifications majeures

1. symbol renommé en underlying_symbol

Le paramètre obligatoire symbol est renommé en underlying_symbol.

Modification requise : Envoyer underlying_symbol au lieu de symbol.

2. loginid paramètre supprimé

Dans l’API Legacy, loginid sélectionnait le compte lorsque vous autorisiez plusieurs comptes. La nouvelle API ne l’accepte pas.

Modification requise : Supprimez loginid de vos requêtes proposal .

3. Paramètres de requête supprimés

La requête n’accepte plus barrier_range, date_start, product_type, trade_risk_profile ni trading_period_start.

Modification requise : Supprimez ces paramètres de vos requêtes proposal .

4. contract_type valeurs modifiées

contract_type n’accepte plus CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT, LBHIGHLOW, SNOWUP ni SNOWDOWN, et ajoute HIGHER et LOWER.

Modification requise : Cessez de demander les prix pour les types de contrats que la New API n’accepte plus.

5. display_value supprimé de la réponse

L’API Legacy renvoyait display_value, le prix formaté, dans chaque proposition. La nouvelle API ne le renvoie pas. ask_price, date_start, id, longcode, payout, spot et spot_time sont toujours renvoyés.

Modification requise : Formatez ask_price vous-même si vous affichiez display_value.

6. Détails des contrats Snowball supprimés

contract_details ne renvoie plus caution_price, coupon_rate, num_of_coupons, profit_price ni trade_risk_profile, qui décrivaient les contrats Snowball.

Modification requise : Cessez de lire ces champs.

Structure de la demande

Legacy APIexemple de demande
{
  "proposal": 1,
  "amount": 10,
  "basis": "stake",
  "contract_type": "CALL",
  "currency": "USD",
  "duration": 5,
  "duration_unit": "m",
  "product_type": "basic",
  "symbol": "R_100",
  "loginid": "CR123456",
  "req_id": 1
}
New APIexemple de demande
{
  "proposal": 1,
  "amount": 10,
  "basis": "stake",
  "contract_type": "CALL",
  "currency": "USD",
  "duration": 5,
  "duration_unit": "m",
  "underlying_symbol": "R_100",
  "req_id": 1
}

Structure de réponse

Legacy APIexemple de réponse
{
  "echo_req": {
    "proposal": 1,
    "amount": 10,
    "basis": "stake",
    "contract_type": "CALL",
    "currency": "USD",
    "duration": 5,
    "duration_unit": "m",
    "product_type": "basic",
    "symbol": "R_100",
    "loginid": "CR123456",
    "req_id": 1
  },
  "msg_type": "proposal",
  "proposal": {
    "ask_price": 10,
    "date_expiry": 1760000300,
    "date_start": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 19.55,
    "spot": 1234.56,
    "spot_time": 1760000000,
    "display_value": "10.00"
  },
  "req_id": 1
}
New APIexemple de réponse
{
  "echo_req": {
    "proposal": 1,
    "amount": 10,
    "basis": "stake",
    "contract_type": "CALL",
    "currency": "USD",
    "duration": 5,
    "duration_unit": "m",
    "underlying_symbol": "R_100",
    "req_id": 1
  },
  "msg_type": "proposal",
  "proposal": {
    "ask_price": 10,
    "date_expiry": 1760000300,
    "date_start": 1760000000,
    "id": "c84a793b-8a87-7999-ce10-9b22f7ceead3",
    "longcode": "Win payout if Volatility 100 Index is strictly higher than entry spot at 5 minutes after contract start time.",
    "payout": 19.55,
    "spot": 1234.56,
    "spot_time": 1760000000
  },
  "req_id": 1
}

Exemples de code

function getPrice(loginId) {
  ws.send(JSON.stringify({
    proposal: 1,
    amount: 10,
    basis: "stake",
    contract_type: "CALL",
    currency: "USD",
    duration: 5,
    duration_unit: "m",
    symbol: "R_100",
    loginid: loginId
  }));

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type !== "proposal" || !response.proposal) return;

    console.log("Price:", response.proposal.display_value);
    console.log("Payout:", response.proposal.payout);
  };
}
Click to open live chat support. Get instant help from our support team.