UNPKG

@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

124 lines (123 loc) • 4.37 kB
import type { Page } from 'puppeteer'; import { type MaxTransaction } from './types/max/get-transactions-for-month.js'; interface TransactionsAccount { accountNumber: string; balance?: number; txns: MaxTransaction[]; } export type MaxScrapingResult = TransactionsAccount[]; export interface MaxOptions { /** * the date to fetch transactions from (can't be before the minimum allowed time difference for the scraper) */ startDate?: Date; /** * scrape transactions to be processed X months in the future */ futureMonthsToScrape?: number; } export type MaxCredentials = { username: string; password: string; }; export declare function max(page: Page, 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; }[]; }[]>; }>; export {};