Pedidos e retornos (API REST)

Última atualização: 7 de outubro de 2026

Opções de compra


Para aceder aos endpoints da API, é necessário enviar pedidos HTTP para o seguinte URL.

https://futures.kraken.com/derivatives/api/v3

Para pedidos a endpoints privados, os seguintes cabeçalhos HTTP são obrigatórios: apiKey e
authent. A inclusão do valor aleatório no pedido é opcional.

Exemplo

O exemplo seguinte mostra a inclusão de cabeçalhos HTTP em Java. Para exemplos completos em diferentes linguagens de programação, consulte a secção
Implementações de exemplo. String url = "https://futures.kraken.com/derivatives/api/v3/sendOrder";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
...
con.setRequestProperty("APIKey", apiKey);
con.setRequestProperty("Authent", authent); onde apiKey e authent são determinados conforme descrito anteriormente.


Os pedidos a endpoints que não alteram o estado do servidor devem ser enviados com requestType
= GET e com postData submetido no URL. Os pedidos a endpoints que alteram o estado do servidor devem ser enviados com requestType = POST e com postData submetido no URL. A secção 4 especifica para cada endpoint qual o requestType a utilizar.

Retornos


Os retornos da API estão em formato JSON. Se o pedido for bem-sucedido, o retorno inclui a informação solicitada
ou o feedback sobre a ação solicitada. Consulte a secção Erro! Origem da referência não encontrada para uma descrição dos retornos de cada endpoint.

Se um pedido for bem-sucedido, a chave result na estrutura raiz terá o valor success.

Para pedidos a endpoints privados, os seguintes cabeçalhos HTTP são obrigatórios: apiKey e
authent.

Exemplo

O exemplo seguinte mostra o retorno de um pedido bem-sucedido ao endpoint sendorder.
{
"result":"success",
"serverTime":"2016-02-25T09:45:53.818Z",
"sendStatus":{
"receivedTime":"2016-02-25T09:45:53.601Z",
"status":"placed",
"order_id":"c18f0c17-9971-40e6-8e5b10df05d422f0"
}
}


Note que, se um pedido devolver result igual a success, isso apenas significa que o pedido foi recebido e avaliado com sucesso.
Não significa necessariamente que a operação pretendida foi executada. Os detalhes sobre o estado da operação são devolvidos numa chave status, quando aplicável.

Exemplo

O exemplo seguinte mostra o retorno de um pedido bem-sucedido ao endpoint sendorder em que a operação pretendida não foi executada. {
"result":"success",
"serverTime":"2016-02-25T09:45:53.818Z",
"sendStatus":{
"receivedTime":"2016-02-25T09:45:53.601Z",
"status":"insufficientAvailableFunds"
}
}