Y a-t-il des banques qui proposent des flux de données de comptes personnels via une forme d'API? Je cherche essentiellement à vérifier les soldes des comptes sans me connecter à leur site Web.
Je me souviens avoir lu à propos d'un protocole bancaire universel ... et peut-être que mint.com l'utilise pour accéder à des comptes? Est-ce que mint.com a une relation spéciale avec chaque banque, ou puis-je tirer parti de leur méthode?
Edit: Pour mes besoins, je ne souhaite accéder qu'à mes propres données financières.
Recherchez le format Open Financial Exchange (OFX) sur le Web. C'est (je crois) un format générique pour le secteur bancaire.
Accès à l'API
Vous devrez vérifier auprès de chaque établissement s'ils fournissent une API pour un accès direct. Certains fourniront un accès sur une ligne commutée, d'autres ont un service IP plus moderne. Chacun vous demandera probablement de vous inscrire et de payer des frais.
Il est plus simple d'exiger que l'utilisateur télécharge son relevé de la banque et l'importe dans votre application. La plupart des systèmes bancaires en ligne offrent cette fonctionnalité.
Formats
Quoi qu'il en soit, il existe plusieurs formats pris en charge par les banques ( tiré d'ici ).
Vous pouvez voir OFX appelé Quickbooks, Microsoft Money 2005 ou Sage Line 50. QIF est parfois appelé Quicken 98 ou 2000 ou Microsoft Money 2003.
Les formats CSV seront propriétaires par institution et nécessiteront une logique d'analyse développée pour chaque instance.
Qui utilise quel format
Les banques britanniques qui prennent en charge les formats OFX ou QIF sont:
Il est possible d'écrire un grattoir d'écran de base pour extraire les transactions du compte de votre compte Mint.com . Bien sûr, cela signifie que vous devrez avoir un compte créé là-bas et les laisser faire le sale boulot pour vous.
CasperJS est un excellent outil qui rend cela assez trivial, vous devrez installer Casper et PhantomJS, le framework sur lequel il est construit.
var casper = require('casper').create();
casper.start('https://wwws.mint.com/login.event', function() {
this.fill('form#form-login', {
username: 'mintusername',
password: 'mintpassword'
}, true);
}).then(function() {
this.echo('Downloading transaction history...')
this.download('https://wwws.mint.com/transactionDownload.event', '/path/to/save/transactions.csv');
});
casper.run(function() {
this.echo('Done.').exit();
});
Ce script se connecte à votre compte Mint et télécharge l'historique de vos transactions (sous la forme d'un fichier CSV ) où vous le souhaitez. De là, vous pouvez faire ce que vous voulez avec les données. Bien sûr, ce script pourrait être développé de manière significative pour faire des choses plus avancées, ou pour filtrer les transactions qu'il tire vers le bas, mais dans le cadre des meilleures pratiques, je conseillerais de garder le grattage d'écran aussi simple que possible et d'ajouter la logique à la fin de votre programme .
Vous pouvez exécuter ce script périodiquement en utilisant launchd pour Mac OS X ou cron pour la plupart des versions Linux.
Intuit lance de nouveaux services de données avec accès à plus de 18 000 institutions financières via des API sécurisées. Je ne sais pas s'ils comprendront les banques et les institutions financières britanniques, mais voici le lien:
Vous pouvez essayer Swift (voir types de messages ), ce n'est pas le genre de chose que vous pouvez simplement configurer, vous devrez parler à chaque institution que vous souhaitez travailler avec.
Pour ceux qui ne s'inquiètent pas ouvertement de payer un fiver pour un convertisseur OFX, conçu pour gérer Nationwide FlexAccount, e-Savings et Creditcards, essayez le Nationwide OFX Converter .
Pour les autres banques et cartes de crédit, essayez iCreateOFX Basic et pour les fichiers d'investissement, essayez iCreateOFX Investment .
Il existe un protocole standard appelé OFX (ofx.net) qui pourrait répondre à vos besoins. Microsoft Money et Quicken l'utilisent tous deux pour mettre à jour les données.
En Europe, vous pouvez utiliser www.agregadorfinanciero.com API.