Las claves API son uno de los componentes principales de la autenticación de API. Son el equivalente API al nombre de usuario y la contraseña de su cuenta de Kraken.
Las claves API se necesitan para llamar a cualquiera de los endpoints de API específicos de la cuenta (es decir, privados), en concreto los endpoints de gestión de cuentas, trading, fondos y staking. Las claves API no son necesarias para llamar a los endpoints de API de datos de mercado (es decir, públicos), ya que los endpoints de datos de mercado no están asociados a ninguna cuenta de Kraken específica.
Las claves API pueden ser usadas por cualquier software que interactúe con nuestros mercados y nuestras cuentas, como nuestros clientes de línea de comandos de la API de REST, algunas aplicaciones móviles, bots de trading de terceros y muchos otros productos/servicios.
Creación de una clave API
- Abra el menú de la cuenta (haga clic en el icono de humano en la esquina superior derecha de la página)
- Seleccione la opción Configuración
- Vaya a la pestaña API y, a continuación, haga clic en "Crear clave API" (podrá configurar su clave API en los siguientes pasos)
Configuración de una clave API
Las claves API incluyen distintas opciones y ajustes que se deben configurar antes de poder usarse, en particular, el nombre/descripción de la clave y los permisos de acceso.
Nombre de la clave
El nombre de la clave es esencialmente el nombre de la clave API, y puede ser prácticamente lo que usted quiera, siempre y cuando la descripción sea única (distinta a las descripciones de cualquier otra clave API de la misma cuenta).
Es recomendable que la clave API tenga un nombre descriptivo y que no incluya información sensible (por ejemplo, "Clave de trading", "Clave de gestión de cuentas", "Clave API Python 6" o "Clave aplicación móvil").
Permisos de la clave
Los permisos de la clave determinan qué endpoints de API específicos de la cuenta (privados) puede utilizar la clave API:
Fondos
- Consultar fondos es necesario para los endpoints de API que consultan la información de los balances de las cuentas, como Balance y TradeBalance.
- Depositar fondos es necesario para los endpoints de fondos relacionados con los depósitos, como DepositMethods y DepositAddresses.
- Retirar fondos es necesario para los endpoints de fondos relacionados con los retiros, como WithdrawInfo, Withdraw y WithdrawCancel.
Órdenes y Operaciones
- Consultar operaciones y órdenes abiertas es necesario para los endpoints de API que consultan órdenes y posiciones de margen existentes, como OpenOrders, QueryOrders y OpenPositions.
- Consultar operaciones y órdenes cerradas es necesario para los endpoints que consultan órdenes y posiciones con margen cerradas o canceladas anteriormente, como ClosedOrders, QueryOrders y QueryTrades.
- Modificar órdenes es necesario para los endpoints de trading que efectúan nuevas órdenes, como AddOrder, EditOrder y AddOrderBatch.
- Cancelar/cerrar órdenes es necesario para los endpoints de trading que cancelan las órdenes abiertas o pendientes, como CancelOrder, CancelAll y CancelOrderBatch.
Datos
- Consultar anotaciones del libro mayor es necesario para los endpoints de API que recuperan datos históricos del libro mayor, concretamente, Ledgers y QueryLedgers.
- Exportar datos es necesario para los endpoints que exportan (descargan) el libro mayor, en concreto, AddExport, RetrieveExport, ExportStatus y RemoveExport.
Como ejemplo de uso correcto de los permisos de la clave API, piense en una clave API que se proporciona a un tercero para hacer trading. Dicha clave API requeriría sin duda contar con los permisos Modificar órdenes y Cancelar/Cerrar órdenes, y probablemente el permiso Consultar órdenes abiertas & operaciones, pero seguramente no necesitara el permiso Retiro de fondos.
Configurar los permisos de forma adecuada permitiría al cliente API realizar operaciones con la cuenta, pero impediría que el cliente API accediese a cualquier información de la cuenta o realizase tareas relacionada con los fondos.
Configuración opcional
El resto de los ajustes de clave API solo se requieren para configuraciones más avanzadas, por lo que generalmente se pueden mantener sus valores predeterminados:
- Interfaz de WebSockets es necesaria para recuperar los tokens de autenticación para las API de WebSocket a través del endpoint GetWebSocketsToken.
- Restricción de dirección IP es una función de seguridad que restringe el uso de claves API a las direcciones IP específicas del cliente.
- La caducidad de la clave se puede emplear para crear una clave API que solo funcione durante un periodo de tiempo específico, por ejemplo, una clave que solo sea válida durante una semana.
- Fecha/hora de inicio/finalización de consulta es un ajuste que restringe las solicitudes de datos históricos de las cuentas a un intervalo de tiempo determinado, por ejemplo, una clave que podría recuperar el historial de trading de este año, pero no de años anteriores.
- Personalizar nonce window es una configuración que se utiliza para solucionar los problemas de red que pueden hacer que las solicitudes de API se desordenen y consiste en proporcionar un breve periodo de tiempo (un segundo, diez segundos, etc.) durante el que las solicitudes de API con un nonce no válido (un valor nonce inferior a un valor nonce utilizado anteriormente) no provocarán un error de nonce no válido.
Una vez que los ajustes de la clave API se hayan configurado correctamente, la nueva clave API se podrá generar haciendo clic en el botón Generar clave.
La clave API, la clave privada y el código QR deben tratarse de la misma forma que un nombre de usuario o contraseña. Guárdelos en un gestor de contraseñas para acceder a ellos más adelante. No los guarde en un formato no cifrado.
Uso de una clave API
Las claves API constan de un par de claves, una pública y una privada, que debe proporcionar al software cliente de la API.
Las claves API se pueden proporcionar de diferentes maneras, por ejemplo:
- El par de claves se puede copiar y pegar como texto sin formato directamente en el código de cliente API. Ejemplo: El método utilizado por nuestro cliente API de PHP.
- El par de claves se puede copiar y pegar en archivos de texto sin formato a los que el cliente API tiene acceso. Ejemplo: El método utilizado por nuestro cliente API de la línea de comandos.
Nota: La clave privada también se conoce como «secreto de API» (o simplemente «secreto») en determinado software de cliente API.
Verificación en dos pasos para la clave API
Las claves API ya proporcionan una forma segura de autenticar el acceso de la API a una cuenta de Kraken, pero se puede reforzar su seguridad aún más añadiendo la verificación en dos pasos.
La verificación en dos pasos de la clave API se puede añadir a una clave API existente mediante la página Seguridad y puede utilizar una contraseña estática o Google Authenticator.
Nota: Añadir la verificación en dos pasos a una clave API también requiere que el cliente API admita este método de autenticación (proporcione los datos de verificación en dos pasos para cada llamada a los métodos de API privada); de lo contrario, se devolvería un error inesperado en lugar del resultado deseado para la API.
Obtenga más información acerca de cómo funciona la 2FA para claves API aquí.