Pular para o conteúdo principal

createLimitOrder

POST 

/orders/limit/orders

Disponibilidade: esta rota ainda nao esta ativa. O contrato abaixo esta publicado para voce preparar a integracao; a Liqi avisa quando a rota entrar em Sandbox e, depois, em Producao. Chamadas feitas antes disso respondem 404.

Cria uma ordem a limite: a ordem fica registrada e aberta, e so executa se o mercado atingir o preco que voce definiu em limitPrice, dentro do prazo de validade.

O retorno e imediato (201) e vem com status: OPEN — a ordem foi registrada, nao executada. A execucao acontece depois, quando o preco e atingido. Guarde o orderId devolvido aqui: e por ele que a ordem e acompanhada e cancelada.

Pre-requisito: a ordem a limite precisa estar habilitada na sua conta. Enquanto nao estiver, a rota responde 403. Solicite a habilitacao ao suporte informando o prazo maximo de validade que pretende usar — e esse limite que vale nas validacoes abaixo.

Quantidade — o campo depende do lado da ordem. Compra (side: buy) exige quoteAmount (valor na moeda de cotacao do par, por exemplo BRL). Venda (side: sell) exige amount (quantidade de cripto). Sempre exatamente um dos dois, e o que corresponde ao lado: enviar os dois, nenhum, ou o campo do outro lado e recusado com 400.

Prazo de validade — envie no maximo um dos dois: expiresInDays (dias a partir de agora) ou expiresAt (momento absoluto, epoch em segundos). Sem nenhum dos dois, vale o prazo padrao configurado na sua conta. Nos tres casos o prazo e limitado pelo prazo maximo da conta; passar desse maximo e recusado com 400.

timeInForce aceita somente GTD (good till date): a ordem vale ate expirar. Omitir o campo assume GTD.

Reserva de saldo (venda): uma ordem de venda (side: sell) reserva o saldo do ativo base ja na criacao — o amount (quantidade da cripto) sai de free para used na carteira e fica bloqueado enquanto a ordem esta aberta. Sem saldo livre suficiente para reservar, a ordem nao abre e termina em REJECTED por saldo insuficiente. O saldo reservado e consumido na execucao e devolvido se a ordem encerra sem executar (EXPIRED/CANCELLED/REJECTED). A compra (side: buy) nao reserva saldo. Detalhes no guia Ordem a Limite — status finais e retry.

Idempotencia pelo id, resolvida de forma assincrona. O id que voce envia e a sua chave de idempotencia, e e ele que vira o orderId da ordem. Reenviar o mesmo id nao devolve erro na hora: a requisicao repetida tambem responde 201 com status: OPEN. A duplicata e identificada em seguida e encerrada em REJECTED, ficando de pe apenas uma ordem. O motivo (id ja existente) fica registrado para auditoria, mas nenhum endpoint devolve esse texto hoje: o que o cliente le e o status da ordem. Ou seja: o reenvio e seguro (nao duplica a ordem), mas o 201 nao e confirmacao de que aquela chamada foi a que sobreviveu — para saber o desfecho, consulte a ordem pelo orderId.

Request

Responses

Ordem a limite registrada e aberta.