Банковский API/ протокол
Какие-либо банки предлагают потоки данных личных счетов через любую форму API? По сути, я хочу проверить баланс на счетах, не заходя на их сайт.
Я помню, как когда-то читал об универсальном банковском протоколе... и, может быть, mint.com использует его для доступа к счетам? У mint.com есть особые отношения с каждым банком, или я могу использовать их метод?
Изменить: для моих требований, я заинтересован только в доступе к моим собственным финансовым данным.
8 ответов
Посмотрите формат Open Financial Exchange (OFX) в Интернете. Это (я считаю) является общим форматом для банковской индустрии.
Доступ к API
Вам нужно будет проверить в каждом учреждении, предоставляют ли они API для прямого доступа. Некоторые будут предоставлять доступ по коммутируемой линии, другие имеют более современный IP-сервис. Каждый из них, вероятно, потребует от вас зарегистрироваться и заплатить взнос.
Проще просто потребовать от пользователя загрузить свою выписку из банка и импортировать ее в свое приложение. Большинство систем онлайн-банкинга предоставляют эту функциональность.
Форматы
В любом случае, есть несколько форматов, поддерживаемых банками ( взяты отсюда).
- OFX (открытая финансовая биржа)
- QIF (Quicken Interchange Format)
- CSV (значение, разделенное запятыми)
Вы можете увидеть OFX, называемый Quickbooks, Microsoft Money 2005 или Sage Line 50. QIF иногда называют Quicken 98 или 2000 или Microsoft Money 2003.
Форматы CSV будут проприетарными для каждого учреждения и требуют логики синтаксического анализа, разработанной для каждого экземпляра.
Кто использует какой формат
Банки Великобритании, которые поддерживают форматы OFX или QIF:
- Аббатство (QIF, но не Аббатство Бизнес)
- Альянс и Лестер (OFX и QIF)
- Barclays (OFX)
- Клайдсдейл (QIF)
- Coutts & Co (OFX и QIF)
- Первый прямой (QIF)
- Галифакс (OFX и QIF)
- HSBC (OFX)
- Ллойдс (QIF)
- НэтВест (OFX)
- По всей стране (OFX)
- Королевский банк Шотландии (OFX и QIF)
- Tesco (OFX и QIF)
- Йоркшир (QIF)
Можно написать простой скребок для экрана, чтобы получать транзакции с вашего аккаунта Mint.com. Конечно, это означает, что вам придется создать учетную запись и позволить им выполнять грязную работу за вас.
CasperJS - отличный инструмент, который делает это довольно тривиальным, вам нужно будет установить и Casper, и PhantomJS, фреймворк, на котором он построен.
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();
});
Этот сценарий входит в вашу учетную запись Mint и загружает историю транзакций (в виде файла CSV) в любое место, куда вы укажете. Оттуда вы можете делать то, что вам нравится с данными. Конечно, этот сценарий может быть значительно расширен для выполнения более сложных задач или для фильтрации транзакций, которые он выполняет, но в качестве наилучшей практики я бы посоветовал сохранить экран как можно более простым и добавить логику в конец вашей программы.,
Вы можете периодически запускать этот скрипт, используя launchd для Mac OS X или cron для большинства версий Linux.
Intuit запускает новые сервисы передачи данных с доступом к более чем 18000 финансовым учреждениям через безопасный API-интерфейс. Я не знаю, будут ли они включать британские банки и финансовые учреждения, но вот ссылка:
Для тех, кто не особо озабочен оплатой пяти конвертеров OFX, предназначенных для работы с Nationwide FlexAccount, электронными сбережениями и кредитными картами, попробуйте http://icreateofx.co.uk/NationwideOFXConverter.php.
Для других банков и кредитных карт попробуйте iCreateOFX Basic, а для файлов с инвестициями - iCreateOFX Investment.
В Европе вы можете использовать http://www.agregadorfinanciero.com/ API.
Вы можете попробовать Swift (см. Типы сообщений), но это не та вещь, которую вы можете просто настроить, хотя вам придется поговорить с каждым учреждением, с которым вы хотели бы работать.
Существует стандартный протокол, известный как OFX (ofx.net), который может удовлетворить ваши потребности. Microsoft Money и Quicken используют его для обновления данных.