Api de compra / venta para BolsaPHP

He creado una pequeña API para poder enviar órdenes de compra / venta a BolsaPHP. Si no eres programador o aficcionado al mundillo, probablemente no te interese demasiado, pero aún así­, puede ser divertido.

Lo primero que hay que hacer es averiguar la api_key que puedes encontrar en tu perfil de usuario. Es importante que mantegas esta clave en secreto (¡es una clave!).

Ahora tienes que hacer que tu aplicación llame a la api de la siguiente manera (ejemplo, una sola lí­nea):

http://bolsaphp.sukiweb.net/api/cv_api.php?usuario=David& api_key=TU_API_KEY& ticker=BBVA.MC& acciones=25& valor=17.50& tipo_de_orden=LIMITADA& intencion=COMPRA

Esto lanzarí­a una orden de compra de 25 tí­tulos de BBVA a un precio de 17.50 € en orden limitada. Así­ de simple.

Esto permite hacer muchas pequeñas aplicaciones que permitan de forma simple lanzar compras o ventas desde casi cualquier lado. Poco a poco iré añadiendo más funcionalidades.

Si eres programador y haces alguna utilidad, deja un comentario para que la gente pueda verla y utilizarla :)

ACTUALIZADO: Ahora también devuelve información sobre un ticker en XML al hacerle la consulta del tipo:

http://bolsaphp.sukiweb.net/api/cv_api.php?usuario=David& api_key=TU_API_KEY& ticker=BBVA.MC

P.D.: La culpa de esto la tiene Ricardo Galli, que puso en marcha la api para el Nótame y me pique haciendo una pequeña herramienta para utilizarla.

27 Responses to “Api de compra / venta para BolsaPHP”


  1. jotape

    Le echaré un ojo, a ver qué se puede hacer con esto ;-)

  2. Suki_

    Estoy seguro de que te puede salir algo muy chulo.

    Yo le echaré un ojo a tu código para aprender. ;)

  3. kota

    (Offtopic total)
    ¿Dónde está la sección de “About me”, o algún sitio donde haya una dirección de email tuya, Suki?
    Puedes autodestruir este comentario :-)
    Salud!

  4. Suki_

    Kota, puedes establecer contacto conmigo a través de la cuenta de gmail, soy sukiweb.

    No tengo ningún sitio con un “About me” o formulario de contacto, quizá tendrí­a que hacer algo así­. :)

  5. Fisgón de BolsaPHP actualizado | Sukiweb.net

    [...] que recientemente he implementado la api de compra / venta para BolsaPHP con nuevas funcionalidades, le ha todado un repaso al Fisgón para que muestre nuevas [...]

  6. JokinAU

    Suki, cada dí­a t sales más!

    Pregunta: Esta API tiene algún manualcillo, o es “tan sencillo” como:
    1)Consultar
    http://bolsaphp.sukiweb.net/api/cv_api.php? usuario=USUARIO& api_key=TU_API_KEY& ticker=BBVA.MC
    2)Comprar
    http://bolsaphp.sukiweb.net/api/cv_api.php? usuario=USUARIO& api_key=TU_API_KEY& ticker=BBVA.MC& acciones=25& valor=17.50& tipo_de_orden=LIMITADA& intencion=COMPRA
    3)Vender
    http://bolsaphp.sukiweb.net/api/cv_api.php? usuario=USUARIO& api_key=TU_API_KEY& ticker=BBVA.MC& acciones=25& valor=17.50& tipo_de_orden=LIMITADA& intencion=VENTA

  7. Suki_

    JokinAU, exacto. Son esas tres posibilidades y así­ de simple. :)

    Si programas algo que la utilice ya nos contarás. :)

  8. JokinAU

    SuperSuki, hay alguna posibilidad de ampliar tus API? Habí­a pensado en crear alguna aplicación para AMPLIAR la funcionalidad de tus herramientas… (si consigo hacer algo mí­nimamente, ya lo publicaré!)

    Por ejemplo, creo q estarí­a bien q las consultas XML de las diferentes compañí­as devolvieran cuantas tenemos en nuestra cartera de valores, o cero en el caso de que no fuéramos accionistas.
    Teniendo en cuenta q x la API_KEY ya puedes identificarnos, no deberí­a de serte “demasiado difí­cil”, no?

    Gracias y un saludo, visionario!!

  9. Suki_

    Efectivamente no es demasiado dificil, simplemente no se me habí­a ocurrido. :)

    Aunque quizá lo correcto serí­a crear OTRA api para consultas sobre la cartera de usuarios.

    En cuanto tenga algo, lo publico (si ves que pasan muchos dí­as y no lo he hecho, recuérdamelo) :P.

  10. locojaen

    David, te he mandado al mail sukiweb(gmail) la pseudo-web que tengo hecha para trabajar con la API.

    Un saludo! y gracias por este juegazo!

  11. JokinAU

    loco.jaen, como ya te dije, he intentado habilitar una web pública en la que la gente pueda introducir su Nick y API_KEY *fácilmente* y utilizar tu web.
    Por favor, te agradecerí­a que le echaras un vistazo y me contaras que te parece/sugerencias/mejoras… Ya que es tu invento, y ni te he pedido permiso, apenas… :P
    http://www.gurekuadriyia.net/BolsaTOR/lj/
    Una cosa que tengo pendiente y espero implementar a la tarde, es añadir al formulario superior la posibilidad de establecer el tiempo de refresco de los frames.

    David, *supongo y espero* que si alguien cambia su password, se cambiará su API_KEY, no?

  12. locojaen

    No hay problema JokinAU, me parece perfecto, cuantas mas cosas se presenten mejor,

    gracias un saludo

    PD: la web esta muy muy bien, sin duda puede ser muy util, gran idea

  13. Suki_

    JokinAu, me gusta, está bien. Sólo una cosa, OJO con el tema de la API KEY. Se supone que es secreta. Lo digo por que el tema de la API está pensado para aplicaciones locales (en el ordenador de cada uno, PDA o lo que sea) donde tener la KEY es seguro, por que no está en ningún servidor externo.

    No obstante, la idea me gusta mucho, es muy guapa.

    Creo que vamos a tener que empezar a hacer una lista de utilidades y webs de BolsaPHP. ¿Que os parece?

    Por cierto, sí­, cuando cambias la clave de tu usuario cambia la API KEY. :)

  14. JokinAU

    jej, si Suki, gracias por la advertencia, pero ya lo suponí­a. De hecho incluí­ un *AVISO* advirtiendo a los usuarios. La api_key no se guarda en el servidor ni en cookies, es solo un parámetro.

    hum, que leches, en un momento pongo un ZIP con las páginas PHP, por si sirven para algo…

    La idea original de loco.jaen me pareció muy buena, pero con posibles mejoras. De hecho, locojaen, si sigues interesado en mantener una versión usb/local/NO_ONLINE de tus scripts, aví­same, tengo un par de ideas para cambiar el código, *exclusivamente* para hacerlo más portable, manteniendo exactamente la misma funcionalidad.

    Suki, un listado de utilidades ayudarí­a MUCHO a extender bolsaphp, y si además pudieramos colgar ahí­ los ZIPs, pues…… LA LECHE!!
    ¿Por que no facilitas banners y tal de BolsaPHP?
    Otra idea: pide que la gente colabore con imágenes, y seguro q algún mañoso te diseña imagenes/logos…

    Me acabo de dar cuenta que tengo algunos conocimientos de informática, pero de bolsa NI GAITAS! jejeje

  15. locojaen

    Jokin, sí­ sigo llevandolo en el usb, ya que cada dos por tres vario los graficos de la cartera, hago pruebas con gráficos cogidos de otras webs,… lo toqueteo mucho, y se me hace cómodo (me llego a conectar desde (pc’s distintos) y seguro tenerlo así­.

    merci, un saludo.

  16. JokinAU

    Pues el consejo más rápido, es que en gráficos.php substituyas la lí­nea:

    por:

    Es igual de funcional, y más flexible. Lo mismo en cartera.php.

  17. JokinAU

    Pues el consejo más rápido, es que en gráficos.php substituyas la lí­nea:
    meta HTTP-EQUIV=”Refresh” content=”180;URL=file:///F:/Bolsa/graficos.php”
    por:
    meta HTTP-EQUIV=”Refresh” content=”180;URL=graficos.php”
    Es igual de funcional, y más flexible. Lo mismo en cartera.php.

  18. JokinAU

    Suki, he desarrollado un script en php que lee información del .csv de http://es.finance.yahoo.com/q/cp?s=%5EIBEX y lo convierte en un array de dos dimensiones, del estilo de
    Tickers[0]['ticker']
    Tickers[0]['valor']
    Tickers[0]['hora']
    ……
    Para ver su contenido, puedes verlo en acción en:
    http://www.gurekuadriyia.net/BolsaTOR/Ticker.php?demo=1

    La verdad es que me ha costado lo mio, pero creo que el resultado es fiable. Si te interesa para algo, hazmelo saber y te lo paso.
    CREO que serí­a práctico que distribuyeras otro rss con los tickers, valores, max, min…. De forma que la gente lo pueda utilizar en sus utilidades, complementando http://bolsaphp.sukiweb.net/rss.php

    La cuestión es que no me concuerdan los nombres de los tickers con los tuyos al 100%, si visitas http://www.gurekuadriyia.net/BolsaTOR/ verás que algún gráfico falla ¿Los tickers no están normalizados? (ejemplo CINTRA)
    Puedes decirme de donde obtienes tú la información? Gracias

  19. Suki_

    Gracias por la información, le pegaré un vistazo.

    De momento los RSS están pensados para eso, para dar información RSS a navegadores y sindicadores. No serí­a buena idea dar datos en bruto para esto.

    Para dar datos en bruto está la API. :)

  20. JokinAU

    sisi, creo que no me he sabido explicar… Proponí­a completar la información difundida por tus xml… (min, max, dif…….)

  21. BolsaPHP con 5000 usuarios registrados | Sukiweb.net

    [...] Ya hay más de 100 movimientos en los últimos 30 dí­as realizados desde la api de BolsaPHP [...]

  22. Carlos Aguilar

    Hola, sabes, estaba viendo en tu codigo de acceso a la api que incluys el precio del producto, cosa que no deberias de hacer, sino pasar el id del producto o no has pensado que alguien podria guardar la pagina y modificar la url de acceso con precio $0. Solo es una sugerencia que espero sirva de algo

  23. Suki_

    Carlos, te confundes. El precio que se le da es para lanzar la orden de compra o venta. Es decir, como explico en el apunte, “quiero comprar 25 tí­tulos de BBVA a un precio de 17.50 € en orden limitada”.

    Independientemente del valor al que esté actualemente el tí­tulo. :)

  24. Diego

    Hay algo que no me queda muy claro. ¿Qué diferencia hay entre dar una orden desde la página misma de la bolsa y desde el API? ¿Varia en velocidad la respuesta d emi orden o es simplemente otro modo de mandar ordenes?

  25. Suki_

    Diego, la velocidad siempre es la misma. Esta utilidad es más para programadores que quieran hacer sus propias aplicaciones o herramientas para comprar y vender en BolsaPHP. :)

    Por ejemplo, se de laguno que se ha currado unas hojas de cálculo para hacer un seguimiento de su cartera y desde allí­ mismo compra y vende, sin entrar en la web.

    ¿Parece práctico verdad?

    P.D.: A ver si algún dí­a nos enseña como se hace. :)

  26. Diego

    Wow! y yo que me sentia seguro con mis hojitas de excel jajaja, parece bastante práctico. Gracias por la respuesta y por cierto. No hay posibilidad de jugar con otras bolsas del mundo? serí­a interesante, sobre todo ahora que wall street estornuda fuerte, las bolsas se agripan de toas las formas posibles en el mundo. Serí­a interesante poder hacerlo. Gracias David, haz hehco en verdad un buen trabajo aqui con el juego, hace buen tiempo que venia buscando uno.

  27. Más de 200.000 movimientos en 30 dí­as | Sukiweb.net

    [...] Más de 1.000 movimientos en las últimas 24 horas utilizaron la API de compra / venta [...]