@accounter/modern-poalim-scraper
Version:
Modern scraper for Israeli banks (Hapoalim, Isracard, Max)
557 lines (556 loc) • 30.3 kB
TypeScript
import { TimelessDateString } from './types.js';
export interface OtsarHahayalCredentials {
userCode: string;
password: string;
}
export interface OtsarHahayalOptions {
fetchIlsTransactions?: boolean;
fetchForeignTransactions?: boolean;
fetchCreditCards?: boolean;
fetchInvestments?: boolean;
validateSchema?: boolean;
fromDate?: string;
toDate?: string;
headless?: boolean;
}
export declare function otsarHahayal(credentials: OtsarHahayalCredentials, userOptions?: OtsarHahayalOptions): Promise<{
getAccounts: () => Promise<{
data: import("./schemas.js").Account[] | null;
isValid: boolean | null;
errors: import("zod/v4/core").$ZodIssue[] | null;
}>;
ilsTransactions: (account: {
accountNumber: number;
accountType?: number;
branch: string;
}) => Promise<{
data: {
accountNumber: null;
accountType: 409;
bank: null;
branch: null;
currentDate: null;
errorMessage: null;
messages: null;
pagingContext: string;
returncode: null;
subtitle: null;
title: null;
transactions: {
ActionCode: 0;
bfbSource: "77";
closingBalance: number;
comments: null;
CorrespondentAccount: number;
CorrespondentAccountType: 0 | 5 | 16 | 64 | 105 | 106 | 330 | 409 | 960;
CorrespondentBank: number;
CorrespondentBranch: number;
creditAmount: number;
CustomerName: string;
dateOfBusinessDay: string;
dateOfRegistration: string;
debitAmount: number;
DepositorId: 0;
description: string;
drillDownUrl: string;
firstTransactionOfDay: boolean;
lastTransactionOfDay: boolean;
Name: string;
openingBalance: number;
OprationSource: string;
reference: number;
SalaryInd: 0;
transactionSource: string;
TransactionReason: string;
drillDownData?: string | {
T10C1523: {
'OUT-DATA': {
'H-FIELDS': {
'H-SCHUM-FROM': string;
'H-SCHUM-TILL': string;
'H-SHLVIBUD': string;
'H-SRIKA-MONE-MEZUKE': string;
'H-SRIKA-TIMESTAMP': string;
'H-TR-FROM': string;
'H-TR-TILL': string;
};
'OUT-DETAILS': {
'WS-BANK': string;
'WS-DATA-2': {
'WS-DATA2-MIS-ISKA': string;
'WS-DATA2-MAKOR': string;
'WS-DATA2-S-P': string;
'WS-DATA2-SIBA': string;
'WS-DATA2-ZIHUY': string;
'WS-KOD-BANKAI': string;
'WS-MAKOR-PEULA': string;
'WS-MOED-BITZUA': {
'WS-DATE-BITZUA': string;
'WS-SHAA-BITZUA': string;
};
'WS-RTGS-STATUS': string;
'WS-SHEM-BANK-MAAVIR': string;
'WS-SHEM-BANK-MUTAV': string;
'WS-SHEM-MAAVIR': string;
'WS-SUG-HAAVARA': string;
'WS-TS-ASM': string;
'WS-BANK-MAAVIR': string;
};
'WS-DATE-HVR': string;
'WS-LINK-SHURA': string;
'WS-MONE-SIDURI-MEZUKE': string;
'WS-MUTAV': string;
'WS-SCHUM': string;
'WS-SHEM-MUTAV': string;
'WS-SHAA': string;
'WS-SNIF': string;
'WS-MAKAF'?: "-" | undefined;
'WS-MCH'?: string | undefined;
'WS-MCH-ZAR'?: string | undefined;
'WS-SCH'?: "105" | undefined;
'WS-SIBA-MAHUT'?: "09" | undefined;
} | {
'WS-BANK': string;
'WS-DATA-2': {
'WS-DATA2-MIS-ISKA': string;
'WS-DATA2-MAKOR': string;
'WS-DATA2-S-P': string;
'WS-DATA2-SIBA': string;
'WS-DATA2-ZIHUY': string;
'WS-KOD-BANKAI': string;
'WS-MAKOR-PEULA': string;
'WS-MOED-BITZUA': {
'WS-DATE-BITZUA': string;
'WS-SHAA-BITZUA': string;
};
'WS-RTGS-STATUS': string;
'WS-SHEM-BANK-MAAVIR': string;
'WS-SHEM-BANK-MUTAV': string;
'WS-SHEM-MAAVIR': string;
'WS-SUG-HAAVARA': string;
'WS-TS-ASM': string;
'WS-BANK-MAAVIR': string;
};
'WS-DATE-HVR': string;
'WS-LINK-SHURA': string;
'WS-MONE-SIDURI-MEZUKE': string;
'WS-MUTAV': string;
'WS-SCHUM': string;
'WS-SHEM-MUTAV': string;
'WS-SHAA': string;
'WS-SNIF': string;
'WS-MAKAF'?: "-" | undefined;
'WS-MCH'?: string | undefined;
'WS-MCH-ZAR'?: string | undefined;
'WS-SCH'?: "105" | undefined;
'WS-SIBA-MAHUT'?: "09" | undefined;
}[];
'OUT-SCHUM-FROM': string;
'OUT-SCHUM-TILL': string;
'OUT-TR-FROM': string;
'OUT-TR-TILL': string;
};
T05CHEAD: {
'T05CHEAD-MCH': string;
'T05CHEAD-PRIMARY-TITLE': {
'T05CHEAD-TITLE': string;
};
'T05CHEAD-SH-TADP': {
'T05CHEAD-SH-TADP-HH': string;
'T05CHEAD-SH-TADP-MM': string;
'T05CHEAD-SH-TADP-SS'?: string | undefined;
};
'T05CHEAD-SNIF': string;
'T05CHEAD-TR-TADP': {
'T05CHEAD-TR-TADP-DD': string;
'T05CHEAD-TR-TADP-MM': string;
'T05CHEAD-TR-TADP-YYYY': string;
};
'T05CHEAD-MESSAGE'?: {
'T05CHEAD-STR-MSG': {
'T05CHEAD-STR-MSG-TYPE': "NO_DATA";
'T05CHEAD-X-MSG-LKP': "לא נמצאו נתונים בנושא המבוקש";
};
} | undefined;
};
T05CTLCH: {
'T05CTLCH-EN': string;
'T05CTLCH-HE': string;
};
};
} | {
T10C1526: {
'OUT-DATA': {
HATACH: {
'OUT-SCHUM-FROM': string;
'OUT-SCHUM-TILL': string;
'OUT-TR-FROM': string;
'OUT-TR-TILL': string;
};
'OUT-DETAILS'?: {
'WS-ASMACHTA': string;
'WS-BANK': string;
'WS-HEARA': string;
'WS-MAVIR-SHEM': string;
'WS-MCH': string;
'WS-SCHUM': string;
'WS-SNIF': string;
'WS-SUG-TNUA': string;
'WS-TR-ERECH': string;
'WS-TR-RISHUM': string;
} | {
'WS-ASMACHTA': string;
'WS-BANK': string;
'WS-HEARA': string;
'WS-MAVIR-SHEM': string;
'WS-MCH': string;
'WS-SCHUM': string;
'WS-SNIF': string;
'WS-SUG-TNUA': string;
'WS-TR-ERECH': string;
'WS-TR-RISHUM': string;
}[] | undefined;
};
T05CHEAD: {
'T05CHEAD-MCH': string;
'T05CHEAD-PRIMARY-TITLE': {
'T05CHEAD-TITLE': string;
};
'T05CHEAD-SH-TADP': {
'T05CHEAD-SH-TADP-HH': string;
'T05CHEAD-SH-TADP-MM': string;
'T05CHEAD-SH-TADP-SS'?: string | undefined;
};
'T05CHEAD-SNIF': string;
'T05CHEAD-TR-TADP': {
'T05CHEAD-TR-TADP-DD': string;
'T05CHEAD-TR-TADP-MM': string;
'T05CHEAD-TR-TADP-YYYY': string;
};
'T05CHEAD-MESSAGE'?: {
'T05CHEAD-STR-MSG': {
'T05CHEAD-STR-MSG-TYPE': "NO_DATA";
'T05CHEAD-X-MSG-LKP': "לא נמצאו נתונים בנושא המבוקש";
};
} | undefined;
};
T05CTLCH: {
'T05CTLCH-EN': string;
'T05CTLCH-HE': string;
};
};
} | {
T20C2211: {
'OUT-DATA': {
'ALL-CARDS': {
'KARTIS-DETAILS': {
'OUT-ISHUV': string;
'OUT-KARTIS-TOKEF': string;
'OUT-KNISA': string;
'OUT-KOD-CHEVRA': string;
'OUT-MIS-BAIT': string;
'OUT-MIKUD1': string;
'OUT-MOED-CHIYUV': string;
'OUT-MSKART': string;
'OUT-RECHOV': string;
'OUT-SHEM-MANPIK': string;
'OUT-SHEM-MISHP': string;
'OUT-SHEM-MOADON1': string;
'OUT-SHEM-PRATI': string;
'OUT-SNIF-DOAR': string;
'OUT-SUG-KARTIS': string;
'OUT-TA-DOAR': string;
'OUT-TA-SNIF': string;
'OUT-MISGERET-ASHRAY-CAL'?: string | undefined;
'OUT-MISGERET-KREDIT-ISR'?: string | undefined;
'OUT-SHEM-MOADON2'?: string | undefined;
'OUT-SHEM-MOADON3'?: string | undefined;
'OUT-SHEM-MOADON4'?: string | undefined;
};
'OUT-HAZAGA-GRAF': {
'OUT-SW-HAZAGA-GRAF': string;
};
'OUT-MTH-SHTF-TAB': {
'OUT-MTH-SHTF-KOT': {
'OUT-MTH-COUNT-SHTF-PIRUT': string;
'OUT-MTH-SHTF-SCHUM-D': string;
'OUT-MTH-SHTF-SCHUM-E': string;
'OUT-MTH-SHTF-SCHUM-S': string;
'OUT-MTH-SHTF-TR-CHIYUV': string;
'OUT-MTH-SHTF-SCHUM-ED-D'?: string | undefined;
'OUT-MTH-SHFT-VIZA-DINERS'?: "Y" | undefined;
};
'OUT-MTH-SHTF-DTLS'?: {
'OUT-MTH-SHTF-ARNAK-SUG': "000" | "003" | "999";
'OUT-MTH-SHTF-ARNAK-TEUR': "" | "UNKNOWN" | "טנרטניא";
'OUT-MTH-SHTF-ARNAK-TOKEN': string;
'OUT-MTH-SHTF-MATBEA-CHIYUV': "דולר ארה\"ב";
'OUT-MTH-SHTF-MATBEA-MAKOR': "דולר ארה\"ב" | "אירו" | "UAH" | "ש\"ח";
'OUT-MTH-SHTF-PIRUT': "" | "דבלב העידיל";
'OUT-MTH-SHTF-PIRUT-EX': "" | "לידיעה בלבד";
'OUT-MTH-SHTF-PIRUT-NOSAF': string;
'OUT-MTH-SHTF-PIRUT-NOSAF-EX': string;
'OUT-MTH-SHTF-H-TR': {
'OUT-MTH-SHTF-CHIYUV-DD': string;
'OUT-MTH-SHTF-CHIYUV-MM': string;
'OUT-MTH-SHTF-CHIYUV-YYYY': string;
};
'OUT-MTH-SHTF-TR': {
'OUT-MTH-SHTF-TR-DD': string;
'OUT-MTH-SHTF-TR-MM': string;
'OUT-MTH-SHTF-TR-YYYY': string;
};
'OUT-MTH-SHTF-SCHUM-CHIYUV': string;
'OUT-MTH-SHTF-SCHUM-ISKA': string;
'OUT-MTH-SHTF-ESEK': string;
}[] | undefined;
};
'OUT-MTH-TAB': {
'OUT-MTH-KOT': {
'OUT-MTH-COUNT-PIRUT': string;
'OUT-MTH-SCHUM-D': string;
'OUT-MTH-SCHUM-E': string;
'OUT-MTH-SCHUM-S': string;
'OUT-MTH-TR-CHIYUV': string;
'OUT-MTH-VIZA-DINERS'?: "Y" | undefined;
'OUT-MTH-SCHUM-ED-D'?: string | undefined;
};
'OUT-MTH-DTLS'?: {
'OUT-MTH-ARNAK-SUG': "000" | "003" | "999";
'OUT-MTH-ARNAK-TEUR': "" | "UNKNOWN" | "טנרטניא";
'OUT-MTH-ARNAK-TOKEN': string;
'OUT-MTH-MATBEA-CHIYUV': "דולר ארה\"ב";
'OUT-MTH-MATBEA-MAKOR': "דולר ארה\"ב" | "אירו" | "UAH" | "ש\"ח";
'OUT-MTH-PIRUT': "" | "דבלב העידיל";
'OUT-MTH-PIRUT-EX': "" | "לידיעה בלבד";
'OUT-MTH-PIRUT-NOSAF': string;
'OUT-MTH-PIRUT-NOSAF-EX': string;
'OUT-MTH-TR': {
'OUT-MTH-TR-DD': string;
'OUT-MTH-TR-MM': string;
'OUT-MTH-TR-YYYY': string;
};
'OUT-MTH-SCHUM-CHIYUV': string;
'OUT-MTH-SCHUM-ISKA': string;
'OUT-MTH-SHEM-ESEK': string;
}[] | undefined;
};
'OUT-SHKL-SHTF-TAB': {
'OUT-SHKL-SHTF-KOT': {
'OUT-SHKL-COUNT-SHTF-ANAF': string;
'OUT-SHKL-COUNT-SHTF-PIRUT': string;
'OUT-SHKL-SHTF-SACH': string;
};
'OUT-SHKL-SHTF-DTLS'?: {
'OUT-SHKL-SHTF-ARNAK-SUG': "000" | "003" | "005" | "999";
'OUT-SHKL-SHTF-ARNAK-TEUR': "" | "UNKNOWN" | "טנרטניא" | "GOOGLE MC";
'OUT-SHKL-SHTF-ARNAK-TOKEN': string;
'OUT-SHKL-SHTF-MISPAR-ANAF': string;
'OUT-SHKL-SHTF-PIRUT': "";
'OUT-SHKL-SHTF-PIRUT-EX': "";
'OUT-SHKL-SHTF-PIRUT-NOSAF': string;
'OUT-SHKL-SHTF-PIRUT-NOSAF-EX': string;
'OUT-SHKL-SHTF-H-TR': {
'OUT-SHKL-SHTF-CHIYUV-DD': string;
'OUT-SHKL-SHTF-CHIYUV-MM': string;
'OUT-SHKL-SHTF-CHIYUV-YYYY': string;
};
'OUT-SHKL-SHTF-ISKA-TR': {
'OUT-SHKL-SHTF-ISKA-DD': string;
'OUT-SHKL-SHTF-ISKA-MM': string;
'OUT-SHKL-SHTF-ISKA-YYYY': string;
};
'OUT-SHTF-SCHUM-ANAF': string;
'OUT-SHKL-SHTF-SCHUM-CHIYUV': string;
'OUT-SHKL-SHTF-SCHUM-ISKA': string;
'OUT-SHKL-SHTF-SHEM-ANAF': string;
'OUT-SHKL-SHTF-ESEK': string;
} | {
'OUT-SHKL-SHTF-ARNAK-SUG': "000" | "003" | "005" | "999";
'OUT-SHKL-SHTF-ARNAK-TEUR': "" | "UNKNOWN" | "טנרטניא" | "GOOGLE MC";
'OUT-SHKL-SHTF-ARNAK-TOKEN': string;
'OUT-SHKL-SHTF-MISPAR-ANAF': string;
'OUT-SHKL-SHTF-PIRUT': "";
'OUT-SHKL-SHTF-PIRUT-EX': "";
'OUT-SHKL-SHTF-PIRUT-NOSAF': string;
'OUT-SHKL-SHTF-PIRUT-NOSAF-EX': string;
'OUT-SHKL-SHTF-H-TR': {
'OUT-SHKL-SHTF-CHIYUV-DD': string;
'OUT-SHKL-SHTF-CHIYUV-MM': string;
'OUT-SHKL-SHTF-CHIYUV-YYYY': string;
};
'OUT-SHKL-SHTF-ISKA-TR': {
'OUT-SHKL-SHTF-ISKA-DD': string;
'OUT-SHKL-SHTF-ISKA-MM': string;
'OUT-SHKL-SHTF-ISKA-YYYY': string;
};
'OUT-SHTF-SCHUM-ANAF': string;
'OUT-SHKL-SHTF-SCHUM-CHIYUV': string;
'OUT-SHKL-SHTF-SCHUM-ISKA': string;
'OUT-SHKL-SHTF-SHEM-ANAF': string;
'OUT-SHKL-SHTF-ESEK': string;
}[] | undefined;
};
'OUT-SHKL-TAB': {
'OUT-SHKL-KOT': {
'OUT-SHKL-COUNT-ANAF': string;
'OUT-SHKL-COUNT-PIRUT': string;
'OUT-SHKL-SACH-ISKA': string;
'OUT-SHKL-TR-CHIYUV': string;
};
'OUT-SHKL-DTLS'?: {
'OUT-SHKL-ARNAK-SUG': string;
'OUT-SHKL-ARNAK-TEUR': string;
'OUT-SHKL-ARNAK-TOKEN': string;
'OUT-SHKL-ESEK': string;
'OUT-SHKL-MISPAR-ANAF': string;
'OUT-SHKL-PIRUT': string;
'OUT-SHKL-PIRUT-EX': string;
'OUT-SHKL-PIRUT-NOSAF': string;
'OUT-SHKL-PIRUT-NOSAF-EX': string;
'OUT-SHKL-SCHUM-ANAF': string;
'OUT-SHKL-SCHUM-CHIYUV': string;
'OUT-SHKL-SCHUM-ISKA': string;
'OUT-SHKL-SHEM-ANAF': string;
'OUT-SHKL-TR': {
'OUT-SHKL-TR-DD': string;
'OUT-SHKL-TR-MM': string;
'OUT-SHKL-TR-YYYY': string;
};
}[] | undefined;
};
};
'OUT-CNP': string;
'OUT-HD': {
'OUT-HD-VAL-HODESH': string;
};
'OUT-HEARA-MTH-1': string;
'OUT-HEARA-MTH-2': string;
'OUT-HEARA-SHKL-1': string;
'OUT-HEARA-SHKL-2': string;
'OUT-HEARA-SHKL-3': string;
'OUT-HEARA-SHKL-4': string;
'OUT-HESDER-ASHRAI-SHKL-1': string;
'OUT-HESDER-ASHRAI-SHKL-2': string;
'OUT-KAMUT-KARTISIM2': string;
'OUT-KT-HEARA-1-SHKL': string;
'OUT-KT-HEARA-2-SHKL': string;
'OUT-KT-HEARA-3-SHKL': string;
'OUT-KT-HEARA-SHKL': string;
'OUT-KT-HEARA-SHKL-1': string;
'OUT-KT-SUBT2': string;
'OUT-RESPONSIB': string;
'OUT-RESPONSIB-1': string;
'OUT-RESPONSIB-2': string;
'OUT-RESPONSIB-3': string;
'OUT-SHUTAF-1': string;
'OUT-SHUTAF-2': string;
'OUT-SHUTAF-3': string;
'OUT-SHUTAF-4': string;
'OUT-SHUTAF-5': string;
'OUT-SHUTAF-6': string;
'OUT-TR-NECHONUT2': string;
};
T05CHEAD: {
'T05CHEAD-MCH': string;
'T05CHEAD-PRIMARY-TITLE': {
'T05CHEAD-TITLE': string;
};
'T05CHEAD-SH-TADP': {
'T05CHEAD-SH-TADP-HH': string;
'T05CHEAD-SH-TADP-MM': string;
'T05CHEAD-SH-TADP-SS'?: string | undefined;
};
'T05CHEAD-SNIF': string;
'T05CHEAD-TR-TADP': {
'T05CHEAD-TR-TADP-DD': string;
'T05CHEAD-TR-TADP-MM': string;
'T05CHEAD-TR-TADP-YYYY': string;
};
'T05CHEAD-MESSAGE'?: {
'T05CHEAD-STR-MSG': {
'T05CHEAD-STR-MSG-TYPE': "NO_DATA";
'T05CHEAD-X-MSG-LKP': "לא נמצאו נתונים בנושא המבוקש";
};
} | undefined;
};
T05CTLCH: {
'T05CTLCH-EN': string;
'T05CTLCH-HE': string;
};
'OUT-CNP'?: string | undefined;
'OUT-LIABILITIES'?: {
'DAF-NEHITA': {
'OUT-MISGERET-TOTAL': string;
};
} | undefined;
};
} | {
T10C1221: {
'OUT-HIDDEN-PARAMS': {
'OUT-SHLVIBUD': string;
};
'OUT-PIRUT-CHIUVIM': {
'OUT-CHIUV-CLALI': {
'OUT-CHIUV-FROM-DATE': string;
'OUT-CHIUV-KOD-MOSAD': string;
'OUT-CHIUV-SHEM-MOSAD': string;
};
'OUT-CHIYUV': {
'OUT-CHIUV-HARSHAA': string;
'OUT-CHIYUV-DATE': string;
'OUT-CHIYUV-SCHUM': string;
}[];
};
T05CHEAD: {
'T05CHEAD-MCH': string;
'T05CHEAD-PRIMARY-TITLE': {
'T05CHEAD-TITLE': string;
};
'T05CHEAD-SH-TADP': {
'T05CHEAD-SH-TADP-HH': string;
'T05CHEAD-SH-TADP-MM': string;
'T05CHEAD-SH-TADP-SS'?: string | undefined;
};
'T05CHEAD-SNIF': string;
'T05CHEAD-TR-TADP': {
'T05CHEAD-TR-TADP-DD': string;
'T05CHEAD-TR-TADP-MM': string;
'T05CHEAD-TR-TADP-YYYY': string;
};
'T05CHEAD-MESSAGE'?: {
'T05CHEAD-STR-MSG': {
'T05CHEAD-STR-MSG-TYPE': "NO_DATA";
'T05CHEAD-X-MSG-LKP': "לא נמצאו נתונים בנושא המבוקש";
};
} | undefined;
};
};
} | undefined;
originReference?: string | undefined;
}[];
} | null;
isValid: boolean;
errors: import("zod/v4/core").$ZodIssue[] | null;
} | {
data: any;
isValid: null;
errors?: never;
}>;
foreignTransactions: () => Promise<import("./types.js").ForeignAccountData[]>;
getCreditCards: () => Promise<{
data: import("./schemas.js").CreditCardsResponse | null;
isValid: boolean | null;
errors: import("zod/v4/core").$ZodIssue[] | null;
}>;
getCreditCardTransactions: (card: {
resourceId: string;
cardType: number;
debitDay: number;
}, month: TimelessDateString) => Promise<{
data: import("./schemas.js").CreditCardBillingPeriod | null;
isValid: boolean | null;
errors: import("zod/v4/core").$ZodIssue[] | null;
}>;
close: () => Promise<void>;
}>;