Skip to main content

Class PostingRequest


Properties

NAMETYPELENGTHDESCRIPTIONEXAMPLES
ECVersionStringN/AApplicable for all ECAlertEventId IDs (see below).

Version of the API
"ECVersion ": "P.1.1"
ECAlertEventIdString (Integer)10Applicable for all ECAlertEventId IDs.

The alert event ID for the request. The description for other parameters may refer to these IDs as not all parameters are applicable to all event IDs:
  • 2 = Deposit Submitted
  • 5 = Deposit Item Approved – No Amount Adjustment
  • 6 = Deposit Item Approved – Amount Adjusted Down
  • 7 = Deposit Item Approved – Amount Adjusted Up
  • 8 = Deposit Item Rejected
"ECAlertEventId": "8"
ECAlertLogIdString (Integer)10Applicable for all ECAlertEventId IDs.

The unique ID for the alert event request. The two main uses for this ID are:
  • To be used by the Financial Institution for researching the request/response within EZAdmin
  • If supporting the auto-resend functionality, use this ID to validate that the alert has not previously been processed. (See Section
"ECAlertLogId": "121252"
ECAlertLogDTTMMilitaryString (Datetime)N/AApplicable for all ECAlertEventId IDs.

Timestamp for when the Alert Log entry was created; formatted in military time (PT time zone).

Format: YYYY-MM-DDTHH:MM:SS
"ECAlertLogDTTMMilitary": "2019-11-04T09:30:44"
DataItemsDataItems[]Applicable for all ECAlertEventId IDs.

Array of *DataItems *pertaining to the transaction.
"DataItems": [ { "Name": "ECAcceptedBy", "Value": "Test FI" } ]
SubItemsSubItems[]Applicable for all ECAlertEventId IDs.

Array of *SubItems *pertaining to the transaction.
"SubItems": [ { "ItemType": "DEPOSITITEM" "DataItems": [ { "Name": "ECTransactionDate", "Value": "November 04, 2019 9:30 AM PT" } ] } ]

DataItems

NAMETYPE
NameString
ValueString

SubItems

NAMETYPEDESCRIPTIONEXAMPLES
ItemTypeStringApplicable for all ECAlertEventId IDs.

Static value of "DEPOSITITEM"
"ItemType": "DEPOSITITEM"
DataItemsDataItems[]Applicable for all ECAlertEventId IDs.

Array of DataItems pertaining to the transaction.
"DataItems": [
<!-- Parameters outlined below -->
]

DataItems Attributes

Attribute NameTypeDescriptionsEXAMPLES
ECAcceptedByStringApplicable for all ECAlertEventId IDs.

The name of the Financial Institution that accepted the deposit.

The Financial Institution name is presented here as is configured in our system and may be adjusted at any time by request from the Financial Institution. We do not recommend hard coding any functionality off the name provided here.
{ "Name": "ECAcceptedBy", "Value": "Test FI" }
ECAcquirerIDString(Integer)Applicable for all ECAlertEventId IDs.

The Acquirer ID (also sometimes referred to as the Partner ID) is a unique ID assigned by JHA/Ensenta that is specific to the Financial Institution’s specific product instance within JHA/Ensenta’s platform. The ID is different for each environment (UAT and Production).

An Acquirer ID for your solution’s development team will be provided as part of the initial integration to Smart Alerts for certification purposes and will be specific to the UAT environment only.

For onboarding a specific Financial Institution, a separate Acquirer ID will be assigned by Ensenta for each environment (UAT and Production).

If this interface is planned to be used for multiple products/instances, it is recommended to maintain a lookup table on your end using ECAcquirerID as the unique id which can then be used to define any details around your solution that Financial Institutions may desire to be handled differently. Examples:
  • Hold Codes (see ECHoldCode parameter below)
  • Funds Availability
  • General Ledger Account
  • Transaction Description
  • Etc.
{ "Name": "ECAcquirerID", "Value": "8257" }
ECReceiptNumberStringApplicable for all ECAlertEventId IDs.

The Receipt Number is a value that uniquely represents the transaction.
{
"Name": "ECReceiptNumber",
"Value": "92903163"
}
ECUnmaskedAcctHolderNumStringApplicable for all ECAlertEventId IDs.

Commonly referred to as the Account Holder Number, this is a unique identifier that typically represents the individual End-User or business/merchant.

Banks:
  • Business Mobile/Desktop: Commonly used values are the Tax Identification Number (TIN) or Service Level Agreement (SLA) number from the Core system.
  • Consumer Mobile/Desktop: Commonly used values are the Social Security Number (SSN) or Service Level Agreement (SLA) number from the Core system.


Credit Unions:
  • Business Mobile/Desktop: Member Number is the most commonly used value
  • Consumer Mobile/Desktop: Member Number is the most commonly used value


This value is commonly determined by the Financial Intuition, the SSO vendor (how the user logs into the product to make the deposit), and JHA/Ensenta. Work with your JHA/Ensenta project manager to identify the format for Account Holder Number.
{
"Name": "ECUnmaskedAcctHolderNum",
"Value": "5555544444"
}
ECUnmaskedAcctNumStringApplicable for all ECAlertEventId IDs.

Commonly referred to as the Account Number, the format of the account number may need to be manipulated by your solution to support downstream processing of the transaction.

If supporting multiple Financial Institutions with your solution, it is recommended to allow for flexibility in manipulating the account number that you receive as there may be other requirements in how this value is leveraged for files that JHA/Ensenta outputs for the Financial Institution.

JHA/Ensenta will work with you to identify the account number formatting for the Financial Institution.
{
"Name": "ECUnmaskedAcctNum",
"Value": "12345=10S"
}
ECAcctTypeCdStringApplicable for all ECAlertEventId IDs.

A code that identifies the type of account (as passed to Ensenta via the SSO).

Possible Values:
  • 01 = Checking
  • 02 = Savings
  • 03 = Loan
  • 04 = Line of Credit
  • 05 = Credit Card


Note: Check with the Financial Institution (FI) how they define Money Market accounts as some FIs will handle them as Savings and some as Checking.
{
"Name": "ECAcctTypeCd",
"Value": "01"
}

SubItems.DataItems Attributes

Attribute NameTypeDescriptionsEXAMPLES
ECTransactionDateString (Datetime)Applicable for all ECAlertEventId IDs.

Date that the check was submitted.

The standard format is: YYYY-MM-DDTHH:MM:SS

NOTE: The format of this value may be different if the financial institution has requested that it be changed, as it affects other parts of their setup.
{
"Name": "ECTransactionDate",
"Value": "2019-11-04T09:30:44"
}
ECHoldCodeStringApplicable for all ECAlertEventId IDs.

While optional, the Hold Code is a code applied to the check based on the Financial Institution’s configuration and can be used to determine the Funds Availability that you should apply when posting to the core.

Relating back to the ECAcquirerID from above, since the Financial Institution may have multiple products they are looking to leverage this solution with, it is recommended that you maintain a lookup table for each Acquirer ID with possible hold codes applicable to the setup. Work with the Financial Institution to define the applicable Funds Availability based on hold code within your solution (or elsewhere as appropriate).

Example use case: I have my end-users split into three buckets: Bronze, Silver, and Gold. I want to apply different funds availability based on which group the end-user belongs to. On the JHA/Ensenta end, we can have different hold codes applied for deposits made by users in the different groups and can go more granular than that.

Our standard hold codes are "L" (Local) and "I" (Immediate), but we can create custom hold codes if needed.

If you are planning to leverage hold codes, revisit section Days/work Hours of Proofing Staff as it may impact how the Financial Institution needs funds availability to be applied.
{
"Name": "ECHoldCode",
"Value": "L"
}
ECStatusIdString(Integer)Applicable for all ECAlertEventId IDs.

This value is not generally used unless creating a more granular workflow that ties in the status in combination with the above ECAlertEventId and potentially ECHoldCode.

ECStatusID is the current status identifier of the deposit as it is received and finalized within EZAdmin. The Status ID is an indication of which "queue" the check currently is in. Which queue the check is currently in is initially dictated by the Financial Institution’s configuration and then updated based on their staff’s proofing action.

Submitted (applicable to ECAlertEventId "2"):
  • 0 = Held
  • 1 = Needs Approval
  • 2 = Needs Review
  • 6 = High Risk Review Required


Approved (applicable to ECAlertEventId "5", "6", and "7"):
  • 4 = Review Complete


NOTE: Only applicable for ECAlertEventId "5" if the Financial Institution is leveraging optional functionality described in section Alert Volume.

  • 3 = Approval Complete


Returned/Rejected (applicable to ECAlertEventId "8"):
  • 5 = Return
{
"Name": "ECStatusId",
"Value": "5"
}
ECCheckNumberStringApplicable for all ECAlertEventId IDs.

The check number from the MICR of the check:
  • For personal checks, will extract the value from the On-Us if present.
  • For business checks, will copy the value from the Auxiliary On-Us if present.


NOTE: If supporting Multiple Status Alert Events and the Financial Institution re-visits a check that they previously approved or rejected and makes an update, be aware that an updated alert event is only sent if an update is made to the status and/or amount of the check. If the only change is an update to the MICR, an updated alert event will NOT be sent.
{
"Name": "ECCheckNumber",
"Value": "000001"
}
ECOriginalAmountNoCurrencyString(Numeric)Applicable for all ECAlertEventId IDs.

Original amount of the deposit (as submitted by the end-user); intended to be informational.

The below ECApprovedAmountNoCurrency should be used for the current amount of the check.
{
"Name": "ECOriginalAmountNoCurrency",
"Value": "10.00"
}
ECApprovedAmountNoCurrencyString(Numeric)Applicable for all ECAlertEventId IDs.

The current amount of the deposit after any adjustments.
{
"Name": "ECApprovedAmountNoCurrency",
"Value": "10.00"
}
ECRejectReasonCodeStringOnly applicable for ECAlertEventId = 8 (Deposit Item Rejected).

The reject reason code (also known as return reason code) is the code that represents the reason the Financial Institution is not able to accept the check.

The parameters ECRejectReason and ECRejectReasonOverride below are related to the reject reason code.

The Financial Institution may have customized the reject reason codes, but for the standard list, see Standard Reject Reasons.
{
"Name": "ECRejectReasonCode",
"Value": "N"
}
ECRejectReasonStringOnly applicable for ECAlertEventId = 8 (Deposit Item Rejected).

The reject reason (also known as the return reason) is the internal description associated with the reject reason code from ECRejectReasonCode above.

The Financial Institution may have customized the reject reasons, but for the standard list, see Standard Reject Reasons.
{
"Name": "ECRejectReason",
"Value": "Altered/Fictitious Item"
}
ECRejectReasonOverrideStringOnly applicable for ECAlertEventId = 8 (Deposit Item Rejected).

The reject reason override (also known as return reason override) is the external description (end-user facing) associated with the reject reason code from ECRejectReasonCode above (it will match with ECRejectReason if an override description was not defined).

The Financial Institution may have customized the reject reason overrides, but for the standard list, see Standard Reject Reasons.
{
"Name": "ECRejectReasonOverride",
"Value": "Altered/Fictitious Item"
}
ECCheckFrontBase64StringApplicable for all ECAlertEventId IDs.

This is the Base64 string of front image. Will be the binarized (black and white) version of the image in tiff format.
{
"Name":"ECCheckFrontBase64",
"Value":"<!-- Base64 Image -->"
}
ECCheckBackBase64StringApplicable for all ECAlertEventId IDs.

This is the Base64 string of back image. Will be the binarized (black and white) version of the image in tiff format.
{
"Name":"ECCheckBackBase64",
"Value":"<!-- Base64 Image -->"
}

Standard Reject Reasons

Reason Code (ECRejectReasonCode)Description (ECRejectReason)Description Override (ECRejectReasonOverride)
1Numeric and written amounts different
2Missing 'For Mobile Deposit Only' with endorsement
8Endorsement does not meet requirements
9IRD User Defined-See Return Text Overlay
ANSF – Not Sufficient Funds
BUCF – Uncollected Funds Hold
CStop Payment
DClosed Account
EUTLA – Unable to Locate Account
FFrozen/Blocked Account
GStale Dated
HPost Dated
IEndorsement Missing
JEndorsement Irregular
KSignature(s) Missing
LSignature(s) Irregular
MNon-Cash Item (Non Negotiable)
NAltered/Fictitious Item
OUnable to process (e.g. Mutilated Item)
PItem Exceeds Dollar Limit
QNot Authorized
RBranch/Account Sold (Wrong Bank)
SRefer to Maker
TStop Payment Suspect
UUnusable Image
VImage Fails Security Check
WCannot Determine Amount
YFI Prohibited Item
ZMy Deposit Prohibited Item

Examples

{
"ECVersion": "P.1.1",
"ECAlertEventId": "2",
"ECAlertLogId": "122946",
"ECAlertLogDTTMMilitary": "2019-11-04T09:30:44",
"DataItems": [
{
"Name": "ECAcceptedBy",
"Value": "Test FI"
},
{
"Name": "ECAcquirerID",
"Value": "8257"
},
{
"Name": "ECReceiptNumber",
"Value": "93083182"
},
{
"Name": "ECUnmaskedAcctHolderNum",
"Value": "55555"
},
{
"Name": "ECUnmaskedAcctNum",
"Value": "12345"
},
{
"Name": "ECAcctTypeCd",
"Value": "01"
}
],
"SubItems": [
{
"ItemType": "DEPOSITITEM"
"DataItems": [
{
"Name": "ECTransactionDate",
"Value": "November 04, 2019 9:30 AM PT"
},
{
"Name": "ECHoldCode",
"Value": "L"
},
{
"Name": "ECStatusId",
"Value": "6"
},
{
"Name": "ECCheckNumber",
"Value": "000001"
},

{
"Name": "ECOriginalAmountNoCurrency",
"Value": "5.00"
},
{
"Name": "ECApprovedAmountNoCurrency",
"Value": "5.00"
},
{
"Name": "ECRejectReasonCode",
"Value": ""
},
{
"Name": "ECRejectReason",
"Value": ""
},
{
"Name": "ECRejectReasonOverride",
"Value": ""
},
{
"Name": "ECCheckFrontBase64",
"Value": "<!-- Base64 Image -->"
},
{
"Name": "ECCheckBackBase64",
"Value": "<!-- Base64 Image -->"
}
],
}
]
}