Deriv API
Documentation

Contrats pour

DonnéesPas d'authentification

Obtenir les contrats disponibles pour un symbole. Paramètres de requête réduits, données de marché supprimées de la réponse, et plusieurs champs de métadonnées de contrat supprimés.

Comparaison rapide

AspectLegacy APINew APIAction
Point de terminaisoncontracts_forcontracts_forAucun
Authentification requiseNonNonAucun
Complexité de la demande8 paramètres3 paramètresSupprimer les paramètres de filtrage
Structure de réponseImbriqué avec données de marchéSimplifiéMettre à jour l'analyse de réponse

Modifications majeures

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

Plusieurs paramètres de filtrage ont été supprimés de la demande :

  • currency (supprimé) - Le filtrage par devise n'est plus pris en charge dans la demande
  • landing_company, landing_company_short, product_type, loginid (supprimés)

2. Champs de données de marché supprimés de la réponse

Champs de timing de marché et de prix spot supprimés de l'objet contracts_for :

  • spot, open, close, feed_license, non_available (supprimés)

3. Champs d'affichage supprimés des éléments de contrat

Champs spécifiques à l'affichage supprimés des objets d'élément de contrat :

  • contract_display (supprimé)
  • contract_category_display (supprimé)

4. Champs de métadonnées de contrat supprimés

Plusieurs champs de métadonnées de contrat supprimés des objets d'élément de contrat :

  • barrier_category, start_type (supprimés) - Étaient requis dans l'ancienne version
  • forward_starting_options, trading_period (supprimés)

5. Options de contrat spécialisées supprimées

Champs de configuration spécialisés pour certains types de contrats supprimés :

  • duration_choices, trade_risk_profile_choices (supprimés) - Options de contrat Snowball

Structure de la demande

Legacy APIexemple de demande
{
  "contracts_for": "frxEURUSD",
  "currency": "USD",  // ❌ Removed in New
  "landing_company_short": "svg",  // ❌ Removed in New
  "product_type": "basic",  // ❌ Removed in New
  "loginid": "CR123456"  // ❌ Removed in New
}
New APIexemple de demande
{
  "contracts_for": "frxEURUSD"
}

Structure de réponse

Legacy APIexemple de réponse
{
  "contracts_for": {
    "available": [
      {
        "barrier_category": "euro_atm",  // ❌ Not in New
        "barriers": 0,
        "contract_category": "callput",
        "contract_category_display": "Up/Down",  // ❌ Not in New
        "contract_display": "Higher",  // ❌ Not in New
        "contract_type": "CALL",
        "exchange_name": "FOREX",
        "expiry_type": "intraday",
        "market": "forex",
        "sentiment": "up",
        "start_type": "spot",  // ❌ Not in New
        "submarket": "major_pairs",
        "underlying_symbol": "frxEURUSD"
      }
    ],
    "close": 1699574400,  // ❌ Not in New
    "feed_license": "realtime",  // ❌ Not in New
    "hit_count": 1,
    "open": 1699488000,  // ❌ Not in New
    "spot": 1.0850  // ❌ Not in New
  },
  "msg_type": "contracts_for"
}
New APIexemple de réponse
{
  "contracts_for": {
    "available": [
      {
        "barriers": 0,
        "contract_category": "callput",
        "contract_type": "CALL",
        "exchange_name": "FOREX",
        "expiry_type": "intraday",
        "market": "forex",
        "sentiment": "up",
        "submarket": "major_pairs",
        "underlying_symbol": "frxEURUSD"
      }
    ],
    "hit_count": 1
  },
  "msg_type": "contracts_for"
}

Exemples de code

async function getContractsFor(symbol) {
  const request = {
    contracts_for: symbol,
    currency: "USD",
    landing_company_short: "svg",
    product_type: "basic"
  };

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

  ws.onmessage = (event) => {
    const response = JSON.parse(event.data);
    if (response.msg_type === 'contracts_for') {
      const { spot, open, close } = response.contracts_for;
      console.log(`Spot: ${spot}, Open: ${open}, Close: ${close}`);

      response.contracts_for.available.forEach(c => {
        console.log(`Type: ${c.contract_type}`);
        console.log(`Display: ${c.contract_display}`);
        console.log(`Barrier Category: ${c.barrier_category}`);
      });
    }
  };
}
Click to open live chat support. Get instant help from our support team.