Propuesta
TradingSin autenticaciónObtenga el precio de un contrato. symbol se cambió a underlying_symbol, se eliminaron los parámetros de solicitud y tipos de contrato, y display_value y los campos Snowball ya no se devuelven.
6 cambios importantes
symbol se cambió a underlying_symbol, loginid y otros cinco parámetros de solicitud se eliminaron, contract_type acepta valores diferentes, y display_value y los detalles del contrato Snowball ya no se devuelven.Comparación rápida
Cambios importantes
1. symbol renombrado a underlying_symbol
El parámetro obligatorio symbol se renombró a underlying_symbol.
Cambio obligatorio: Enviar underlying_symbol en lugar de symbol.
2. loginid parámetro eliminado
En la API heredada, loginid seleccionaba la cuenta cuando autorizaba varias cuentas. La nueva API no lo acepta.
Cambio obligatorio: Elimine loginid de sus solicitudes de proposal .
3. Parámetros de solicitud eliminados
La solicitud ya no acepta barrier_range, date_start, product_type, trade_risk_profile ni trading_period_start.
Cambio obligatorio: Elimine estos parámetros de sus solicitudes de proposal .
4. contract_type valores cambiados
contract_type ya no acepta CALLSPREAD, PUTSPREAD, LBFLOATCALL, LBFLOATPUT, LBHIGHLOW, SNOWUP ni SNOWDOWN, y agrega HIGHER y LOWER.
Cambio obligatorio: Deje de solicitar precios para los tipos de contrato que la New API ya no acepta.
5. display_value eliminado de la respuesta
La API heredada devolvía display_value, el precio con formato, en cada propuesta. La nueva API no lo devuelve. ask_price, date_start, id, longcode, payout, spot y spot_time siguen devolviéndose siempre.
Cambio obligatorio: Dé formato a ask_price si mostró display_value.
6. Detalles de contratos Snowball eliminados
contract_details ya no devuelve caution_price, coupon_rate, num_of_coupons, profit_price ni trade_risk_profile, que describían los contratos Snowball.
Cambio obligatorio: Deje de leer estos campos.
Estructura de solicitud
{
"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
}{
"proposal": 1,
"amount": 10,
"basis": "stake",
"contract_type": "CALL",
"currency": "USD",
"duration": 5,
"duration_unit": "m",
"underlying_symbol": "R_100",
"req_id": 1
}Estructura de respuesta
{
"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
}{
"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
}Ejemplos de código
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);
};
}¿Alguna otra pregunta? Póngase en contacto