CoinDesk, Bitpay y Coinbase: tres APIs para desarrollar aplicaciones bitcoin

CoinDesk, Bitpay y Coinbase: tres APIs para desarrollar aplicaciones bitcoin

Los servicios de CoinDesk, Bitpay y Coinbase relacionados con bitcoins disponen de APIs para el desarrollo de aplicaciones y productos financieros por parte de terceros desarrolladores para la realización de operaciones y obtención de datos de cotización. 

BBVAOpen4U
|
27 Jun. 2016

Las enormes ventajas de las interfaces de desarrollo de aplicaciones para la apertura de nuevas formas de negocio con terceros y el ahorro de costes no son ningún secreto. Tanto es así que ya casi ninguna empresa, emprendedor o desarrollador entiende el presente y el futuro sin ellas. Tampoco lo hace la comunidad con las soluciones vinculadas a los bitcoins, sin las APIs sería casi imposible la implantación de la tecnología de pagos y transacciones.

Usando como referencia Programmable Web, el mayor y mejor repositorio de APIs del mundo, que hoy en día ya acumula más de 15.000 interfaces de desarrollo de aplicaciones en su plataforma, este pretende ser un breve listado de las APIs vinculadas a servicios de bitcoins más populares, aunque es cierto que es una selección complicada porque existen infinidad de proyectos y APIs en este sector. 

CoinDesk API

CoinDesk es una plataforma que ofrece servicios relacionados con bitcoins. El más utilizado, posiblemente, es su Índice de Precios de Bitcoin (Bitcoin Price Index - BPI), que establece en tiempo real la cotización de esta criptomoneda. Cientos de servicios relacionados con bitcoins usan este índice para calcular su política cambiaria. La utilización por terceros desarrolladores de la API para incluir la información de este índice de cotización dentro de una aplicación o una página web sólo tiene una única condición: es necesario, como es lógico, dar el crédito a CoinDesk como fuente primaria de los datos financieros de ese índice.

Esta interfaz es una API REST que devuelve información en formato JSON. Las peticiones de esos datos se hacen, como es habitual en una API REST, a través de peticiones HTTP. Inicialmente no hay ningún tipo de limitación en el uso de la API y en el flujo de peticiones de información, aunque advierten contra su abuso. La API de CoinDesk dispone de varios endpoints a partir de los cuales se hacen peticiones por parte de terceros desarrolladores y se obtiene respuesta. 

Un ejemplo, la API de CoinDesk ofrece a los programadores de otras aplicaciones el precio de cotización de su índice en varias monedas distintas a través de un endpoint con esta url: http(s)://api.coindesk.com/v1/bpi/currentprice.json. Un endpoint no es nada más que un servicio de llamada de procedimiento remoto (RPC) que proporciona un método de acceso para personas externas o clientes. Como respuesta tipo ofrece datos de cotización en formato JSON. Un ejemplo: 

{"time":{"updated":"Jun 8, 2016 18:11:00 UTC","updatedISO":"2016-06-08T18:11:00+00:00","updateduk":"Jun 8, 2016 at 19:11 BST"},"disclaimer":"This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org","bpi":{"USD":{"code":"USD","symbol":"$","rate":"578.9950","description":"United States Dollar","rate_float":578.995},"GBP":{"code":"GBP","symbol":"£","rate":"398.7741","description":"British Pound Sterling","rate_float":398.7741},"EUR":{"code":"EUR","symbol":"€","rate":"507.7566","description":"Euro","rate_float":507.7566}}}

Bitpay API

Bitpay es un servicio de pagos online que permite operaciones con bitcoins. Lo que facilita la API de Bitpay es que los desarrolladores de aplicaciones y servicios puedan conectarse a ella para integrar en sus productos funcionalidades como la gestión de facturas, reembolsos a clientes, cuentas, transacciones, información de tarifas… Y todo mediante llamadas HTTPs directamente a la API de Bitpay con lenguajes de programación como Node.js, PHP o Ruby. Esta interfaz de desarrollo de aplicaciones está basada en el protocolo REST (es una API REST).

El esquema de funcionamiento de la API en sencillo: cualquier desarrollador puede ejecutar una llamada HTTPs a cualquier recurso de la API y esta devuelve la información solicitada en formato JSON. Todo este proceso se puede hacer mucho más intuitivo porque Bitpay dispone de varias bibliotecas específicas para ello: por un lado tiene bibliotecas en varias sintaxis como hemos explicado y por otro tiene plugins de código abierto, también disponibles en GitHub, para instalar en sistemas de gestión de contenidos como Drupal o Wordpress o cajas de herramientas específicas de comercio electrónico como Prestashop, Magento o WooCommerce. Al ser de código abierto permite su descarga y mejora por desarrolladores propios. 

Las sesiones de la API es un concepto interesante dentro de la interfaz de Bitpay. Es una funcionalidad que aumenta su seguridad y privacidad contra lo que se conocen como ataques por repetición y garantiza a los clientes que las peticiones de información a la API se procesan por el orden de llegada, aunque el servicio se interrumpa. Cada llamada HTTP a la API va asociada a un ID de sesión (sessionID) y un número de petición (requestNumber). Ese proceso trabaja en dos sentidos: 

- Cada solicitud HTTP adicional a la API provoca un cambio en el requestNumber. A la primera se le asigna un 1, a la segunda un 2… 

- Si un cliente realiza una petición y el servidor no devuelve ninguna información porque este está interrumpido, el desarrollador podrá ejecutar de nuevo la llamada con el mismo requestNumber. La API devolverá la información si ya la tenía cacheada o la enviará desde cero. 

Coinbase APIs

Coinbase es, posiblemente, una de las plataformas más conocidas de compra, venta y utilización de bitcoins. Gran parte de su éxito radica en su repertorio de APIs: Merchants API, Exchange API y Network (Toshi) API (hoy en fase beta). 

- Merchants API: es una API REST que permite a terceros desarrolladores acceder e integrar dentro de sus aplicaciones todas las funcionalidades aportadas por Coinbase Merchants, entre ellas aceptar pagos online en bitcoins y la gestión de las facturas generadas a los clientes. La API soporta dos tipos de autenticación: una clave API para el acceso de los clientes a sus propias cuentas y un protocolo OAuth2 con el que se crean tokens de acceso para el desarrollo de aplicaciones por parte de terceros. 

- Exchange API: es la interfaz de desarrollo de aplicaciones que permite a otros desarrolladores el diseño de productos de trading con bitcoins, con acceso seguro y fiable a la bolsa de cotización de EEUU. Para la obtención de datos en tiempo real, los programadores disponen de dos bibliotecas en dos sintaxis distintas: una en Node.js (simplifica la devolución de la información en formato JSON y la ejecución de las peticiones a través de los endpoints de la API) y una segunda librería en Ruby

- Network (Toshi) API: Toshi es un nodo de bitcoin de código abierto desarrollado por Coinbase para el diseño de aplicaciones web de gran escala. Permite acceder a los datos agregados de blockchain: recuperar los últimos bloques de bitcoins, realizar todo tipo de transacciones y obtener la información de esas operaciones y los saldos de las direcciones bitcoin.

Si quieres probar las APIs de BBVA, testéalas aquí.

¡Suscríbete!

Recibe nuestro boletín semanal. No te pierdas nuestros trucos, consejos, artículos y los eventos más innovadores.