📢 BizEvent Resource

Event notice recording and retrieval

BizEvent records business event notices for deposit, redemption, and conversion operations. Events track pending operations before they become BizTransactions.

5
Endpoints
3
Notice Types
5
Operations
7
Filter Fields

Usage Notes

When

  • Record event notices for pending deposits, redemptions, and conversions
  • Query event history for workflow tracking
  • Cancel pending events before processing

Requirements

  • Valid Bearer token with event permissions

Notes

  • Event notices precede actual transactions (pending state)
  • NoticeOfConversion creates TWO linked event records
  • Events can be cancelled via PUT /BizEvent/Cancel

Available Endpoints

Event Management

GET Get Events Filtering and event history
PUT Cancel Event Cancel pending event records

Event Creation

POST NoticeOfDeposit Create deposit event records
POST NoticeOfRedemption Create redemption event records
POST NoticeOfConversion Create conversion event records

Core Data Transfer Objects

BizEventNoticeOfDepositDTO NoticeOfDeposit POST endpoint Request body (21 properties) including account/investment specification (accepts InvestmentID, ExternalInvestmentId, or SecurityCode - the three-key identifier model), amount, transaction date, payment details (cheque fields), and entry fee configuration
public class BizEventNoticeOfDepositDTO
{
    public int? ProductID { get; set; }
    public string? ExternalBizTransactionId { get; set; }
    public string? ExternalProductId { get; set; }
    public int InvestmentID { get; set; }
    public string? ExternalInvestmentId { get; set; }
    public string? SecurityCode { get; set; }
    public int? AccountID { get; set; }
    public string? ExternalAccountId { get; set; }
    public decimal? Amount { get; set; }
    public string? Comment { get; set; }
    public DateOnly TransactionDate { get; set; }
    public int? PaymentMethodID { get; set; } //PaymentTypeID
    public string? ChequeBankName { get; set; }
    public string? ChequeBSB { get; set; }
    public string? ChequeAccountNumber { get; set; }
    public string? ChequeChequeNo { get; set; }
    public string? ChequeDrawer { get; set; }
    public decimal? EntryFeeAmount { get; set; }
    public decimal? EntryFeeDiscountPercentage { get; set; }
    public decimal? EntryFeeOverridePercentage { get; set; }
    public decimal? EntryFeePercentage { get; set; }
}
BizEventNoticeOfRedemptionDTO NoticeOfRedemption POST endpoint Request body (12 properties) including account/investment specification (accepts InvestmentID, ExternalInvestmentId, or SecurityCode), quantity/amount options, transaction date, comment, and external transaction identifier
public class BizEventNoticeOfRedemptionDTO
{
    public int? ProductID { get; set; }
    public string? ExternalProductId { get; set; }
    public string? ExternalBizTransactionId { get; set; }
    public int InvestmentID { get; set; }
    public string? ExternalInvestmentId { get; set; }
    public string? SecurityCode { get; set; }
    public int? AccountID { get; set; }
    public string? ExternalAccountId { get; set; }
    public decimal? Amount { get; set; }
    public decimal? Quantity { get; set; }
    public string? Comment { get; set; }
    public DateOnly TransactionDate { get; set; }
}
BizEventNoticeOfConversionDTO NoticeOfConversion POST endpoint Request body (17 properties) with source/target investment specifications (each side accepts From/ToInvestmentID, From/ToExternalInvestmentId, or From/ToSecurityCode), conversion method and factor, quantity/amount options, and external transaction identifier
public class BizEventNoticeOfConversionDTO
{
    public int? ProductID { get; set; }
    public string? ExternalBizTransactionId { get; set; }
    public string? ExternalProductId { get; set; }
    public int FromInvestmentID { get; set; }
    public string? FromExternalInvestmentId { get; set; }
    public string? FromSecurityCode { get; set; }
    public int ToInvestmentID { get; set; }
    public string? ToExternalInvestmentId { get; set; }
    public string? ToSecurityCode { get; set; }
    public int? AccountID { get; set; } = 0;
    public string? ExternalAccountId { get; set; }
    public decimal? Amount { get; set; }
    public decimal? Quantity { get; set; }
    public string? Comment { get; set; }
    public DateOnly TransactionDate { get; set; }
    public decimal? ConversionFactor { get; set; }
    public string? ConversionMethod { get; set; }
}
BizEventDTO GET responses, event records Event record structure with event type, product/investment/account references (including SecurityCode as a read-only projection), amounts, dates, comments, and status information
public class BizEventDTO
{
    public long BizEventID { get; set; }
    public long? ParentBizTransactionID { get; set; }
    public int BizEventTypeID { get; set; }
    public int BizEventStatusID { get; set; }
    public int ProductID { get; set; }
    public string? ExternalProductId { get; set; }
    public int? InvestmentID { get; set; }
    public string? ExternalInvestmentId { get; set; }
    public string? SecurityCode { get; set; }
    public int? AccountID { get; set; }
    public string? ExternalAccountId { get; set; }
    public string? AccountNumber { get; set; } // Readonly
    public string? BizEntityName { get; set; } // Readonly
    public DateOnly BizEventDate { get; set; }
    public decimal? Amount { get; set; }
    public decimal? Quantity { get; set; }
    public string? Comment { get; set; }
    public int? ConversionMethodID { get; set; }
    public decimal? ConversionFactor { get; set; }
    public DateTime? CreatedDate { get; set; }
    public DateTime? UpdatedDate { get; set; }
}

Filter Data Transfer Objects

GET endpoint uses a filter class to bind query parameters. This is a request-only structure for filtering and pagination.

BizEventFilter GET /BizEvent 7 filter fields: BizEventID, BizEventTypeID, AccountNumber, AccountID, ExternalAccountId (FilterField), ProductID, ExternalProductId (direct) + pagination
public class BizEventFilter
{
    public FilterField<long?> BizEventID { get; set; } = new();
    public int? ProductID { get; set; }
    public string? ExternalProductId { get; set; }
    public FilterField<int?> BizEventTypeID { get; set; } = new();
    public FilterField<string?> AccountNumber { get; set; } = new();
    public FilterField<int?> AccountID { get; set; } = new();
    public FilterField<string?> ExternalAccountId { get; set; } = new();
    public int PageSize { get; set; } = 100;
    public int PageNumber { get; set; } = 1;
}

Request & Response Patterns

Identifier Patterns

  • Dual identifiers supported: Native 7G IDs (ProductID, AccountID, InvestmentID) and external IDs (externalProductId, externalAccountId, externalInvestmentId)
  • Either native or external identifier required for product, account, and investment references
  • BizEventID is the unique identifier for event records returned by the API (long in the SDK; mirrored on the filter as FilterField<long?>)

Multi-Record Operations

  • NoticeOfConversion returns 2 linked event records: source investment redemption and target investment allotment
  • NoticeOfDeposit and NoticeOfRedemption return single event records
  • GET endpoint returns paginated arrays of event records with filtering support

Filtering Capabilities

  • GET /BizEvent supports FilterField dot operators for BizEventID, AccountID, ExternalAccountId, BizEventTypeID, AccountNumber
  • Direct filtering available via either ProductID or ExternalProductId (alternative identifiers for the same product)
  • Standard pagination via PageSize and PageNumber parameters