Documentação Trade API

Nosso site fornece APIs que possibilitam os usuários consultar seu saldo, obter a lista de ordens e enviar e cancelar ordens de criptomoedas de forma automática.

API é um endereço de internet onde você pode enviar e receber dados via requisição HTTP. Confira a seguir como utilizá-la.

Para utilizar a Trade API você deverá gerar um par de chaves pública/privada que deverá ser utilizada para fazer as requisições.
Acesse aqui para gerar as suas chaves.

Acesse nossa ferramenta de teste da Trade API: TradeAPI

Repositório Oficial da ferramenta de teste da TradeAPI em .NET no GitHub

Cabeçalho de Autorização AMX (AMX Authorization Header)

O cabeçalho de autorização AMX é usado para proteger o acesso à nossa API de TRADE. Ele usa um token por chamada que é gerado usando o ID da API e a chave (API KEY) que foram fornecidos a você. Ele criptografa o conteúdo e usa um NONCE como segurança adicional.

Veja abaixo como utilizá-lo em nossos exemplos de código-fonte:

Exemplos de Código Fonte - Autenticação AMX

                        
    protected async override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        HttpResponseMessage response = null;
        string requestContentBase64String = string.Empty;

        string requestUri = HttpUtility.UrlEncode(request.RequestUri.AbsoluteUri.ToLower());

        string requestHttpMethod = request.Method.Method;

        DateTime epochStart = new DateTime(1970, 01, 01, 0, 0, 0, 0, DateTimeKind.Utc);
        TimeSpan timeSpan = DateTime.UtcNow - epochStart;
        string requestTimeStamp = Convert.ToUInt64(timeSpan.TotalSeconds).ToString();
            
        ASCIIEncoding encoder = new ASCIIEncoding();
        Byte[] code = encoder.GetBytes(APIKey);

        HMACSHA256 hmSha1 = new HMACSHA256(code);
        Byte[] hashMe = encoder.GetBytes(requestTimeStamp);

        Byte[] hmBytes = hmSha1.ComputeHash(hashMe);
           
        request.Headers.Add("APIKey", APPId);
        request.Headers.Add("Nonce", requestTimeStamp);
        request.Headers.Add("Signature", ToHexString(hmBytes));

        response = await base.SendAsync(request, cancellationToken);

        return response;
    }
                        
                    
                        
        /**
         * 
         * @param type $id ID da API gerada pelo usuário na NegocieCoins.
         * @param type $key Chave da API gerada pelo usuário na NegocieCoins.
         * @param type $function Função desejada da API, compõe o final da URL da API.
         * @param type $method Método utilizado na conexão com a API, pode ser GET, POST ou DELETE.
         * @param type $body Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
         * @return type AMXHeader Cabeçalho no formato desejado para se autenticar na API da NegocieCoins.
         */
        function amx_authorization_header($id, $key, $function, $method, $body) {
            $url1 = 'https:\\broker.negociecoins.com.br/tradeapi/v1/' . $function; //URL + Função Ex: user/balance
            date_default_timezone_set('America/Sao_Paulo'); //Setando Timezone para BR
            $url = strtolower(urlencode($url1)); //Colocando a URL em Minusculo e fazendo o encode        
            $content = empty($body) ? '' : base64_encode(md5($body, true)); //se body está vazio, deixa ''(nulo, senão usa o base64_encode()
            $time = time(); //Tempo  
            $nonce = uniqid(); //É gerado um número randonico aleatório, para compor o cabeçalho AMX.
            $data = implode('', [$id, strtoupper($method), $url, $time, $nonce, $content]); //String sem separação com as variáveis que estão sendo mostradas
            $secret = base64_decode($key); //decode no password vetor de byte
            $signature = base64_encode(hash_hmac('sha256', $data, $secret, true)); //Encode na signature utilizando hash_hmac

            return 'amx ' . implode(':', [$id, $signature, $nonce, $time]); //retorna a header
        }

        /**
         * 
         * @param type $header Cabeçalho no formato AMX, utilizado na autenticação.
         * @param type $function Função desejada da API, compõe o final da URL da API.
         * @param type $method Método utilizado na conexão com a API, pode ser GET, POST ou DELETE.
         * @param type $data Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
         * @return type APIResponse Resposta em json da API.
         */
        function request($header, $function, $method, $data) {

            $url = 'https:\\broker.negociecoins.com.br/tradeapi/v1/' . $function;

            if ($method == 'GET' || $method == 'DELETE') {
                print_r("Entrei no if\n");
                $context = stream_context_create(array(
                    'http' => array(
                        'header' => "Authorization: " . $header,
                )));
            } else {
                $context = stream_context_create(array(
                    'http' => array(
                        'method' => 'POST',
                        'header' => "Authorization: " . $header . "\r\n" . 'content-length: ' . strlen($data) . "\r\n" . "content-type: application/json; charset=UTF-8" . "\r\n",
                        'content' => $data,
                )));
            }
            $result = file_get_contents($url, false, $context);
            $res_json = json_decode($result, true);
            return $res_json;
        }

                        
                    
                        
import base64, hashlib, hmac, random, time, urllib, json, urllib2, requests

'''               
@param id ID da API gerada pelo usuário na NegocieCoins.
@param key Chave da API gerada pelo usuário na NegocieCoins.
@param url URL da API da NegocieCoins.
@param method Método utilizado na conexão com a API, pode ser GET, POST ou DELETE.
@param body Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
@return AMXHeader Cabeçalho no formato desejado para se autenticar na API da NegocieCoins.         
'''
def amx_authorization_header(id, key, url, method, body):
   encoded_url = urllib.quote_plus(url).lower()
   method = method.upper()
   ##==================Tratando o content=====================================
   m = hashlib.md5()
   m.update(str(body))
   content = '' if body == None else base64.b64encode(m.digest())
   ##=========================================================================
   timestamp = str(int(time.time()))
   nonce = str(random.randint(0, 100000000))
   data = ''.join([id, method, encoded_url, timestamp, nonce, content]).encode()  
   secret = base64.b64decode(key)
   signature = str(base64.b64encode(hmac.new(secret, msg=data, digestmod=hashlib.sha256).digest()))
   ##===================Cabeçalho no formato AMX==============================
   header = 'amx %s' % ':'.join([id, signature, nonce, timestamp])
 
   return header
               
      
'''
@param url URL da API da NegocieCoins.
@param header Cabeçalho no formato desejado para se autenticar na API da NegocieCoins.
@param jsondata Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
@return  APIResponse Resposta em json da API.
'''
def exchange(url, header, metodo, jsondata):    
    if(metodo=='GET'):
       webpage = requests.get(url, headers={'Authorization': header, 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0'})       
    elif(metodo=='POST'):
       webpage = requests.post(url, data=jsondata, headers={'Authorization': header, 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0', 'Content-Type': 'application/json'})
    return webpage.json()

id1 = 'youID'
key = 'youKEY'
url1 = 'https://broker.negociecoins.com.br/tradeapi/v1/'
method = 'POST'
function = 'user/orders'
urlFinal = ''.join([url1, function])
jsonstr = '''{"pair" : "BRLBTC","type":"sell","status":"filled","startId": 1, "endId": 9999999,"startDate":"2017-01-01","endDate":"2017-12-31"}'''
result2 = amx_authorization_header(id1, key, urlFinal, method, jsonstr)

print(result2)

print(exchange(str(urlFinal), result2, method, jsonstr))

                        
                    
                        

public class Authentication {
    /**
     * 
     * @param data Dados enviados para a API, no caso dos métodos GET e DELETE, os dados são nulos.
     * @param secret Chave da API
     * @return requestSignatureBase64String request que compõe o cabeçalho AMX
     * @throws Exception Exceções tratadas
     */
    private static String computeSignature(String data, String secret) throws Exception {
        //Recebe como parametros os dados a serem requisitados e a chave da API.
        SecretKey secretKey = null;
        byte[] keyBytes = decodeBase64(secret);
        //Faz-se a criptografia da chave da API no formato HMACSHA256
        secretKey = new SecretKeySpec(keyBytes, "HmacSHA256");
        Mac mac = Mac.getInstance("HmacSHA256");
        mac.init(secretKey);
        byte[] text = data.getBytes();
        //Faz-se o encode em base 64 com Hash MAC e os dados, e retorna para ser usado em requestSignatureBase64String
        return new String(encodeBase64(mac.doFinal(text))).trim();
    }
    /**
     * 
     * @param APIurl URL da API da NegocieCoins
     * @param APIid ID da API do usuário
     * @param APIkey Chave da API do Usuário
     * @param APIfuncao Função desejada da API, compõe o final da URL da API
     * @param APImetodo Método utilizado na conexão com a API, pode ser GET, POST ou DELETE
     * @param APIbody Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
     * @return header Cabeçalho no formato desejado para se autenticar na API da NegocieCoins.
     * @throws Exception Exceção tradada na conexão
     */
    public String amx_authorization_header(String APIurl, String APIid, String APIkey, String APIfuncao, String APImetodo, String APIbody) throws Exception {

        String url = URLEncoder.encode(APIurl, "UTF-8").toLowerCase();
        String metodo = APImetodo.toUpperCase();
        String requestContentBase64String = "";
        
        /**Calcular contet se o mesmo não for nulo (para requisições tipo POST*/
        if (APIbody != null && !"".equals(APIbody)) {
            byte[] post = APIbody.getBytes();
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            byte[] requestContentHash = md5.digest(post);
            requestContentBase64String = Base64.getEncoder().encodeToString(requestContentHash);            
        }

        /**Calculando UNIX Time: Gerando um requestTimeStamp*/
        Timestamp epochStart = new Timestamp(70, 00, 00, 21, 00, 00, 00);  /**Parametros para iniciar 01/01/1970 00:00:00 UTC*/
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());       
        String time = "" + ((timestamp.getTime() - epochStart.getTime()) / 1000); /**Diferença entre datas, é dividido por 1000 para ficar no tamanho correto*/
        
        /**Gerando NONCE, variável aleatória para autenticação*/
        String nonce = java.util.UUID.randomUUID().toString().replace("-", "");
        
        /**Criando assinatura*/
        String signatureRawData = String.format("%s%s%s%s%s%s", APIid, metodo, url, time, nonce, requestContentBase64String);
        //Criando assinatura criptografada em hmacSha256
        String requestSignatureBase64String = computeSignature(signatureRawData, APIkey);  
        
        //Criando Header AMX, a partir dos parâmetros gerados  
        return String.format("amx %s:%s:%s:%s", APIid, requestSignatureBase64String, nonce, time); //Formato Header 
    }
    /**
     * 
     * @param APIid ID da API do usuário
     * @param APIkey Chave da API do Usuário
     * @param function Função desejada da API, compõe o final da URL da API
     * @param method Método utilizado na conexão com a API, pode ser GET, POST ou DELETE
     * @param data Corpo de envio da requisição, nos métodos GET e DELETE ele é nulo.
     * @return APIResponse Resposta em json da API
     * @throws Exception Exceção tratada
     */
    public String request(String APIid, String APIkey, String function, String method, String data) throws Exception {
       
        //Criando parâmetros para conexão com a NegocieCoins
        URL url = new URL("https://broker.negociecoins.com.br/tradeapi/v1/" + function);
        HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();   
        urlConnection.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");
        urlConnection.setReadTimeout(15000);
        urlConnection.setConnectTimeout(15000);
        urlConnection.setRequestMethod(method);
        urlConnection.setDoOutput(true);
        urlConnection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); 
        
        //Setando condições e atribuições para cada tipo de requisição
        if ("POST".equals(method.toUpperCase())) {
            urlConnection.setRequestProperty("Content-Length", Integer.toString(data.length()));
            //urlConnection.setRequestProperty("Content", data);
            String header = amx_authorization_header(url.toString(),APIid, APIkey, function, method, data);
            urlConnection.setRequestProperty("Authorization", header);
            //Tentar passar Conteudo via POST
            try (OutputStream os = urlConnection.getOutputStream()) {
                os.write(data.getBytes("UTF-8"));
            }            
            
        } else {
            //GET e DELETE não precisa de Content-Length
            String header = amx_authorization_header(url.toString(),APIid, APIkey, function, method, data);
            urlConnection.setRequestProperty("Authorization", header);
        }
        
        BufferedReader reader = null;
        try {  
            //Receber resposta da requisição
            reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
            StringBuilder buffer = new StringBuilder();
            int read;
            char[] chars = new char[1024];
            while ((read = reader.read(chars)) != -1) {
                buffer.append(chars, 0, read);
            }
            return buffer.toString();

        } finally {
            if (reader != null) {
                reader.close();
            }
        }

    }

}
                                    
                    

1. Estrutura das Requisições

As requisições devem ser feitas para a URL: https://broker.negociecoins.com.br/tradeapi/v1/

1.1 Resposta

Todas as respostas são em formato JSON.

2. Requisições

2.1 Método user / balance

Retorna o saldo em Reais e de criptomoedas do usuário.

  • Formato da Requisição: GET
  • URL para Requisição: https://broker.negociecoins.com.br/tradeapi/v1/user/balance

Campos de Retorno:

  • BRL
    Informações de saldo do usuário em Reais
    • available
      Decimal: saldo disponível do usuário.
    • openOrders
      Decimal: total em ordens abertas de compra ou venda.
    • withdraw
      Decimal: total em saques solicitados.
    • total
      Decimal: saldo líquido atual.
  • BTC
    Informações de saldo do usuário em Bitcoin
    • available
      Decimal: saldo disponível do usuário.
    • openOrders
      Decimal: total em ordens abertas de compra ou venda.
    • withdraw
      Decimal: total em saques solicitados.
    • total
      Decimal: saldo líquido atual.
  • LTC
    Informações de saldo do usuário em Litecoin
    • available
      Decimal: saldo disponível do usuário.
    • openOrders
      Decimal: total em ordens abertas de compra ou venda.
    • withdraw
      Decimal: total em saques solicitados.
    • total
      Decimal: saldo líquido atual.

Exemplo de retorno:

                
{
    "BRL": {
        "available": 500.002,
        "openOrders": -400.0,
        "withdraw": -52.75,
        "total": 47.252
    },
    "BTC": {
        "available": 100.00000001,
        "openOrders": -50.0,
        "withdraw": 0.0,
        "total": 50.00000001
    },
    "LTC": {
        "available": 200.0,
        "openOrders": -100.0,
        "withdraw": 0.0,
        "total": 100.0
    }
}
                
            

2.2 Método user / orders

Retorna as ofertas de compra e venda de criptomoedas criadas pelo usuário.

  • Formato da Requisição: POST
  • URL para Requisição: https://broker.negociecoins.com.br/tradeapi/v1/user/orders

Parâmetros Obrigatórios*

  • page
    Inteiro: Número da página de ordens do usuário
  • pageSize
    Inteiro: Limite do número de ordens por página
  • pair
    String: Define o filtro por par de moedas das ordens de negociação. Usar "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Define o filtro por tipo de operação das ordens de negociação. Usar "buy" para compra ou "sell" para venda.
  • status
    String: Define o filtro por status das ordens de negociação. Usar "cancelled" para ordens canceladas, "filled" para ordens executadas, "partially filled" para ordens parcialmente executadas, "pending" para ordens pendentes, "rejected" para ordens rejeitadas.
  • startId
    Inteiro: Define o filtro por Id inicial da lista de ordens de negociação.
  • endId
    Inteiro: Define o filtro por Id final da lista de ordens de negociação.
  • startDate
    String: Define o filtro por data inicial da criação das ordens de negociação. Usar o formato "yyyy-MM-dd".
  • endDate
    String: Define o filtro por data final da criação das ordens de negociação. Usar o formato "yyyy-MM-dd".

Campos de Retorno:

  • id
    Inteiro: Id único das ordens de negociação.
  • created
    String: Data da criação das ordens de negociação no formato "yyyy-MM-dd".
  • pair
    String: Par de moedas das ordens de negociação. "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Tipo de operação das ordens de negociação. "buy" para compra ou "sell" para venda.
  • status
    String: Status das ordens de negociação. "cancelled" para ordens canceladas, "filled" para ordens executadas, "partially filled" para ordens parcialmente executadas, "pending" para ordens pendentes, "rejected" para ordens rejeitadas.
  • price
    Decimal: Preço das ordens de negociação.
  • quantity
    Decimal: Quantidade de criptomoedas das ordens de negociação.
  • total
    Decimal: Custo total em Reais das ordens de negociação.
  • executed_quantity
    Decimal: Quantidade de criptmoedas em ordens já executadas.
  • executed_price_avg
    Decimal: Preço médio das ordens já executadas.
  • fee
    Decimal: Taxa paga nas ordens de negociação.
  • pending_quantity
    Decimal: Quantidade de criptmoedas pendentes a serem executadas.
  • pending_price
    Decimal: Preço das ordens pendentes a serem executadas.
  • operations
    Exibe as ordens executadas em cada ordem do usuário
    • id
      Inteiro: Id único das ordens de negociação executadas nesta ordem.
    • created
      String: Data da criação das ordens de negociação executadas nesta ordem no formato "yyyy-MM-dd".
    • feeRate
      Decimal: Taxa paga nas ordens de negociação executadas nesta ordem.
    • price
      Decimal: Preço das ordens de negociação executadas nesta ordem.
    • quantity
      Decimal: Quantidade de criptomoedas em ordens executadas nesta ordem.

Exemplo de retorno:

                
[
  {
    "id": 7396,
    "created": "2015-09-10T12:36:30",
    "pair": "BRLBTC",
    "type": "buy",
    "status": "filled",
    "price": 945.0,
    "quantity": 0.01,
    "total": 9.45,
    "executed_quantity": 0.01,
    "executed_price_avg": 945.0,
    "fee": 0.0,
    "pending_quantity": 0.0,
    "pending_price": 0.0,
    "operations": [
      {
        "id": 4956,
        "created": "2015-09-10T12:36:33.117",
        "feeRate": 0.0,
        "price": 945.0,
        "quantity": 0.01
      }
    ]
  }
]
                
            

2.3 Método user / order / {orderId}

Retorna informações sobre uma ordem de compra ou venda de criptomoedas do usuário.

  • Formato da Requisição: GET
  • URL para Requisição: https://broker.negociecoins.com.br/tradeapi/v1/user/order/{ orderId }

Parâmetro Obrigatório*

  • orderId
    Inteiro: Id da ordem criada pelo usuário

Campos de Retorno:

  • id
    Inteiro: Id único da ordem de negociação.
  • created
    String: Data da criação da ordem de negociação no formato "yyyy-MM-dd".
  • pair
    String: Par de moedas da ordem de negociação. "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Tipo de operação da ordem de negociação. "buy" para compra ou "sell" para venda.
  • status
    String: Status da ordem de negociação. "cancelled" para ordens canceladas, "filled" para ordens executadas, "partially filled" para ordens parcialmente executadas, "pending" para ordens pendentes, "rejected" para ordens rejeitadas.
  • price
    Decimal: Preço das ordem de negociação.
  • quantity
    Decimal: Quantidade de criptomoedas da ordem de negociação.
  • total
    Decimal: Custo total em Reais da ordem de negociação.
  • executed_quantity
    Decimal: Quantidade de criptmoedas em ordem já executadas.
  • executed_price_avg
    Decimal: Preço médio da ordens já executadas nesta ordem.
  • fee
    Decimal: Taxa paga na ordem de negociação.
  • pending_quantity
    Decimal: Quantidade de criptmoedas pendente a ser executada.
  • pending_price
    Decimal: Preço da ordem pendente a ser executada.
  • operations
    Exibe as ordens executadas em cada ordem do usuário
    • id
      Inteiro: Id único das ordens de negociação executadas nesta ordem.
    • created
      String: Data da criação das ordens de negociação executadas nesta ordem no formato "yyyy-MM-dd".
    • feeRate
      Decimal: Taxa paga nas ordens de negociação executadas nesta ordem.
    • price
      Decimal: Preço das ordens de negociação executadas nesta ordem.
    • quantity
      Decimal: Quantidade de criptomoedas em ordens executadas nesta ordem.

Exemplo de retorno:

                
[
  {
    "id": 7396,
    "created": "2015-09-10T12:36:30",
    "pair": "BRLBTC",
    "type": "buy",
    "status": "filled",
    "price": 945.0,
    "quantity": 0.01,
    "total": 9.45,
    "executed_quantity": 0.01,
    "executed_price_avg": 945.0,
    "fee": 0.0,
    "pending_quantity": 0.0,
    "pending_price": 0.0,
    "operations": [
      {
        "id": 4956,
        "created": "2015-09-10T12:36:33.117",
        "feeRate": 0.0,
        "price": 945.0,
        "quantity": 0.01
      }
    ]
  }
]
                
            

2.4 Método user / order

Cria uma ordem de compra ou venda de criptomoedas.

  • Formato da Requisição: POST
  • URL para Requisição: https://broker.negociecoins.com.br/tradeapi/v1/user/order

Parâmetros Obrigatórios*

  • brokerID
    Inteiro: Id único da exchange onde a ordem será criada. Usar 1 para a NegocieCoins.
  • userID
    Inteiro: Id único do usuário.
  • pair
    String: Define o filtro por par de moedas das ordens de negociação. Usar "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Define o filtro por tipo de operação das ordens de negociação. Usar "buy" para compra ou "sell" para venda.
  • volume
    Decimal: Define a quantidade de criptmoedas a ser executada nesta ordem.
  • price
    Decimal: Define o preço da ordem de negociação a ser executada.

Campos de Retorno:

  • id
    Inteiro: Id único da ordem de negociação.
  • created
    String: Data da criação da ordem de negociação no formato "yyyy-MM-dd".
  • pair
    String: Par de moedas da ordem de negociação. "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Tipo de operação da ordem de negociação. "buy" para compra ou "sell" para venda.
  • status
    String: Status da ordem de negociação. "cancelled" para ordens canceladas, "filled" para ordens executadas, "partially filled" para ordens parcialmente executadas, "pending" para ordens pendentes, "rejected" para ordens rejeitadas.
  • price
    Decimal: Preço das ordem de negociação.
  • quantity
    Decimal: Quantidade de criptomoedas da ordem de negociação.
  • total
    Decimal: Custo total em Reais da ordem de negociação.
  • executed_quantity
    Decimal: Quantidade de criptmoedas em ordem já executadas.
  • executed_price_avg
    Decimal: Preço médio da ordens já executadas nesta ordem.
  • fee
    Decimal: Taxa paga na ordem de negociação.
  • pending_quantity
    Decimal: Quantidade de criptmoedas pendente a ser executada.
  • pending_price
    Decimal: Preço da ordem pendente a ser executada.
  • operations
    Exibe as ordens executadas em cada ordem do usuário
    • id
      Inteiro: Id único das ordens de negociação executadas nesta ordem.
    • created
      String: Data da criação das ordens de negociação executadas nesta ordem no formato "yyyy-MM-dd".
    • feeRate
      Decimal: Taxa paga nas ordens de negociação executadas nesta ordem.
    • price
      Decimal: Preço das ordens de negociação executadas nesta ordem.
    • quantity
      Decimal: Quantidade de criptomoedas em ordens executadas nesta ordem.

Exemplo de retorno:

                
[
  {
    "id": 7396,
    "created": "2015-09-10T12:36:30",
    "pair": "BRLBTC",
    "type": "buy",
    "status": "filled",
    "price": 945.0,
    "quantity": 0.01,
    "total": 9.45,
    "executed_quantity": 0.01,
    "executed_price_avg": 945.0,
    "fee": 0.0,
    "pending_quantity": 0.0,
    "pending_price": 0.0,
    "operations": [
      {
        "id": 4956,
        "created": "2015-09-10T12:36:33.117",
        "feeRate": 0.0,
        "price": 945.0,
        "quantity": 0.01
      }
    ]
  }
]
                
            

2.5 Método user / order / {orderId}

Cancela uma ordem de compra ou venda de criptomoedas.

  • Formato da Requisição: DELETE
  • URL para Requisição: https://broker.negociecoins.com.br/tradeapi/v1/user/order/{ orderId }

Parâmetro Obrigatório*

  • orderId
    Inteiro: Id da ordem a ser cancelada.

Campos de Retorno:

  • id
    Inteiro: Id único da ordem de negociação.
  • created
    String: Data da criação da ordem de negociação no formato "yyyy-MM-dd".
  • pair
    String: Par de moedas da ordem de negociação. "BRLBTC" para Bitcoin ou "BRLLTC" para Litecoin.
  • type
    String: Tipo de operação da ordem de negociação. "buy" para compra ou "sell" para venda.
  • status
    String: Status da ordem de negociação. "cancelled" para ordens canceladas, "filled" para ordens executadas, "partially filled" para ordens parcialmente executadas, "pending" para ordens pendentes, "rejected" para ordens rejeitadas.
  • price
    Decimal: Preço das ordem de negociação.
  • quantity
    Decimal: Quantidade de criptomoedas da ordem de negociação.
  • total
    Decimal: Custo total em Reais da ordem de negociação.
  • executed_quantity
    Decimal: Quantidade de criptmoedas em ordem já executadas.
  • executed_price_avg
    Decimal: Preço médio da ordens já executadas nesta ordem.
  • fee
    Decimal: Taxa paga na ordem de negociação.
  • pending_quantity
    Decimal: Quantidade de criptmoedas pendente a ser executada.
  • pending_price
    Decimal: Preço da ordem pendente a ser executada.
  • operations
    Exibe as ordens executadas em cada ordem do usuário
    • id
      Inteiro: Id único das ordens de negociação executadas nesta ordem.
    • created
      String: Data da criação das ordens de negociação executadas nesta ordem no formato "yyyy-MM-dd".
    • feeRate
      Decimal: Taxa paga nas ordens de negociação executadas nesta ordem.
    • price
      Decimal: Preço das ordens de negociação executadas nesta ordem.
    • quantity
      Decimal: Quantidade de criptomoedas em ordens executadas nesta ordem.

Exemplo de retorno:

                
[
  {
    "id": 7396,
    "created": "2015-09-10T12:36:30",
    "pair": "BRLBTC",
    "type": "buy",
    "status": "filled",
    "price": 945.0,
    "quantity": 0.01,
    "total": 9.45,
    "executed_quantity": 0.01,
    "executed_price_avg": 945.0,
    "fee": 0.0,
    "pending_quantity": 0.0,
    "pending_price": 0.0,
    "operations": [
      {
        "id": 4956,
        "created": "2015-09-10T12:36:33.117",
        "feeRate": 0.0,
        "price": 945.0,
        "quantity": 0.01
      }
    ]
  }
]