Propuesta
TradingSin autenticaciónObtenga precios de contrato y propuestas con cambios importantes en la estructura de parámetros y formato de respuesta.
10 Cambios Importantes
symbol renombrado a underlying_symbol, múltiples parámetros de solicitud eliminados, y campos de respuesta reducidos.Comparación rápida
Cambios importantes
1. Parámetro Symbol renombrado
El parámetro symbol ha sido renombrado a underlying_symbol.
Cambio requerido: Actualice todas las solicitudes para usar underlying_symbol en lugar de symbol.
2. Parámetro LoginID eliminado
El parámetro loginid usado para escenarios de autorización de múltiples tokens ha sido eliminado.
3. Múltiples parámetros de solicitud eliminados
Los siguientes parámetros han sido eliminados de la solicitud:
barrier_range,product_type,date_start,trade_risk_profile,trading_period_start(eliminado)
4. Objeto de propuesta de respuesta ahora obligatorio
El objeto proposal en la respuesta ahora es obligatorio. Anteriormente era opcional.
5. Campos obligatorios de Proposal reducidos
El objeto proposal ahora solo requiere el campo id. Anteriormente, 8 campos eran obligatorios.
Cambio requerido: Add null/undefined checks for fields other than id as they may not always be present.
6. Tipos de campo de respuesta modificados
Varios campos de respuesta ahora aceptan tanto números como cadenas: ask_price, payout, y commission.
Cambio requerido: Update parsing logic to handle both number and string values for these fields.
Estructura de solicitud
{
"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
}Estructura de respuesta
{
"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"
}Ejemplos de código
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);
}
};
}¿Alguna otra pregunta? Póngase en contacto