Contrats pour
DonnéesPas d'authentificationObtenir 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.
5 changements majeurs
Le paramètre de requête
currency a été supprimé, les champs de données de marché ont été supprimés de la réponse, et les champs requis barrier_category et start_type ont été supprimés des éléments de contrat.Comparaison rapide
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 demandelanding_company,landing_company_short,product_type,loginid(supprimés)
Gestion de la devise modifiée
La devise de tarification du contrat est désormais déterminée par la devise du compte de l'utilisateur authentifié, et non par un paramètre de requête.
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)
Alternatives
Utilisez le point de terminaison
ticks pour les prix spot et trading_times pour les heures de marché.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 versionforward_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}`);
});
}
};
}D'autres questions ? Nous contacter