@accounter/modern-poalim-scraper
Version:
A new architecture for Israeli bank scrapers to hopefully merge into [Israeli-bank-scrapers](https://github.com/eshaham/israeli-bank-scrapers) when they are ready
396 lines (395 loc) • 16.4 kB
TypeScript
import { MaxOptions, type MaxCredentials } from './scrapers/max.js';
import { AmexCredentials, AmexOptions, CalCredentials, CalOptions, DiscountCredentials, DiscountOptions, HapoalimCredentials, HapoalimOptions, IsracardCredentials, IsracardOptions } from './scrapers/scrapers-index.js';
export declare function init({ headless, userAgent, }?: {
headless?: boolean;
userAgent?: string;
}): Promise<{
hapoalim: (credentials: HapoalimCredentials, options?: HapoalimOptions) => Promise<"Unknown Error" | {
getAccountsData: () => Promise<{
data: import("./__generated__/accountDataSchema.js").AccountDataSchema | null;
isValid: boolean | null;
errors?: unknown;
}>;
getILSTransactions: (account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}) => Promise<{
data: import("./__generated__/ILSCheckingTransactionsDataSchema.js").ILSCheckingTransactionsDataSchema | null;
isValid: boolean | null;
errors?: unknown;
}>;
getForeignTransactions: <T extends boolean>(account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}, isBusiness?: T) => Promise<{
data: import("./__generated__/foreignTransactionsBusinessSchema.js").ForeignTransactionsBusinessSchema | import("./__generated__/foreignTransactionsPersonalSchema.js").ForeignTransactionsPersonalSchema | null;
isValid: boolean | null;
errors?: unknown;
}>;
getForeignSwiftTransactions: (account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}) => Promise<{
data: import("./__generated__/foreignSwiftTransactions.js").ForeignSwiftTransactions | null;
isValid: boolean | null;
errors?: unknown;
}>;
getForeignSwiftTransaction: (account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}, transferCatenatedId: string) => Promise<{
data: import("./__generated__/foreignSwiftTransaction.js").ForeignSwiftTransaction | null;
isValid: boolean | null;
errors?: unknown;
}>;
getDeposits: (account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}) => Promise<{
data: import("./__generated__/hapoalimDepositsSchema.js").HapoalimDepositsSchema | null;
isValid: boolean | null;
errors?: unknown;
}>;
getForeignDeposits: (account: {
bankNumber: number;
branchNumber: number;
accountNumber: number;
}) => Promise<{
data: import("./__generated__/hapoalimForeignDepositsSchema.js").HapoalimForeignDepositsSchema | null;
isValid: boolean | null;
errors?: unknown;
}>;
}>;
isracard: (credentials: IsracardCredentials, options?: IsracardOptions) => Promise<{
getMonthDashboard: (RequestedMonthDate: Date) => Promise<{
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
} | {
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
}>;
getDashboards: () => Promise<({
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
} | {
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
})[]>;
getMonthTransactions: (RequestedMonthDate: Date) => Promise<{
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
} | {
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
isValid: null;
}>;
getTransactions: () => Promise<({
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
} | {
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
isValid: null;
})[]>;
}>;
amex: (credentials: AmexCredentials, options?: AmexOptions) => Promise<{
getMonthDashboard: (RequestedMonthDate: Date) => Promise<{
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
} | {
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
}>;
getDashboards: () => Promise<({
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
} | {
data: import("./__generated__/isracardDashboardMonth.js").IsracardDashboardMonth | null;
})[]>;
getMonthTransactions: (RequestedMonthDate: Date) => Promise<{
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
} | {
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
isValid: null;
}>;
getTransactions: () => Promise<({
isValid: boolean;
errors: unknown;
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
} | {
data: import("./__generated__/isracardCardsTransactionsList.js").IsracardCardsTransactionsList | null;
isValid: null;
})[]>;
}>;
cal: (credentials: CalCredentials, options?: CalOptions) => Promise<{
getMonthTransactions: (last4Digits: string, month: Date) => Promise<{
comments: {
value: string;
key: string;
}[];
merchantName: string;
trnIntId: string;
trnNumaretor: number;
trnPurchaseDate: string;
trnAmt: number;
trnCurrencySymbol: string;
trnType: string;
trnTypeCode: string;
debCrdDate: string;
amtBeforeConvAndIndex: number;
debCrdCurrencySymbol: string;
merchantAddress: string;
merchantPhoneNo: string;
branchCodeDesc: string;
transCardPresentInd: boolean;
curPaymentNum: number;
numOfPayments: number;
tokenInd: number;
walletProviderCode: number;
walletProviderDesc: string;
tokenNumberPart4: string;
cashAccountTrnAmt: number;
chargeExternalToCardComment: string;
transTypeCommentDetails: string[];
refundInd: boolean;
isImmediateCommentInd: boolean;
isImmediateHHKInd: boolean;
isMargarita: boolean;
isSpreadPaymenstAbroad: boolean;
trnExacWay: number;
debitSpreadInd: boolean;
onGoingTransactionsComment: string;
earlyPaymentInd: boolean;
merchantId: string;
crdExtIdNumTypeCode: string;
transSource: string;
isAbroadTransaction: boolean;
}[]>;
getTransactions: () => Promise<{
comments: {
value: string;
key: string;
}[];
merchantName: string;
trnIntId: string;
trnNumaretor: number;
trnPurchaseDate: string;
trnAmt: number;
trnCurrencySymbol: string;
trnType: string;
trnTypeCode: string;
debCrdDate: string;
amtBeforeConvAndIndex: number;
debCrdCurrencySymbol: string;
merchantAddress: string;
merchantPhoneNo: string;
branchCodeDesc: string;
transCardPresentInd: boolean;
curPaymentNum: number;
numOfPayments: number;
tokenInd: number;
walletProviderCode: number;
walletProviderDesc: string;
tokenNumberPart4: string;
cashAccountTrnAmt: number;
chargeExternalToCardComment: string;
transTypeCommentDetails: string[];
refundInd: boolean;
isImmediateCommentInd: boolean;
isImmediateHHKInd: boolean;
isMargarita: boolean;
isSpreadPaymenstAbroad: boolean;
trnExacWay: number;
debitSpreadInd: boolean;
onGoingTransactionsComment: string;
earlyPaymentInd: boolean;
merchantId: string;
crdExtIdNumTypeCode: string;
transSource: string;
isAbroadTransaction: boolean;
}[]>;
}>;
discount: (credentials: DiscountCredentials, options?: DiscountOptions) => Promise<{
getMonthTransactions: (month: Date) => Promise<{
success: boolean;
accountNumber: string;
balance: number;
transactions: {
OperationDate: string;
ValueDate: string;
OperationCode: string;
OperationDescription: string;
OperationDescription2: string;
OperationDescription3: string;
OperationBranch: number;
OperationBank: number;
Channel: string;
ChannelName: string;
InstituteCode: string;
OperationAmount: number;
BalanceAfterOperation: number;
OperationNumber: number;
BranchTreasuryNumber: string;
Urn: string;
OperationDetailsServiceName: string;
CommissionChannelCode: string;
CommissionChannelName: string;
CommissionTypeName: string;
BusinessDayDate: string;
EventName: string;
CategoryCode: number;
CategoryDescCode: number;
CategoryDescription: string;
OperationDescriptionToDisplay: string;
OperationOrder: number;
IsLastSeen: boolean;
CheckNumber?: number | undefined;
}[];
}>;
getTransactions: () => Promise<{
success: boolean;
accountNumber: string;
balance: number;
transactions: {
OperationDate: string;
ValueDate: string;
OperationCode: string;
OperationDescription: string;
OperationDescription2: string;
OperationDescription3: string;
OperationBranch: number;
OperationBank: number;
Channel: string;
ChannelName: string;
InstituteCode: string;
OperationAmount: number;
BalanceAfterOperation: number;
OperationNumber: number;
BranchTreasuryNumber: string;
Urn: string;
OperationDetailsServiceName: string;
CommissionChannelCode: string;
CommissionChannelName: string;
CommissionTypeName: string;
BusinessDayDate: string;
EventName: string;
CategoryCode: number;
CategoryDescCode: number;
CategoryDescription: string;
OperationDescriptionToDisplay: string;
OperationOrder: number;
IsLastSeen: boolean;
CheckNumber?: number | undefined;
}[];
}[]>;
}>;
max: (credentials: MaxCredentials, options?: MaxOptions) => Promise<{
getTransactions: () => Promise<{
accountNumber: string;
txns: {
userIndex: number;
arn: string;
actualPaymentAmount: number;
cardIndex: number;
categoryId: number;
comments: string;
discountKeyAmount: null;
discountKeyRecType: null;
ethocaInd: boolean;
isRegisterCh: boolean;
isSpreadingAutorizationAllowed: boolean;
issuerId: number;
merchantData: {
address: string | null;
coordinates: null;
maxPhone: boolean;
merchant: string;
merchantCommercialName: string | null;
merchantNumber: string;
merchantPhone: string;
merchantTaxId: string;
};
merchantName: string;
originalAmount: number;
originalCurrency: "ILS";
paymentCurrency: number | null;
planName: string;
planTypeId: number;
promotionAmount: number | null;
promotionClub: string;
promotionType: null;
purchaseDate: string;
receiptPDF: null;
refIndex: number;
runtimeReference: {
type: number;
id: string;
};
runtimeReferenceId: null;
shortCardNumber: string;
spreadTransactionByCampainInd: boolean;
spreadTransactionByCampainNumber: number | null;
tableType: number;
tag: null;
uid: string;
upSaleForTransactionResult: null;
dealData?: {
acq: string;
adjustmentAmount: null;
adjustmentType: number;
amount: number;
amountIls: number;
amountLeft: number;
arn: string;
authorizationNumber: string;
cardName: null;
cardToken: null;
commissionVat: number;
directExchange: null;
exchangeCommissionAmount: null;
exchangeCommissionMaam: null;
exchangeCommissionType: null;
exchangeDirect: string;
exchangeRate: number;
indexRateBase: null;
indexRatePmt: null;
interestAmount: number;
isAllowedSpreadWithBenefit: boolean;
issuerCurrency: string;
issuerExchangeRate: null;
originalTerm: null;
percentMaam: number | null;
plan: number;
posEntryEmv: number;
processingDate: string;
purchaseAmount: null;
purchaseTime: string | null;
refNbr: string;
showCancelDebit: boolean;
showSpread: boolean;
showSpreadBenefitButton: boolean;
showSpreadButton: boolean;
showSpreadForLeumi: boolean;
tdmCardToken: string;
tdmTransactionType: number;
transactionType: number;
txnCode: number;
userName: string;
withdrawalCommissionAmount: null;
} | undefined;
fundsTransferComment?: string | undefined;
fundsTransferReceiverOrTransfer?: string | undefined;
paymentDate?: string | undefined;
}[];
}[]>;
}>;
close: () => Promise<void>;
}>;