UNPKG

@accounter/modern-poalim-scraper

Version:
130 lines (129 loc) 5.16 kB
import type { Page } from 'puppeteer'; import { type HapoalimAccountData } from '../zod-schemas/hapoalim-account-data-schema.js'; import { type HapoalimDeposits } from '../zod-schemas/hapoalim-deposits-schema.js'; import { type HapoalimForeignDeposits } from '../zod-schemas/hapoalim-foreign-deposits-schema.js'; import { type HapoalimForeignTransactionsBusiness } from '../zod-schemas/hapoalim-foreign-transactions-business-schema.js'; import { type HapoalimForeignTransactionsPersonal } from '../zod-schemas/hapoalim-foreign-transactions-personal-schema.js'; import { type HapoalimILSTransactions } from '../zod-schemas/hapoalim-ils-checking-transactions-schema.js'; import { type HapoalimSecuritiesInfo } from '../zod-schemas/hapoalim-securities-info-schema.js'; import { type HapoalimSecuritiesTransactions } from '../zod-schemas/hapoalim-securities-transactions-schema.js'; import { type SwiftTransaction } from '../zod-schemas/swift-transaction-schema.js'; import { type SwiftTransactions } from '../zod-schemas/swift-transactions-schema.js'; export declare function hapoalim(page: Page, credentials: HapoalimCredentials, options?: HapoalimOptions): Promise<"Unknown Error" | { getAccountsData: () => Promise<{ data: HapoalimAccountData | null; isValid: boolean | null; errors?: unknown; }>; getILSTransactions: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }) => Promise<{ data: HapoalimILSTransactions | null; isValid: boolean | null; errors?: unknown; }>; getForeignTransactions: <T extends boolean>(account: { bankNumber: number; branchNumber: number; accountNumber: number; }, isBusiness?: T) => Promise<{ data: HapoalimForeignTransactionsBusiness | HapoalimForeignTransactionsPersonal | null; isValid: boolean | null; errors?: unknown; }>; getForeignSwiftTransactions: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }) => Promise<{ data: SwiftTransactions | null; isValid: boolean | null; errors?: unknown; }>; getForeignSwiftTransaction: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }, transferCatenatedId: string, dataOriginCode: number) => Promise<{ data: SwiftTransaction | null; isValid: boolean | null; errors?: unknown; }>; getDeposits: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }) => Promise<{ data: HapoalimDeposits | null; isValid: boolean | null; errors?: unknown; }>; getForeignDeposits: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }) => Promise<{ data: HapoalimForeignDeposits | null; isValid: boolean | null; errors?: unknown; }>; /** * Static securities reference info from the "mytrade" portfolio app. * Live balances and open orders in the same response are ignored. * * For the activity inside the portfolio see `getSecuritiesTransactions`. * * Unlike every other Poalim endpoint this one addresses the account as * `branch-account` (no bank number), and is only served to callers running * on the mytrade SPA's own page — so the request is issued from a * short-lived sibling tab sharing the logged-in browser context. */ getSecuritiesInfo: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }) => Promise<{ data: HapoalimSecuritiesInfo | null; isValid: boolean | null; errors?: unknown; }>; /** * Executed activity inside the securities portfolio — buys, sells, dividend * and interest payments, redemptions and other corporate actions — from the * "mytrade" order executions history. * * Complements `getSecuritiesInfo`, which returns the static reference info * for the same portfolio. Same account addressing and same sibling-tab * mechanics; this endpoint is a GET and takes a ddMMyyyy date range, which * defaults to the scraper's configured `duration` window. */ getSecuritiesTransactions: (account: { bankNumber: number; branchNumber: number; accountNumber: number; }, range?: { fromDate: Date; toDate: Date; }) => Promise<{ data: HapoalimSecuritiesTransactions | null; isValid: boolean | null; errors?: unknown; }>; }>; export declare class HapoalimOptions { validateSchema?: boolean; isBusiness?: boolean; duration?: number; getTransactionsDetails?: boolean; otpCallback?: () => Promise<string>; } declare class HapoalimPersonalCredentials { userCode: string; password: string; } declare class HapoalimBusinessCredentials extends HapoalimPersonalCredentials { } export type HapoalimCredentials = HapoalimPersonalCredentials | HapoalimBusinessCredentials; export {};