As chaves API são um dos componentes da autenticação de API, elas são o equivalente de API para um nome de usuário e senha.
As chaves API são necessárias para chamar qualquer um dos métodos de API privados, ou seja, a gestão de contas, a negociação e os métodos de depósitos e retiradas. As chaves API não são necessárias para uso dos métodos de API pública (os métodos de dados de mercado), pois os métodos públicos não precisam de acesso a uma conta Kraken.
- Faça login na sua Conta Kraken.
- Clique no seu nome, no canto superior direito da página.
- Clique em Segurança e, então, em API.
- Clique no botão Adicionar chave.
Descrição da chave
A descrição da chave é essencialmente o nome da chave API, e pode ser composta de quase tudo o que você queira usar, desde que a descrição seja exclusiva (diferente das descrições de qualquer outra chave API na mesma conta).
Por padrão, o campo de descrição da chave será preenchido com algo como "api-key-1605316109249". Essa descrição padrão pode ser mantida ou alterada para um nome mais descritivo (como "Chave de negociação", "Chave de gestão de contas", "Chave API Python 6" ou "Chave de aplicativo móvel", por exemplo).
Permissões da chave
As permissões da chave determinam quais métodos de API privada a chave API tem autorização para usar:
Fundos
- Consultar fundos: necessário para os métodos de gestão de contas que consultam as informações de saldo da conta, como Balance e TradeBalance.
- Depositar fundos: necessário para os métodos de depósitos e retiradas relacionados a depósitos, como DepositMethods e DepositAddresses.
- Retirar fundos: necessário para os métodos de depósitos e retiradas relacionados a retiradas, como WithdrawInfo, Withdraw e WithdrawCancel.
Ordens e negociações
- Consultar ordens e negociações abertas: necessário para os métodos de gestão de contas que consultam ordens e posições já existentes, como OpenOrders, QueryOrders e OpenPositions.
- Consultar ordens e negociações fechadas: necessário para os métodos de gestão de contas que consultam ordens e posições que já tenham sido canceladas/fechadas, como ClosedOrders, QueryOrders e QueryTrades.
- Modificar ordens: necessário para o método de negociação que faz novas ordens, ou seja, AddOrder.
- Cancelar/fechar ordens: necessário para o método de negociação que cancela ordens abertas ou pendentes, ou seja, CancelOrder.
Outros
- Consultar entradas no registro: necessário para os métodos de gestão de contas que recuperam dados do histórico do registro da conta, ou seja, Ledgers e QueryLedgers.
- Exportar dados: necessário para os métodos de gestão de contas que exportam o registro da conta, ou seja, AddExport, RetrieveExport, ExportStatus e RemoveExport.
- Acessar API do WebSockets: necessário para recuperar um token de autenticação para os endpoints/feeds privados da API do WebSocket.
Como um exemplo de uso correto das permissões de chave API, imagine uma chave API fornecida a terceiros para fins de negociação. Com toda certeza, essa chave API exigiria permissões de modificar ordens e cancelar/fechar ordens. Possivelmente, exigiria permissão de consultar ordens e trades abertos, mas certamente não exigiria a permissão de retirar fundos.
Configurar as permissões corretamente é algo que permitiria que o cliente da API fizesse negociações na conta, mas o impediria de acessar quaisquer informações da conta ou realizar ações de depósitos e retiradas.
Outras configurações (Janela nonce, Expiração da chave, Consulta da data de início/término)
As demais configurações da chave API são necessárias apenas para definições mais avançadas. Portanto, geralmente podem ser mantidas com seus valores padrão:
- A Janela nonce é um intervalo de tempo curto (1 segundo, 10 segundos etc.) durante o qual as solicitações de API com um nonce inválido, especificamente um valor nonce menor do que um valor nonce usado anteriormente, não causará um erro nonce inválido (EAPI:Nonce inválido). O principal objetivo da Janela nonce é lidar com as inconsistências de rede.
- Expiração da chave: serve para criar uma chave API que funciona somente por um período especificado pelo usuário.
- Data/hora de início/término da janela de consulta (Query Start/End Date/Time): especifica um intervalo de tempo durante o qual os dados do histórico da conta poderão ser consultados por meio dessa chave API específica.
Depois que as configurações da chave API tiverem sido definidas adequadamente, a nova chave API poderá ser gerada clicando-se no botão "Gerar chave". Depois de ler o código QR ou de salvar as chaves pública e privada, clique em "Salvar". Caso contrário, a chave não será validada.
IMPORTANTE: A "chave privada" e o código QR poderão ser visualizados apenas uma vez depois de serem gerados! Salve-os em um gerenciador de senhas, se precisar acessá-los novamente mais tarde. Não salve essas informações em um formato que não seja criptografado!
A "chave privada" e o código QR devem ser tratados da mesma forma como a sua senha! Se caírem nas mãos erradas, a sua conta poderá ser comprometida.
As chaves podem ser usadas de três maneiras:
- O par de chaves pode ser copiado e colado como texto simples diretamente no código do cliente de API. Exemplo: O método usado por nosso cliente de API PHP.
- O par de chaves pode ser copiado e colado em arquivos de texto simples que o cliente de API possa acessar. Exemplo: O método usado por nosso cliente de API de linha de comando.
- Os valores do par de chaves podem ser importados para o nosso aplicativo móvel para iOS e Android, escaneando-se o código QR (conforme mostrado acima) com a câmera do celular. Clique aqui para acessar um guia completo.
Observação: A chave privada também é conhecida como o segredo de API (ou apenas como segredo) por alguns softwares de cliente de API.
A verificação em duas etapas da chave API pode ser adicionada a uma chave API já existente por meio da página Segurança e pode usar uma senha estática ou o Google Authenticator.
Observação: A adição da verificação em duas etapas a uma chave API também requer que o cliente de API tenha compatibilidade com a verificação em duas etapas (ou seja, forneça os dados da verificação em duas etapas para cada chamada aos métodos de API privada). Caso contrário, ocorrerá um erro inesperado em vez da geração da API desejada.
Clique aqui para saber mais sobre como funciona a verificação em duas etapas (2FA) com as chaves API.