Inoffizieller SDK für Halifax -Aktiengeschäfte, IWeb Aktiengeschäfte, Bank of Scotland Aktie und den Lloyds Bank Direct Investments Service
Kratzt im Internet Banking und kann also durch Updates bis zu ihrem Frontend unterbrochen werden
import halifaxShareDealingSdk from 'halifax-share-dealing-sdk'
// Alternatively:
// const halifaxShareDealingSdk = require('halifax-share-dealing-sdk').default
const sd = halifaxShareDealingSdk ( {
site : 'halifax' , // one of 'halifax', 'iweb', 'bos', 'lloyds'
USERNAME : 'username' ,
PASSWORD : 'password' ,
MEMORABLE_INFORMATION : {
"Your mother's FIRST name" : 'Jane' ,
"Your father's FIRST name" : 'John' ,
'Your place/town of birth' : 'Anytown' ,
'The name of your first school' : 'Anyschool'
}
} )
Dies ist erforderlich, bevor Sie andere Anrufe tätigen
Gibt ein Rechnungsziel mit dem Standardkonto zurück
sd . login ( )
. then ( console . dir )
// { accountId: '000123456ABCD' }
Listet alle Konten auf
Gibt eine Reihe von Richtlinienobjekten mit Kontonamen und Guthaben zurück
sd . login ( )
. then ( sd . getAccounts )
. then ( console . dir )
// [ { accountId: '000123456',
// name: 'Share Dealing Account',
// availableToInvest: { asFloat: 1.23, asText: '£1.23', asRawText: '£1.23' },
// totalSecurities: { asFloat: 4.56, asText: '£4.56', asRawText: '£4.56' },
// totalValue: { asFloat: 5.79, asText: '£5.79', asRawText: '£5.79' } },
// { accountId: '000123456ABCD',
// name: 'Stocks and Shares ISA',
// availableToInvest: { asFloat: 1.23, asText: '£1.23', asRawText: '£1.23' },
// totalSecurities: { asFloat: 4.56, asText: '£4.56', asRawText: '£4.56' },
// totalValue: { asFloat: 5.79, asText: '£5.79', asRawText: '£5.79' } } ]
Ruft das Konto für das Standardkonto von der Seite 'Standard -Konto fest' fest.
Gibt ein Rechnungsziel mit dem Standardkonto zurück
sd . login ( )
. then ( sd . getDefaultAccount )
. then ( console . dir )
// { accountId: '000123456ABCD' }
Legt das Standardkonto fest
Benötigt ein Rechnungswesen für das Konto, das Sie als Standard festlegen möchten
Gibt ein Rechnungsziel mit dem neuen Standardkonto zurück
sd . login ( )
. then ( ( ) => sd . setDefaultAccount ( { accountId : '000123456' } ) )
. then ( console . dir )
// { accountId: '000123456' }
sd . login ( )
. then ( sd . getAccounts )
. then ( accounts => accounts . find ( account => account . name == 'Share Dealing Account' ) )
. then ( sd . setDefaultAccount )
. then ( console . dir )
// { accountId: '000123456' }
Gibt die Dividendenoptionen für alle Konten zurück
Gibt eine Reihe von Richtlinienobjekten mit Dividendenoptionsdaten zurück
sd . login ( )
. then ( sd . getDividendOptions )
. then ( console . dir )
// [ { accountId: '000123456',
// dividendOptionCode: 'H',
// dividendOptionName: 'Hold In Account' },
// { accountId: '000123456ABCD',
// dividendOptionCode: 'R',
// dividendOptionName: 'Automatic Dividend Reinvestment' } ]
Legt die Dividendenoptionen für alle Konten fest
Erfordert eine Reihe von Rechnungszielobjekten mit dividendOptionCode
s. Erfordert nur die Daten für die von Ihnen gewünschten Konten. dividendOptionName
S sind optional, aber wenn die Anfrage nicht möglich ist, wenn die dividendOptionCode
und dividendOptionName
S nicht übereinstimmen. accountId
S muss im Eingabearray eindeutig sein.
Gibt eine Reihe von Richtlinienobjekten mit den aktualisierten Dividend -Optionsdaten zurück
sd . login ( )
. then ( ( ) => [
{
accountId : '000123456ABCD' ,
dividendOptionCode : 'P6'
}
] )
. then ( sd . setDividendOptions )
. then ( console . dir )
// [ { accountId: '000123456',
// dividendOptionCode: 'H',
// dividendOptionName: 'Hold In Account' },
// { accountId: '000123456ABCD',
// dividendOptionCode: 'P6',
// dividendOptionName: 'Pay Away 6-Monthly' } ]
Erhält alle Aussagen
Gibt eine Reihe von Aussagen zurück
sd . login ( )
. then ( sd . getStatements )
. then ( console . dir )
// [ { statementId: '1', statementDate: '01 Jan 1970' } ]
Erhält die Bewertung für ein Konto
Erfordert ein Rechnungsziel für das Konto, für das Sie die Bewertung erhalten möchten
Gibt ein Rechnungswesen mit Bewertungsdaten zurück
sd . login ( )
. then ( sd . getValuation )
. then ( console . dir )
// { accountId: '000123456ABCD',
// stocks:
// [ { TIDM: 'LLOY',
// fullName: 'LLOYDS BANKING GP ORD GBP0.1',
// holding: { asFloat: 100, asText: '100.000', asRawText: '100.000' },
// avgCostPerShare: { asFloat: 0.495, asText: '49.50p', asRawText: '49.50p' },
// bookCost: { asFloat: 49.5, asText: '£49.50', asRawText: '£49.50' },
// latestPricePerShare: { asFloat: 0.555, asText: '55.50p', asRawText: '*55.50p' },
// valuation: { asFloat: 55.5, asText: '£55.50', asRawText: '£55.50' },
// change:
// { absolute: { asFloat: 6, asText: '£6.00', asRawText: '£6.00' },
// percentage: { asFloat: 0.1212, asText: '12.12%', asRawText: '12.12%' } } } ],
// cash: { asFloat: 1000, asText: '£1000.00', asRawText: '£ 1,000.00' },
// availableToInvest: { asFloat: 1000, asText: '£1000.00', asRawText: '£ 1,000.00' },
// totalSecurities: { asFloat: 55.5, asText: '£55.50', asRawText: '£ 55.50' },
// totalValue: { asFloat: 1055.5, asText: '£1055.50' } }
Erhält die Dividendengeschichte für ein Konto
Erfordert ein Rechnungsziel für das Konto, für das Sie die Dividendenhistorie erhalten möchten
Gibt eine Reihe historischer Dividenden im Zusammenhang mit dem Konto zurück
sd . login ( )
. then ( sd . getDividendHistory )
. then ( console . dir )
// [ { issueDate: '09 Oct 2019',
// fullName: 'VANGUARD FUNDS PLC FTSE 250 UCITS ETF GBP DIS',
// exDividendDate: '26 Sep 2019',
// sharesHeldOnExDividendDate: { asFloat: 1, asText: '1', asRawText: '1' },
// amountPayable: { asFloat: 0.26, asText: '£0.26', asRawText: '£0.26' },
// handlingOperation:
// { dividendOptionCode: 'Hold In Account',
// dividendOptionName: 'H' },
// cashRef: 'ABCDXYZ123' } ]
accountId
: Äquivalent zu dem, was halfax denke, rufen Sie einen PortCode
an. Normalerweise der Kontocode mit potenziellen Buchstaben danach. Konten mit unterschiedlichem accountId
können denselben Kontocode teilen. Ich denke, diese sind einzigartig über Anmeldungen hinweg.statementId
: Anweisung ID, ich denke, es handelt sich um eine Inkrementierungsnummer, die bei 1
nicht eindeutig über Anmeldungen eindeutig ist. Anmeldungen werden (im Gegensatz zum Konto) angemeldet, und statementId
S sind in einem Login eindeutig.accounty object
: Ein Objekt mit einer accountId
-Eigenschaft Pull -Anfragen werden auf Github begrüßt! Um loszulegen:
npm install
npm run test
aus, um Tests mit Scherz auszuführennpm run build
Ein nützlicher Pre-Commit-Haken (speichern wie .git/hooks/pre-commit
), um sicherzustellen Persönliche Daten, nach denen Sie suchen möchten):
#! /bin/sh
npm run test && npm run lint && ! grep --exclude=pre-commit -r ' 000123456 ' .
Warnung: Es ist immer noch möglich, Ihre Daten zu begehen, wenn Sie sie inszenieren, löschen und dann verpflichten. Bitte seien Sie vorsichtig!
Versionen folgen der Semantic Versioning Spec.
Zu veröffentlichen:
npm version <major | minor | patch>
Um die Version zu stoßengit push --follow-tags
aus, um mit Tags zu pushen