UNPKG

pluggy-sdk

Version:
137 lines (136 loc) 6.16 kB
export declare const CONNECTOR_TYPES: readonly ["PERSONAL_BANK", "BUSINESS_BANK", "INVOICE", "INVESTMENT", "TELECOMMUNICATION", "DIGITAL_ECONOMY", "PAYMENT_ACCOUNT", "OTHER"]; /** * @typedef ConnectorType * Type of connectors available */ export declare type ConnectorType = typeof CONNECTOR_TYPES[number]; export declare const PRODUCT_TYPES: readonly ["ACCOUNTS", "CREDIT_CARDS", "TRANSACTIONS", "PAYMENT_DATA", "INVESTMENTS", "INVESTMENTS_TRANSACTIONS", "IDENTITY", "BROKERAGE_NOTE", "OPPORTUNITIES", "PORTFOLIO", "INCOME_REPORTS", "MOVE_SECURITY", "LOANS", "BENEFITS"]; export declare type ProductType = typeof PRODUCT_TYPES[number]; export declare const CREDENTIAL_TYPES: readonly ["number", "password", "text", "image", "select", "ethaddress", "hcaptcha"]; /** * @typedef CredentialType * credential type, used to show a proper form input to the user * 'number' -> numeric only data * 'text' -> alpha-numeric data * 'password' -> alpha-numeric password, must be obfuscated * 'image' -> a QR code needs to be decoded (QR is provided in the credential.data field) * 'select' -> credential has to be picked from values listed in credential.options field */ export declare type CredentialType = typeof CREDENTIAL_TYPES[number]; export declare type CredentialSelectOption = { /** Value of the option */ value: string; /** Displayable text or label of the option */ label: string; }; export declare type ConnectorCredential = { /** parameter label that describes it */ label: string; /** parameter key name */ name: string; /** type of parameter to create the form */ type?: CredentialType; /** If parameter is used for MFA. */ mfa?: boolean; /** If parameter is image, base64 string is provided */ data?: string; /** Assistive information to help the user provide us the credential */ assistiveText?: string; /** Available options if credential is of type 'select' */ options?: CredentialSelectOption[]; /** Regex to validate input */ validation?: string; /** Error message of input validation on institution language */ validationMessage?: string; /** Input's placeholder for help */ placeholder?: string; /** Is this credential optional? */ optional?: boolean; /** Applies to MFA credential only - Detailed information that includes details/hints that the user should be aware of */ instructions?: string; /** Parameter expiration date, input value should be submitted before this date. */ expiresAt?: Date; }; export declare type ConnectorHealthDetails = { /** Percentage of connections that have been working as expected in the last 6 hours. */ connectionRateLast6Hours: number | null; /** Total connections in the last 6 hours for this connector */ connectionsLast6Hours: number | null; /** Detailed error message about the current connector status */ error?: string; }; export declare type Connector = { /** Primary identifier of the connector */ id: number; /** Financial institution name */ name: string; /** Url of the institution that the connector represents */ institutionUrl: string; /** Image url of the institution. */ imageUrl: string; /** Primary color of the institution */ primaryColor: string; /** Type of the connector */ type: ConnectorType; /** Country of the institution */ country: string; /** List of parameters needed to execute the connector */ credentials: ConnectorCredential[]; /** Has MFA steps */ hasMFA: boolean; /** If true, connector has an Oauth login */ oauth?: boolean; /** (only for OAuth connector) this URL is used to connect the user and on success it will redirect to create the new item */ oauthUrl?: string; /** object with information that descirbes current state of the institution connector */ health: { /** * Current status of the connector. * ONLINE - the connector is working as expected * OFFLINE - the connector is not currently available (API will refuse all connections with 400 status error) * UNSTABLE - the connector is working but with degraded performance */ status: 'ONLINE' | 'OFFLINE' | 'UNSTABLE'; /** * Newly released connectors may be in 'BETA' stage for a while, which means that it * might be pending for some features, bugfixes and improvements (your feedback is more than welcome!). * Once the connector is fully productive, stage field will be set to 'null'. */ stage: 'BETA' | null; /** * Detailed information about how the connector is performing, and/or * more context about the current status of the connector. */ details?: ConnectorHealthDetails; }; /** Indicates that the connector is Open Finance */ isOpenFinance: boolean; /** Indicates that the connector is sandbox */ isSandbox: boolean; /** Indicates that the connector supports Payment Initiation */ supportsPaymentInitiation: boolean; /** Indicates that the connector supports Scheduled Payments */ supportsScheduledPayments: boolean; /** Indicates that the connector supports Smart Transfers */ supportsSmartTransfers: boolean; /** Url where user can reset their account password */ resetPasswordUrl?: string; /** list of products supported by the institution */ products: ProductType[]; /** Connector creation date */ createdAt: Date; }; export declare type ConnectorFilters = { /** Connector´s name or alike name */ name?: string; /** list of countries to filter available connectors */ countries?: string[]; /** list of types to filter available connectors */ types?: ConnectorType[]; /** recovers sandbox connectors. Default: false */ sandbox?: boolean; /** filters in (true) or out (false) open finance connectors. Default: undefined */ isOpenFinance?: boolean; /** filters in (true) or out (false) payment initiation connectors. Default: undefined */ supportsPaymentInitiation?: boolean; };