API del Banco Sabadell

Estoy empezando a hacer una aplicación que usa la API del Banco Sabadell, y hay dos cosas a tener en cuenta:

  • Después de registrarte en el portal de desarrolladores y crear tu aplicación hay que ir a una oficina a que te la validen para que no se quede en estado pendiente de validación.
  • El número de teléfono que aparece de contacto es un 902, el equivalente nacional gratuito es 963 085 000

Según vaya descubriendo más cosas os iré contando.

Actualización 15-03-2019: tenía pendiente actualizar esta entrada y hasta ahora no había tenido tiempo.

TL;DR; muy mal el Banco Sabadell.

Fui a la oficina a que me activaran la aplicación y allí no tenían ni la más remota idea de qué era la API. Después de estar la gestora (que eso sí, tuvo una actitud impecable) un rato al teléfono no puedo activarme nada, pero le dio mi correo a alguien del departamento técnico.

Al día siguiente me enviaron un correo haciendo un montón de preguntas sobre la aplicación. Respondí a todas y pasaron varios días sin recibir respuesta, y finalmente me escribieron diciendo que no cumplía los requisitos para activarse. La aplicación era algo muy sencillo, simplemente quería obtener los últimos movimientos y mostrarlos en mi escritorio con un desklet de Cinnamon, pero parece ser que al Banco Sabadell no le parece normal que una empresa quiera acceder al listado de sus propios movimientos. Es de risa.

Así que muy mal, Banco de Sabadell. No sé para qué tenéis una API si cuando una empresa luego la quiere usar para acceder a sus datos no se lo permitís.

Al final lo he conseguido usando puppeteer.

¿Cómo hacer que mi teléfono Android aparezca en adb para hacer debug remoto en Linux Mint?

Lo primero es conectar el teléfono por USB al ordenador, si nos pregunta qué modo de conexión queremos usar seleccionaremos el de imágenes.

A continuación ejecutamos lsusb, que nos devolverá varias líneas con información sobre nuestros dispositivos USB, el que nos interesa es el del teléfono, en mi caso (Huawei P Smart):

Bus 001 Device 075: ID 12d1:107e Huawei Technologies Co., Ltd. 

Con esta información crearemos el fichero /etc/udev/rules.d/51-android.rules con este contenido:

SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", ATTR{idProduct}=="107e", MODE="0666" GROUP="plugdev", SYMLINK+="android%n"

Hecho esto reiniciamos el servicio udev:

/etc/init.d/udev restart

Editamos el fichero ~/.android/adb_usb.ini y añadimos una línea con el identificador del fabricante (12d1 en mi caso) en formato hexadecimal:

0x12d1

Y arrancamos el servidor de adb:

adb kill-server && adb start-server

Y ¡listo! Nos vamos a las opciones del desarrollador del teléfono, activamos la opción Depuración por USB y ya podremos inspeccionar desde el ordenador las ventanas de Chrome.

El operador unario + en JavaScript

Me enteré el otro día leyendo un artículo de que el operador unario + en JavaScript sirve para intentar convertir al tipo Number al operando que le siga. Si no lo consigue el resultado será NaN.

Es decir, que en vez de usar

let cadena = "5";
let numero = parseInt(cadena, 10);

podemos usar

let cadena = "5";
let numero = +cadena;

Es mucho más conciso, si bien esto es algo que quizá no todo el mundo conoce y puede llevar a confusión, y ya sabemos que…

Os presento payum.club

El año pasado me propuse el reto de hacer una aplicación que pudiera funcionar sin JS y cargara rápidamente. La idea era hacer un ejercicio de programación que partiera de lo más básico (contenido HTML generado desde el servidor y sin usar JS, enviando la información desde el cliente con formularios) y sobre ello ir añadiendo con JS mejoras en la funcionalidad.

Por desgracia, tengo que reconocer que he fallado. No he tenido tiempo para hacer esto. Realmente lo que ha pasado es que el (poco) tiempo que el trabajo me ha dejado libre he preferido usarlo en aprender Vue.js.

Durante muchos años estuve programando JS a pelo (Vanilla JS) y cuando empecé a usar jQuery fue una gozada, todo era mucho más sencillo y avanzaba mucho más rápido. Pues con Vue.js me ha pasado lo mismo, desarrollar una aplicación es mucho más entretenido ahora y me permite librarme de implementar mucho código que antes había que picar sí o sí. Además después de tantos años trabajando con JS se agradece un poco de variedad.

Así que si bien este mensaje implica aceptar un pequeño fracaso también me permite anunciar un pequeño éxito: ya controlo suficiente de Vue.js como para hacer una sencilla aplicación. Y esa aplicación es Payum.club

Vale que no es nada del otro mundo (al menos la versión que hay colgada al escribir este mensaje), pero me ha servido para aprender las bases que me permitirán hacer cualquier aplicación mucho más compleja (enrutado, estado global, comunicación con APIs, PWA).

Y el sol refulgió, y el pueblo lo festejó comiendo en comunidad una oveja y anchoas y carpas y garbanzos y orangutanes y sopa de arroz y fruta y murciélagos….