Cancelar
NegociaçãoAutenticação ObrigatóriaCancele um contrato ativo fornecendo o ID do contrato. O loginid parâmetro foi removido; a resposta mantém-se inalterada.
1 alteração incompatível
O
loginid parâmetro foi removido. A resposta é a mesma na Legacy API e na New API.Comparação rápida
Alterações de rutura
1. loginid parâmetro removido
Na API Legacy, loginid selecionava a conta a partir da qual o contrato seria cancelado quando autorizava várias contas. A New API não o aceita.
Alteração obrigatória: Remova loginid dos seus pedidos cancel . O seu token seleciona a conta.
Estrutura de pedido
Legacy APIexemplo de pedido
{
"cancel": 11542203588,
"loginid": "CR123456",
"passthrough": {
"user_action": "manual_cancel"
},
"req_id": 1
}New APIexemplo de pedido
{
"cancel": 11542203588,
"passthrough": {
"user_action": "manual_cancel"
},
"req_id": 1
}Estrutura de resposta
Legacy APIexemplo de resposta
{
"cancel": {
"balance_after": 10450.5,
"contract_id": 11542203588,
"reference_id": 11542203587,
"sold_for": 23.45,
"transaction_id": 11542203589
},
"echo_req": {
"cancel": 11542203588,
"passthrough": {
"user_action": "manual_cancel"
},
"req_id": 1
},
"msg_type": "cancel",
"req_id": 1
}New APIexemplo de resposta
{
"cancel": {
"balance_after": 10450.5,
"contract_id": 11542203588,
"reference_id": 11542203587,
"sold_for": 23.45,
"transaction_id": 11542203589
},
"echo_req": {
"cancel": 11542203588,
"passthrough": {
"user_action": "manual_cancel"
},
"req_id": 1
},
"msg_type": "cancel",
"req_id": 1
}Exemplos de código
function cancelContract(contractId, loginId) {
const request = { cancel: contractId, req_id: 1 };
// Needed only when you authorised several accounts
if (loginId) request.loginid = loginId;
ws.send(JSON.stringify(request));
ws.onmessage = (message) => {
const response = JSON.parse(message.data);
if (response.msg_type !== "cancel") return;
if (response.error) {
console.error(response.error.message);
return;
}
if (response.cancel) {
console.log("Sold for: " + response.cancel.sold_for);
console.log("New balance: " + response.cancel.balance_after);
}
};
}Alguma outra questão? Entrar em contacto