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
Record Typestring (1)Left1The flag for the header row. Will always be H.
File Namestring (50)Left2The name of this request file excluding path.
Format: yyyyMMddhhmm_EVENTNOTIFICATION.TXT
Example: 201809060605_EVENTNOTIFICATION.TXT
Record Countinteger (10)Right52The number of records represented within the file. This field is zero-padded on the left side.
Example: 0000000872
File Created Datedatetime (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
File Effective Datedatetime (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
Customer IDinteger (10)Right1The unique identifier for a customer. This field is zero-padded on the left side.
Example: 0000000872
Customer Tagstring (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.
Account IDinteger (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.
Account Tagstring (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.
External Account IDinteger (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.
External Account Tagstring (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.
Transaction IDlong integer (19)Right181The unique identifier for the transaction. This field is zero-padded on the left side.
Example: 0000000000008309285
Transaction Tagstring (50)Left200The client-supplied unique identifier for the transaction. See transaction object definition for details.
Descriptionstring (50)Left250A human-readable description of the event.
Event Type IDinteger (10)Right300The type of event that occurred. See Event Types for possible values
Transaction Type Codestring (6)Left310A programmatic code for the type of transaction. See Transaction Types for details.
Transaction Settled Datestring (34)Left316The date and time the transaction was settled. See transaction object definition for details.
Transaction Available Datestring (34)Left350The date and time the funds associated with the transaction became available. See transaction object definition for details.
User Event IDinteger (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.
Master IDlong integer (19)Right403All related transactions will have the same MasterId.
Transaction Amountinteger (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.
Transaction Created Datestring (34)Left437The date and time the transaction was requested. See transaction object definition for details.
Transaction Subtype Codestring (6)Left471The Merchant Category Code of the merchant where the transaction originated. Categorizes merchants with similar lines of business together.
Transaction Type Codestring (6)Left477The typeCode of the transaction object.
From Account IDinteger (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.
From Available Balanceinteger (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.
From Account Balanceinteger (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.
From Pending Balanceinteger (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.
To Account IDinteger (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.
To Available Balanceinteger (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.
TobAccount Balanceinteger (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.
To Pending Balanceinteger (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.
Modified By IDinteger (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
Event Datestring (34)Left603The date and time the event was triggered on.
Is Admin Userinteger (1)Left637Flag to indicate if ModifiedById is an Admin User. Value will be 1 if ModifiedById is an Admin User and 0 otherwise.
Customer Lock Statusinteger (1)Left638The isLocked property of the customer object.
Possible values:

- 1: - Locked
- 0: - Is not Locked
Account Lock Statusinteger (1)Left639The isLocked property of the account object. Possible values:

- 1: - Locked
- 0: - Is not Locked
Return Reason Codestring (3)Left640The Nacha return code representing why the transaction was returned.
Card IDinteger
(10)
Right643Helix-assigned unique ID for the card
New Card IDinteger (10)Right653Helix-assigned unique ID for a renewed card

{ "file_type": "fixed_length" }