MNFTransactionFilter

Objective-C

@interface MNFTransactionFilter : NSObject <MNFJsonAdapterDelegate>

Swift

class MNFTransactionFilter : NSObject, MNFJsonAdapterDelegate

The MNFTransactionFilter class encapsulates a transaction filter json data in an object.

A transaction filter should be initialized directly and used when fetching transactions using a filter.

  • @abstract The account identifiers to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable accountIdentifiers;

    Swift

    var accountIdentifiers: [Any]? { get set }
  • @abstract The account IDs to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable accountIds;

    Swift

    var accountIds: [Any]? { get set }
  • @abstract The amount to search from

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable amountFrom;

    Swift

    var amountFrom: NSNumber? { get set }
  • @abstract The amount to search to (upper limit)

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable amountTo;

    Swift

    var amountTo: NSNumber? { get set }
  • @abstract Whether or not to order the returned transactions in an ascending order

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable ascendingOrder;

    Swift

    var ascendingOrder: NSNumber? { get set }
  • Deprecated

    Use bankIds instead

    @abstract The Bank Id to filter by. If it’s null, it will be ignored.

    Declaration

    Objective-C

    @property (nonatomic, strong) MNF_DEPRECATED("Use bankIds instead") NSString *bankId;

    Swift

    var bankId: String? { get set }
  • A list of bank ids to filter by.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable bankIds;

    Swift

    var bankIds: [Any]? { get set }
  • @abstract The category IDs to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable categoryIds;

    Swift

    var categoryIds: [Any]? { get set }
  • @abstract The category types to filter by. String representation. Expenses - An expense category Income - An income category Savings - A savings category Excluded - A category that is excluded from budget

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable categoryTypes;

    Swift

    var categoryTypes: [Any]? { get set }
  • @abstract The transaction comment to filter by. If it’s null, it will be ignored. But it is possible to search for empty comments.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable comment;

    Swift

    var comment: String? { get set }
  • @abstract The counterparty account identifers to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable counterpartyAccountIdentifiers;

    Swift

    var counterpartyAccountIdentifiers: [Any]? { get set }
  • @abstract The transaction currency to filter by. If it’s null or empty, it will be ignored.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable currency;

    Swift

    var currency: String? { get set }
  • @abstract The transaction description to filter by. If it’s null, it will be ignored. But it is possible to search for empty descriptions.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable transactionDescription;

    Swift

    var transactionDescription: String? { get set }
  • @abstract The merchant IDs to exclude

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable excludeMerchantIds;

    Swift

    var excludeMerchantIds: [Any]? { get set }
  • The merchant texts to exclude.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable excludeMerchantTexts;

    Swift

    var excludeMerchantTexts: [Any]? { get set }
  • The external merchant identifiers on transactions.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable externalMerchantIdentifiers;

    Swift

    var externalMerchantIdentifiers: [Any]? { get set }
  • @abstract Whether or not to hide excluded transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable hideExcluded;

    Swift

    var hideExcluded: NSNumber? { get set }
  • @abstract If set, will only return transactions that have insert time before the supplied value

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDate *_Nullable insertedBefore;

    Swift

    var insertedBefore: Date? { get set }
  • @abstract The merchant IDs to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable merchantIds;

    Swift

    var merchantIds: [Any]? { get set }
  • @abstract The merchant texts to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable merchantTexts;

    Swift

    var merchantTexts: [Any]? { get set }
  • @abstract Whether or not to only get flagged transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable onlyFlagged;

    Swift

    var onlyFlagged: NSNumber? { get set }
  • @abstract Whether or not to only get uncategorized transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable onlyUncategorized;

    Swift

    var onlyUncategorized: NSNumber? { get set }
  • @abstract Whether or not to only get transactions with uncertain categorization

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable onlyUncertain;

    Swift

    var onlyUncertain: NSNumber? { get set }
  • @abstract Whether or not to only get unread transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable onlyUnread;

    Swift

    var onlyUnread: NSNumber? { get set }
  • @abstract Whether or not to only get uncleared transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable onlyUncleared;

    Swift

    var onlyUncleared: NSNumber? { get set }
  • @abstract The order of the returned transactions. ByDate - Order by sub-date. = 0 ByText - Order by text description. = 1 ByAmount - Order by amount. = 2 ByCategory - Order by category name. = 3 ByParsedData - Order by parsed data. = 4 ByOriginalDate - Order by date = 5

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable orderBy;

    Swift

    var orderBy: String? { get set }
  • @abstract The date to search from

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDate *_Nullable originalPeriodFrom;

    Swift

    var originalPeriodFrom: Date? { get set }
  • @abstract The date to search to

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDate *_Nullable originalPeriodTo;

    Swift

    var originalPeriodTo: Date? { get set }
  • @abstract The transaction data to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable parsedData;

    Swift

    var parsedData: [Any]? { get set }
  • @abstract List of keys in parsed data that should only return a match if the value is exactly the same as supplied in ParsedData

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable parsedDataExactKeys;

    Swift

    var parsedDataExactKeys: [Any]? { get set }
  • @abstract The parsed data parameter to order by when OrderBy == ByParsedData.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable parsedDataNameToOrderBy;

    Swift

    var parsedDataNameToOrderBy: String? { get set }
  • @abstract The sub-date to search from

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDate *_Nullable periodFrom;

    Swift

    var periodFrom: Date? { get set }
  • @abstract The sub-date to search from

    Declaration

    Objective-C

    @property (nonatomic, strong) NSDate *_Nullable periodTo;

    Swift

    var periodTo: Date? { get set }
  • @abstract A free-form text to filter by that searches through transaction description, merchant name, category name, currency, tags comments and transaction data

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable searchText;

    Swift

    var searchText: String? { get set }
  • @abstract The tags to filter by

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable tags;

    Swift

    var tags: [Any]? { get set }
  • @abstract Whether or not to get uncertain categorization or flagged transactions

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable uncertainOrFlagged;

    Swift

    var uncertainOrFlagged: NSNumber? { get set }
  • @abstract Whether or not to use absolute amount search. If true, AmountFrom = 500 and AmountTo = 1000 searches from -1000 to -500 as well as +500 to + 1000

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useAbsoluteAmountSearch;

    Swift

    var useAbsoluteAmountSearch: NSNumber? { get set }
  • @abstract Whether the search performed is accent insensitive or not.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useAccentInsensitiveSearch;

    Swift

    var useAccentInsensitiveSearch: NSNumber? { get set }
  • @abstract Whether or not to search for amount in currency instead of amount.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useAmountInCurrencySearch;

    Swift

    var useAmountInCurrencySearch: NSNumber? { get set }
  • @abstract Whether or not tags are searched with AND or OR. If true, tags are searched with AND so the transactions returned will have to contain all the Tags.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useAndSearchForTags;

    Swift

    var useAndSearchForTags: NSNumber? { get set }
  • @abstract Whether or not BankId is searched with EQUALS or LIKE. If true, exact matches are found, otherwise matches that contain the search string for BankId.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useEqualsSearchForBankId;

    Swift

    var useEqualsSearchForBankId: NSNumber? { get set }
  • @abstract If true, filters by exact (equals) description as opposed to contains (which is the default).

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useExactDescription;

    Swift

    var useExactDescription: NSNumber? { get set }
  • @abstract If true, filters by exact (equals) merchant texts as opposed to contains (which is the default).

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useExactMerchantTexts;

    Swift

    var useExactMerchantTexts: NSNumber? { get set }
  • @abstract If set to true, parent and the parents children will be found for each merchant id provided in MerchantIds and in ExcludeMerchantIds and they included in the filter. If the merchant has no parent then its children, if any, are added

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useParentMerchantIds;

    Swift

    var useParentMerchantIds: NSNumber? { get set }
  • If true, filters by the original description (transaction text from bank).

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useOriginalDescription;

    Swift

    var useOriginalDescription: NSNumber? { get set }
  • ids

    @abstract A list of transaction ids to filter by.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable ids;

    Swift

    var ids: [Any]? { get set }
  • @abstract A comma seperated list of what fields should be returned.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable fields;

    Swift

    var fields: String? { get set }
  • Decides the order of the returned transactions, defined by a comma separated list of the properties of the Transaction object. The sort order for each sort field is ascending unless it is prefixed with a “-” in which case it is descending. If this string is null or empty then ‘OrderBy’ is used. The supported Transaction fields are: AccountId, Accuracy, Amount, AmountInCurrency, Balance,BankId, CategoryChangedTime, CategoryId, Date, DueDate, HasUserClearedCategoryUncertainty, Id, IsFlagged,IsMerchant, IsOwnAccountTransfer, IsRead, IsSplitChild, IsUncleared, InsertTime, Mcc, MerchantId, ParentIdentifier, Text, Timestamp, CounterpartyAccountIdentifier, Currency, HasUncertainCategorization, OriginalAmount, OriginalDate, OriginalText

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable sort;

    Swift

    var sort: String? { get set }
  • f true, then all the fields passed as {Meniga.Core.Api.Models.TransactionFilter.ParsedData} will be AND-ed together. If the same key appears more than once then they will be OR-ed together and AND-ed with the other keys. If false, they will be OR-ed together. Example: Given ParsedData: (Key=X,Value=x1),(Key=X,Value=x2),(Key=Y,Value=y1) When true: (X=x1 OR X=x2) AND Y=y1 When false: X=x1 OR X=x2 OR Y=y1

    Declaration

    Objective-C

    @property (nonatomic, strong) NSNumber *_Nullable useAndSearchForParsedData;

    Swift

    var useAndSearchForParsedData: NSNumber? { get set }
  • List of merchant connector ids.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable merchantConnectorIds;

    Swift

    var merchantConnectorIds: [Any]? { get set }
  • The transaction descriptions to filter by. If it’s null or empty, it will be ignored. Searching for empty descriptions is possible. If this property is set and is not empty, then the {Meniga.Core.Api.Models.TransactionFilter.Description} property will be ignored regardless of its value.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable descriptions;

    Swift

    var descriptions: [Any]? { get set }
  • List of merchant category codes ( MCC ).

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable merchantCategoryCodes;

    Swift

    var merchantCategoryCodes: [Any]? { get set }
  • Tells which {Meniga.Core.Api.Models.TransactionModel} amount fields to use when searching using {Meniga.Core.Api.Models.TransactionFilter.AmountFrom} and {Meniga.Core.Api.Models.TransactionFilter.AmountTo}. However, if {Meniga.Core.Api.Models.TransactionFilter.UseAmountInCurrencySearch} = true then only {Meniga.Core.Api.Models.TransactionAmountField.AmountInCurrency} is used. If {Meniga.Core.Api.Models.TransactionFilter.UseAmountInCurrencySearch} = false then this list is used but if the list is empty then {Meniga.Core.Api.Models.TransactionAmountField.Amount} is used.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray *_Nullable useAmountFields;

    Swift

    var useAmountFields: [Any]? { get set }
  • Deprecated

    use fetchTransactionSeriesWithTransactionSeriesFilter:withInclude:andCompletion: instead.

    An array of strings specifying which related resources should be included in the response as ‘included’ data. Supported resources are “Account” and “Merchant”, e.g. “Account,Merchant” to get both resources included

    Declaration

    Objective-C

    @property (nonatomic, strong) DEPRECATED_MSG_ATTRIBUTE("use " "fetchTransactionSeriesWithTransactionSeriesFilter" ":withInclude:andCompletion: instead.") NSArray<NSString *> *include;

    Swift

    var include: [String]? { get set }