Proposal
TradingPas d'authentificationObtenir la tarification et les propositions de contrat avec des changements majeurs dans la structure des paramètres et le format de réponse.
10 changements incompatibles
symbol renommé en underlying_symbol, plusieurs paramètres de requête supprimés, et champs de réponse réduits.Comparaison rapide
Modifications majeures
1. Paramètre Symbol renommé
Le paramètre symbol a été renommé underlying_symbol.
Modification requise : Mettez à jour toutes les requêtes pour utiliser underlying_symbol au lieu de symbol.
2. Paramètre LoginID supprimé
Le paramètre loginid utilisé pour les scénarios d'autorisation multi-token a été supprimé.
3. Plusieurs paramètres de requête supprimés
Les paramètres suivants ont été supprimés de la demande :
barrier_range,product_type,date_start,trade_risk_profile,trading_period_start(supprimé)
4. Objet proposal de réponse désormais requis
L'objet proposal dans la réponse est désormais requis. Auparavant, il était optionnel.
5. Champs obligatoires de proposition réduits
L'objet proposal ne nécessite désormais que le champ id. Auparavant, 8 champs étaient requis.
Modification requise : Add null/undefined checks for fields other than id as they may not always be present.
6. Types de champs de réponse modifiés
Plusieurs champs de réponse acceptent désormais à la fois des nombres et des chaînes : ask_price, payout, et commission.
Modification requise : Update parsing logic to handle both number and string values for these fields.
Structure de la demande
{
"proposal": 1,
"amount": 10,
"contract_type": "CALL",
"currency": "USD",
"symbol": "frxEURUSD", // ❌ Renamed in New
"loginid": "CR123456", // ❌ Removed in New
"barrier_range": "middle" // ❌ Removed in New
}{
"proposal": 1,
"amount": 10,
"contract_type": "CALL",
"currency": "USD",
"underlying_symbol": "frxEURUSD", // ✅ Renamed from symbol
"subscribe": 1
}Structure de réponse
{
"proposal": {
"ask_price": 10.50, // type: number
"id": "proposal-id-123",
"payout": 20.00, // type: number
"spot": 1.0850
},
"msg_type": "proposal"
}{
"proposal": {
"ask_price": "10.50", // type: number | string
"id": "proposal-id-123", // ✅ Only required field
"payout": "20.00", // type: number | string
"spot": 1.0850
},
"msg_type": "proposal"
}Exemples de code
async function getProposal() {
const request = {
proposal: 1,
amount: 10,
contract_type: "CALL",
currency: "USD",
symbol: "frxEURUSD",
loginid: "CR123456"
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === "proposal") {
console.log("Price:", response.proposal.ask_price);
}
};
}D'autres questions ? Nous contacter