Proposta de contrato aberto
NegociaçãoAutenticação ObrigatóriaObtenha detalhes de contratos abertos. O parâmetro loginid foi removido, os tipos de campos de resposta foram alterados e vários campos de exibição foram removidos.
8 Alterações de Rutura
loginid foi removido, vários campos de resposta foram alterados para string | number, e diversos campos de exibição foram removidos.Comparação rápida
Alterações de rutura
1. Parâmetro loginid removido
O parâmetro loginid foi removido do esquema de pedido.
2. Tipos de campo de resposta alterados
Vários campos numéricos devolvem agora string | number em vez de apenas number:
bid_price,buy_price,current_spot,profit:string | numberpayout:string(sempre string agora)
3. Campos obrigatórios na resposta
O objeto de resposta proposal_open_contract tem agora campos obrigatórios: contract_id, contract_type, e currency.
4. Campos de visualização removidos
Vários campos específicos de apresentação foram removidos: display_value, exit_tick_display_value, e sell_spot_display_value.
5. Campos obsoletos
Os campos sell_spot e sell_spot_time estão obsoletos. Migre para exit_spot e exit_spot_time.
6. Campo is_forward_starting removido
A flag booleana is_forward_starting foi removida.
7. Campos de contrato Snowball removidos
Os campos específicos do contrato Snowball foram removidos: caution_price, profit_price, coupon_rate, etc.
Estrutura de pedido
{
"proposal_open_contract": 1,
"contract_id": 123456789,
"subscribe": 1,
"loginid": "CR90000001"
}{
"proposal_open_contract": 1,
"contract_id": 123456789,
"subscribe": 1
}Estrutura de resposta
{
"proposal_open_contract": {
"contract_id": 123456789,
"buy_price": 10.50,
"display_value": "15.50",
"payout": 20.00,
"sell_spot": 1.0852
},
"msg_type": "proposal_open_contract"
}{
"proposal_open_contract": {
"contract_id": 123456789,
"buy_price": "10.50",
"payout": "20.00",
"exit_spot": "1.0852",
"exit_spot_time": 1446629000
},
"msg_type": "proposal_open_contract"
}Exemplos de código
async function getOpenContract(contractId, loginId) {
const request = {
proposal_open_contract: 1,
contract_id: contractId,
subscribe: 1,
loginid: loginId
};
ws.send(JSON.stringify(request));
ws.onmessage = (event) => {
const response = JSON.parse(event.data);
if (response.msg_type === "proposal_open_contract") {
const contract = response.proposal_open_contract;
const profit = contract.profit;
const displayValue = contract.display_value;
}
};
}Alguma outra questão? Entrar em contacto