Event Notification File

A record of notable events which have occurred in Helix since the last file (about 15 minutes).

📘

This is a master file

This is the master events file. All events occurring within your Helix instance will appear in this file. For certain event types, there are additional event-specific data points that are not included in this file. To get the additional data points you can match the UserEventId found in this file with the same UserEventId in the extension files. For additional card event data, see the Card Event Notification File. For additional statement event data, see the Statement Event Notification File.

Event Notification File Definition

The Event Notification File is created by Helix on an hourly basis. It has the following properties:

  1. Fixed-length
  2. ANSI encoded
  3. Line endings are Windows-style CarriageReturn + LineFeed (\r\n, or 0x0D0A)
  4. File will be available in the relative directory of /EventNotification
  5. File name follows a specific, case-sensitive pattern of: yyyyMMddhhmm_EVENTNOTIFICATION.TXT

🚧

Format Disclaimer
Helix reserves the right to append new field(s) to the end of any Header or Content line without notice. This is to allow new data points to be added as needed in a timely fashion.

Implementation Note
Your code should be written such that unexpected characters after the "last" field but prior to the end of each line should be ignored. That is, if the file is documented as being 872 bytes per line, receiving a file with 984 bytes per line should not disrupt your processing. This applies to both Header and Content lines.

File Name Disclaimer
The date in file name should be used as a guideline for human eyes only. Any date-related programmatic dependencies should rely on the FileCreatedDate or FileEffectiveDate contained within the header line of each file, as these will be precise to the second and will be in the appropriate timezone.

Header Row

PropertyData Type (Length)AlignmentStart PositionDescription
RecordTypestring (1)Left1The flag for the header row. Will always be H.
FileNamestring (50)Left2The name of this request file excluding path.
Format: yyyyMMddhhmm_EVENTNOTIFICATION.TXT
Example: 201809060605_EVENTNOTIFICATION.TXT
RecordCountinteger (10)Right52The number of records represented within the file. This field is zero-padded on the left side.
Example: 0000000872
FileCreatedDatedatetime (34)Left62The date the file was created. Follows same format as API.
Example: 2014-10-20T10:30:31.456-05:00
See data format guidelines
FileEffectiveDatedatetime (34)Left96The date to which the data in the file pertains. Follows same format as API.
Example: 2014-10-20T23:59:59.999-05:00
See data format guidelines

Content Row

PropertyData Type (Length)AlignmentStart PositionDescription
CustomerIdinteger (10)Right1The unique identifier for a customer. This field is zero-padded on the left side.
Example: 0000000872
CustomerTagstring (50)Left11The client-supplied unique identifier for the customer, aka the tag property on the customer object. This may be empty as it is an optional property.
AccountIdinteger (10)Right61The unique identifier for the account to which this event applies. May be 0000000000 if this event does not apply to a specific account. This field is zero-padded on the left side.
Example: 0008309285
This is NOT an account number. It is the accountId of an account object.
AccountTagstring (50)Left71The client-supplied unique identifier for the account, aka the tag property on the account object to which this event applies. This is an optional field and may be empty.
ExternalAccountIdinteger (10)Right121The unique identifier for the externalAccount object to which this event applies. May be 0000000000 if this event does not apply to a specific external account. This field is zero-padded on the left side.
Example: 0008309285
This is NOT an account number. It is the externalAccountId of an externalAccount object.
ExternalAccountTagstring (50)Left131The client-supplied unique identifier for the external account, aka the tag property on the externalAccount object. This may be empty as it is an optional property.
TransactionIdlong integer (19)Right181The unique identifier for the transaction. This field is zero-padded on the left side.
Example: 0000000000008309285
TransactionTagstring (50)Left200The client-supplied unique identifier for the transaction. See transaction object definition for details.
Descriptionstring (50)Left250A human-readable description of the event.
EventTypeIdinteger (10)Right300The type of event that occurred. See Event Types for possible values
TransactionTypeCodestring (6)Left310A programmatic code for the type of transaction. See Transaction Types for details.
TransactionSettledDatestring (34)Left316The date and time the transaction was settled. See transaction object definition for details.
TransactionAvailableDatestring (34)Left350The date and time the funds associated with the transaction became available. See transaction object definition for details.
UserEventIDinteger (19)Right384This is a unique identifier for each event. Can be used to cross reference against the Card Event Notification File, Statement Event Notification File or the Realtime Event sent via Azure Service Bus.
MasterIdlong integer (19)Right403All related transactions will have the same MasterId.
TransactionAmountinteger (15)Right422The amount of funds this transaction represents. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32.
TransactionCreatedDatestring (34)Left437The date and time the transaction was requested. See transaction object definition for details.
TransactionSubTypeCodestring (6)Left471The Merchant Category Code of the merchant where the transaction originated. Categorizes merchants with similar lines of business together.
TransactionTypeCodestring (6)Left477The typeCode of the transaction object.
FromAccountIdinteger (10)Right483The unique identifier for the account from which funds were withdrawn (i.e. account was debited). This field is zero-padded on the left side.
Example: 0008309285
This is NOT an account number. It is the accountId of an account or an externalAccountId of an externalAccount object.
FromAvailableBalanceinteger (15)Right493The availableBalance property of the account object that was debited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
FromAccountBalanceinteger (15)Right508The accountBalance property of the account object that was debited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
FromPendingBalanceinteger (15)Right523The pendingBalance property of the account object that was debited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
ToAccountIdinteger (10)Right538The unique identifier for the account to which funds were deposited (i.e. account was credited). This field is zero-padded on the left side.
Example: 0008309285
This is NOT an account number. It is the accountId of an account or an externalAccountId of an externalAccount object.
ToAvailableBalanceinteger (15)Right548The availableBalance property of the account object that was debited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
ToAccountBalanceinteger (15)Right563The accountBalance property of the account object that was credited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
ToPendingBalanceinteger (15)Right578The pendingBalance property of the account object that was credited as a result of the action that caused the event. This field is zero-padded on the left side and two decimals will be assumed, e.g., 000000000000832 represents an amount of $8.32. -00000000000832 represents an amount of -$8.32.
ModifiedByIdinteger (10)Right593The unique identifier for the Customer, Admin User, or 0 for system generated events. This field is zero-padded on the left side.
Example: 0008309285
EventDatestring (34)Left603The date and time the event was triggered on.
IsAdminUserinteger (1)Left637Flag to indicate if ModifiedById is an Admin User. Value will be 1 if ModifiedById is an Admin User and 0 otherwise.
CustomerLockStatusinteger (1)Left638The isLocked property of the customer object.
Possible values:
- 1: - Locked
- 0: - Is not Locked
AccountLockStatusinteger (1)Left639The isLocked property of the account object. Possible values:
- 1: - Locked
- 0: - Is not Locked
ReturnReasonCodestring (3)Left640The Nacha return code representing why the transaction was returned.
CardIdinteger
(10)
Right643Helix-assigned unique ID for the card
NewCardIdinteger (10)Right653Helix-assigned unique ID for a renewed card

{ "file_type": "fixed_length" }