Transaction History
GET/client/users/:correlation_id/transactions/history/v2
The Transaction History request parameters and request combine to provide a tailored response showing a specified number and/or date range of transactions or a specific transaction. The response includes detailed data about what occurred with each transaction.
Note:
The following types of transactions may or may not be shown in the transaction history response depending on configuration settings. The value of the excludedTransactionTypes object attributes determine whether void transactions and the related original transactions, audit transactions, or transactions which do not change the member's points will be shown in the response. For each of these types of transactions, if the value is set to true, this type of transaction is not shown in the response; if the value is set to false, then this type of transaction is shown in the response.
-
Audit transactions -
audit -
Void transaction -
voided -
Activity transactions with net zero points -
netZeroActivityTxns
Query Parameters
You can add a query parameter to provide query information at the end of the request URL and refine your search.
| Parameter | Description | Format | Note |
|---|---|---|---|
| limit | Maximum number of transactions to return in a page | Number | Default is 30. Maximum allowed is 150. |
| transactionId | Transaction Id to start searching from | String | Normally, use the last transaction id in the previous page returned. If left blank, will search from the start of the first page. |
| from | For a date range on which to search for transactions, this is the starting date of the range. | Number | Date/time is in milliseconds. If left blank, will start searching from the current moment. |
| to | For a date range on which to search for transactions, this is the end date of the range. | Number | Date/time is in milliseconds. If left blank, will used the configured default maximum which is 1 year if not changed. If the requested date is further back than the configured default maximum, it will be modified to match that maximum. |
| locale | Locale of the member and the transaction. | String, values currently supported are: "en-CA", "en-US" and "fr-CA"; "EN" and "FR" can be used as well, but only for the member record (on the account level) | Optional. Priority order: (1) this query parameter; (2) locale set on the account; (3) environment locale. If locale is not provided or is not a valid value, system default ("en-CA") is used. |
| transactionType | Valid RequestAction which is configured in to be allowed in filters. | String | For example, "ADHOC_REDEEM"; see the RequestAction list below the Response section below to view all possible values, but note that the values available depend on configuration. |
| externalTransactionID | Unique identifier used by the client for transactions. | String | Returns transactions that use that externalTransactionID. Must be non-empty (or returns an error). Value is not validated, so results may be an empty object if no matching transactions are found. |
Request
Path Variables
- CorrelationId
- Unique identifier for the session. Should match the one used in session start.
Body
This request does not have a body.
Response
An array of transactions. See Transaction Format below for more details on the various types of transactions that can be returned.
| Attribute | Definition | Format | Note |
|---|---|---|---|
| transactions | Contains all of the historical transaction data. | Array | May contain one or many transactions |
| TransactionID | Unique identifier for a transaction. | String | Typically equal to the sessionID |
| AccountID | Unique identifier for related account. | String | The GUID must related back to an existing accountId. Anonymous transactions always have the accountId as "anonymous". This can change if the account this belongs to is merged. |
| RequestAction | Identifies the type of transaction request. | Enum: See the list for RequestAction below this table. | If not eligible for base, then not eligible for bonus. For more information about the possible values, see the list Transaction RequestAction Types below this table. |
| TransactionDate | Date/time when the transaction occurred in ISO 8601 format. | String | As occurred at the POS or when the request was made by Console |
| TransactionDateEpoch | Date/time when the transaction occurred in Epoch format. | Number | Date/time in milliseconds. Time zone is not needed as Epoch times are absolute and convertible to an time zone. Processed date will differ slightly from transaction date, markedly so in the case of SAF. If this date conflicts with the ISO date for any reason, this will be considered the accurate value. |
| ProcessedDate | Date on which the transaction was processed. In ISO 8601 format. | String | |
| ProcessEpoch | Date on which the transaction was processed in Epoch format. | Number | Date/time in milliseconds |
| ExternalTransactionID | Unique identifier provided for this transaction by the client. | String | Optional; transactions can be sorted by TransacationDateEpoch descending (most recent are first in the list returned) |
| MetaData | Returns metadata on the transaction re: account status and the reason for the transaction, SenderDetails or RecipientDetails for POINTS_TRANSFER transactions. | Object | Any extra information about the transaction. Usually this is where we include data about how the transaction was calculated, for example, if the account holder was allowed to earn or not. The next six fields are provided as examples. |
| VoidMetaData | Contains data about a void ID and whether the void transaction and associated original transaction should be shown in the response. | Object | Contains voidId and isVoided |
| voidId | Unique identifier for the void transaction | String | |
| isVoided | Specifies whether the void transaction and original transaction should be included in the response. | Boolean: true or false | If set to false, then the void transaction and associated original transaction are shown in the response; if false, they are not |
| SessionIdentifierType | The type of identifier used to uniquely identify this session. | String | A value such as "LOYALTY_ID", ACCOUNT_ID", or "EXTERNAL_ID" |
| SessionIdentifierValue | Unique value used to identify the session. | String | For instance, a loyalty card number or account number |
| ExternalReferenceId | Reference used to identify the session externally to the system. | String | |
| LastActivityDateEpoch | The Last Activity Date (LAD) listed in Epoch format. | Number | Date/time in milliseconds |
| ExpiryRule | Contains data about how points expiry is implemented. | Object | Contains count, unit, text, and metric |
| count | Number of date units to expiry. | Number | Such as 1, 6, 12, or 24 to indicate that number of months |
| unit | The type of unit used for expiry. | String | For instance, "MONTHS" |
| text | A short explanation of the expiry rule. | String | For example, "3 MONTHS since LastActivityDateEpoch" |
| metric | The metric upon which the expiry is based. | String | For instance, "LastActivityDateEpoch" |
| SenderDetails or RecipientDetails | Exmple if required for a POINTS_TRANSFER transaction; provides non-PII sender information. | Object | Contains firstName, lastName, businessName, email, and postalCode |
| firstName | First name of the sender or receiver. | String | |
| lastName | Last name of the sender or receiver. | String | |
| businessName | Business name of the sender or receiver. | String | |
| Email address of the sender or receiver. | String | ||
| postalCode | Postal code of the sender or receiver. | String | |
| AccountStatus | Identifies the status of the account. | Enum: "ACTIVE", "INACTIVE", "DAMAGED" | Optional |
| EligibleToEarn | Identifies whether the transaction was eligible to earn rewards. | Boolean: true or false | Optional |
| LoyaltyStatus | Identifies the status of the account for the loyalty program. | Enum: "ACTIVE", "INACTIVE", "DAMAGED" | Optional |
| POINTS_BANK_SOR | Whether ES Loyalty is the System of Record (SOR) for the transaction. | Boolean: true or false | Optional |
| affectsBalance | Whether the transaction affects the rewards balance. | Boolean: true or false | Optional |
| Reason | Identifies the reason for the transaction. | String | An example of a MetaData object attribute |
| NetAmount | The net amount of points that were applied related to the transaction. | Integer Number | |
| NetAmountDollars | The net amount of dollars that were applied related tot the transaction. | Decimal Number | Currency formatting to two decimal points is enforced even if the number is not supplied in that form |
| TransactionParts | Array of the types of balance adjustments done to an account resulting from the transaction. | Array | Contains action, partDetails (to attribute Agent below) or rewardDetails (attribute after Agent below), |
| action | Describes the type of transaction. | String: For values, see the list below this table | See the list of TransactionParts Action Types below this table. |
| partDetails | Contains details about the parts of the transaction. | Object | Contains some of the attributes below, as far as the Agent attribute. Note that if the action is "REDEEM", the description of the attributes in the partDetails object begins with Reservation below. |
| rewardDetails | Contains details about the parts of the transaction. | Array containing object(s) | |
| offerRewards | Contains details about the parts of the transaction. | Array containing object(s) | |
| issuerId | Name or identifier for the issuer of the reward. | String | |
| rewardName | Name of the reward. | String | |
| rewardId | Unique identifier for the reward for this transaction part. | String | |
| amount | The amount for this part of the transaction. | Number | |
| accountType | The type of this part of the transaction. | String | For instance, "POINTS_TRANSFER" |
| promotionHeadline | The promotional headlines used for the offer. | String | |
| pointsEarned | The points earned by fulfilling this offer. | Number | |
| rewardsEarned | Rewards earned by fulfilling this offer. | Number | |
| isTargeted | Whether or not it is a targeted offer. | Boolean: true or false | |
| offerDescription | A short description of the offer for internal use. | String | |
| offerCode | A unique code that identifies the offer. | String | |
| isDiscretionary | Whether or not the offer is a discretionary offer. | Boolean: true or false | |
| currency | Currency type of the reward. | String | For example, "GAMEPLAY" |
| type | Type of the reward. | String | For instance, "FLAT" or "BONUS" |
| scope | Contains details about the scope of the reward. | Object | Example given below (type to metadata) is for game play. |
| type | Type of reward. | String | For instance, "GAMEPLAY" |
| metadata | Additional data about the reward. | Object | In this example, contains gameID to gameName below. |
| gameID | Unique identifier for the game in the system. | String | |
| gameProvider | The game vendor. | String | For example, "CATABOOM" |
| gameType | The type of game rewarded. | String | For instance, "SPIN_THE_WHEEL" |
| gameName | The game label or name. | String | |
| stacking | Whether the offer can be stacked with other offers. | Object | This object contains details about the reward groups within which this offer can be stacked with other offers |
| rewardGroups | Contains the names of any applicable reward groups that may be stacked. | Array | |
| amount | The amount of the transaction. | Number | |
| accountType | The type of account | String | For example, "CORP - NONPOS" |
| IsAudit | Is this a zero-value audit transaction | Boolean: true or false | Only true in cases where the earn is zero due to a specific reason such as ineligibility in identified sessions |
| Agent | The Agent ID for the agent that performed the action | String | Not relevant for POS transactions |
| rewardDetails | Details of an ad hoc reward | Object | This is used instead of partDetails for ad hoc rewards; the next four attributes below belong to this object |
| issuerId | Unique ID for the partner or business unit that issued the ad hoc reward. | String | |
| rewardName | The name of the ad hoc reward. | String | |
| rewardId | The unique identifier of the ad hoc reward. | String | |
| amount | The amount of ad hoc reward. | Number | The OriginalPointBalance less this amount results in the NewPointBalance |
| Reservation | Object within the partDetails object that provide information about a reservation for redemption. | Object | Contains points balance and details about catalogue items; attributes down to accountType below. |
| AccountID | Unique account identifier, for example, for a household, if required. | String | Required for HOUSEHOLD_REDEEM |
| ExpiredAt | Epoch date/time stamp for when points reserved for an ad hoc redemption expire. | Number | Date/time in milliseconds |
| PointsBalance | The points balance after the reservation for redemption. | Number | |
| CreatedAt | Epoch date/time stamp for when a household was created. | Number | Date/time in milliseconds |
| Household | Contains data about the household redemption. | Object | Household-specific attributes down to initiatorContribution |
| Redeemer | Unique account number of the redeemer for the household. | String | |
| TotalRequestedRedemptionAmount | Total amount of the redemption. | String | |
| ID | Unique identifier for the redemption transaction. | String | |
| Contributors | Contains the point contributions of each household member to the household redemption. | Object | |
| {{account_id}} | For a household member, this object contains their contribution to the redemption in points. | Object | Contains RedeemAmount |
| RedeemAmount | The amount of a member's contribution to a redemption. | Number | |
| redemptionId | Unique identifier code for the redemption offer. | String | |
| AvailablePointsBalance | Total balance available to the household for redemption. | Number | |
| Consumed | Whether the points balance for the household has been consumed. | Boolean, true or false | |
| Token | Unique identifier for the redemption transaction. | String | |
| redeemerName | Name of the redemption. | String | |
| redeemerId | Name of the redeemer. | String | |
| ObjectType | The type of object concatenated with the Token. | String | RESERVATION |
| ReservedPoints | The number of points reserved for redemption. | String | |
| Points | The number of points consumed by the redemption. | String | |
| LoyaltyId | The loyalty ID of the redeemer. | String | |
| audit | Contains audit data related to the redemption transaction. | Object | |
| version | The version of the redemption reservation. | Number | |
| created | Contains data about when the reservation was created. | Object | Includes the same attributes as "updated" below, "callId" to "username" |
| updated | Contains data about when the reservation was last updated. | Object | Includes the attributes "callId" to "username" |
| callId | Unique identifier for the reservation call. | String | |
| dateISO | Date/time of the reservation call in ISO 8601 format. | String | |
| dateEpoch | Date/time of the reservation call in Epoch format. | Number | Date/time in milliseconds |
| id | Unique identifier for the reservation event. | String | |
| type | The type of reservation event. | String | For instance, "CLIENT" |
| username | The username attributed to the redeemer. | String | This may be the loyalty ID. |
| ReservationDuration | The duration in hours of the redemption reservation. | Number | |
| SessionID | The session ID related to the reservation. | String | |
| DollarAmount | The dollar amount related to the reservation. | Number | |
| associatedTransaction | Contains transaction data associated with the reservation. | Object | |
| initiatorContribution | The contribution in points of the member initiating the redemption. | Number | End of household-specific attributes. |
| catalogueItems | Contains details about the catalogue items involved in the transaction. | Array containing objects for individual catalogue items | The attributes in the array end with pointsAmount below. Quantity and points mapping for each item will be used to determine the total amount of points to be reserved, only if reservationAmount has NOT been provided. There are no partial reservations; the member must have the points to reserve ALL of the items in the request, or the reservation request is rejected. Optional, but if this is not provided, then reservationAmount must be provided. |
| catalogueItemName | The name of the catalogue item. | String | This is the first item in the catalogue item attributes |
| productCode | The unique identifying code for the product. | String | Primary identifier for the product associated with a catalogue item being reserved. Mandatory if provided for any given catalogue item. |
| quantity | The quantity of product involved. | Number | Quantity of the given catalogue item to be reserverd. Default value is 1. |
| totalPointsAmount | The total points associated with this reservation, the pointsAmount X quantity. | Number | |
| redemptionType | The type of redemption. | Enum: "DISCOUNT" or "TENDER" | |
| catalogueItemId | The identifier for the catalogue item. | String | |
| pointsAmount | The amount of points required for each instance of the product. | Number | The last attribute in the object for a catalogue item |
| redemptionId | The identifier for the redemption. | String | Used for reporting purposes to group relevant redemption transactions together. Optional only if reservationAmount is provided; mandatory if catalogueItems is provided. |
| AvailablePointsBalance | The total balance of points available for the reservation for redemption. | Number | |
| Token | The token used to affect the redemption. | String | |
| redemptionName | The name of the redemption. | String | |
| redeemerId | Unique identifier for the redeeming partner or business unit. | String | Used for looking up the correct catalogue list. |
| Points | The total number of points associated with this reservation for redemption. | Number | |
| LoyaltyId | Unique loyalty identifier. | String | |
| DollarAmount | The dollar amount of the reservation for redemption. | Number | |
| accountType | The type of account transaction. | String | Set to "REDEEM" for reservaton for redemption |
| OriginalPointBalance | Point balance of the account before points from this transaction were applied. | Number | |
| NewPointBalance | Point balance after the points from this transaction were applied. | Number | |
| Channel | The channel through which the transaction came. | Enum: "SYSTEM", "CONSOLE", "POS", "STORE", "APP", "ONLINE", "PARTNER", "WEBPOS" | This may also be a custom client channel |
| SessionID | The session identifier used for this session. | String | |
| OriginalTransactionID | Unique identifier of the original transaction (the start of the transaction chain). | String: UUID | If this is the original transaction, this field will be equal to the Partition key (TransactionID) |
| PreviousTransactionID | Unique identifier of the transaction before the original transaction. | String: UUID | |
| TransactionAmount | The overall amount associated with the transaction. | Number | |
| EligibleTransactionAmount | The amount associated with the transaction that is eligible for rewards. | Number | |
| ChannelDetails | Additional details about the purchase channel for the transaction. | Object | |
| tillNumber | Unique code identifying the till in the store. | String | |
| storeNumber | Unique code identifying the store. | String | |
| storeName | The name of the store. | String | |
| priceMatrix | A code to identify the price matrix associated with the transaction. | Enum: "R" (regular), "E" (employee), or both ("R,E") | Price matrix is for employee (E) or regular member (R) |
| retailBanner | The retail banner (division) under which the transaction took place. | String | Name of retail banner |
| employeeCode | Unique code to identify the employee who processed the transaction. | String | |
| SessionID | The unique identifier for the session. | String | |
| OriginalTransactionID | The ID of the first transaction. | String | |
| loyaltyId | The loyalty card ID number used for the transaction(s). | Number | loyaltyId is not included if the transaction is Discretionary, Activity, Points Transfer, or Points Expiry as there is no associated card number |
| MappedRequestAction | Used to return information for transitory transactions. | Enum: See list of RequestAction values below this table | |
| Cart | Additional details about the cart used for the transaction, formatted as attribute:value pairs within an extended data object. | Object | Contains the extendedData object below. If we have includeCart set as true for CUX in configuration, then we will also show whole cart attribute including financial and tender details, coupons used, and line items included. |
| extendedData | Any additional data about a transaction. | Object | This may be used by the client to attach additional information that is useful to them. The client determines the attributes and values. The attribute:value pairs are included in this object. |
| {{item_type}} | Item type for details provided. | Object | The {item type} name used can be "saleLineItems" (for items in a sales transaction), "reversedLineItems" (for items being adjusted), or "currentReverseLineItems" (for items being reversed in the current transaction). Contains attributes from sku to productName below. |
| sku | Unique product identfier, Stock Keeping Unit code. | String | |
| quantity | Number of units in this transaction. | Number | |
| saleAmount | Amount of the sale. | String | |
| subCategory | Unique identifier for the subcategory the product is in. | String | |
| originalSaleAmount | Sale amount per unit. | String | |
| finalSaleAmount | Sales amount per unit times quantity. | String | |
| itemDiscount | Any discounts applied. | String | |
| itemTax | Any taxes applied. | String | |
| tags | All tags associated with the product, in an array. | Array | |
| productName | Name of the product. | String | |
| total | Contains the total(s) for each of the {item types} involved in this transaction. | String (if only one item in transaction) or object (if multiple items in transaction) | Possible sub-objects {transaction types} within this object include "final" (for sales transactions), "currentReversed" (for parts reversed from the current transaction), and "reversed" (for amounts reversed). |
| {transaction type} | Type of transaction for which details are provided. | String | Can be "final", "currentReversed", or "reversed". |
| subtotal | Amount of the sale or reversal without tax. | String | |
| taxAmount | The amount of tax on this part of the transaction. | String | |
| totalSaleAmount | Total amount of the sale or reversal including tax. | String | |
| currency | Type of currency used for the transaction. | String | "CAD" or "US" |
| BusinessUnit | The business unit associated with the transaction. | String | Can be blank, but if no BU ID is passed in, then any offers belonging to any BU will be considered for evaluation. |
| RewardOnHold | The amount of any rewards that are on hold (not available for redemption). | Number | |
| NetAmountInDollars | The net number of dollars that were applied to the transaction. | Number | |
| RequestJson | Details of what was included in the request. | Object | |
| ReversalType | An identifier of whether a reversal on a transaction was a void on the entire transaction. | Enum: "VOID" or "REVERSAL" | |
| VoidMetaData | Additional details in case there was a void on the transaction. | Array | |
| VictimAccountID | Unique account identifier if the account has been noted as having fraudulent transactions. | String | |
| ExternalTransactionID | Unique identifier provided by the client for the transaction. | String |
For information about an integrated payments provider, if enabled, see Payment Provider Integrated below.
Transaction Format
Transaction RequestAction Types
-
ACCOUNT_EXPIRY - Points clawed back due to account-level expiry.
-
ACTIVITY - Points awarded due to activity that meets reward criteria.
-
ADHOC_REDEEM - Points redeemed for a member by a partner or business unit on an ad hoc basis.
-
ADHOC_REWARD - Points awarded by a partner or business unit on an ad hoc basis. This requestAction type is eligible for a void adjustment.
-
ADJUSTMENT - Points clawed back during an adjustment.
-
ADJ_NO_RECEIPT - Points clawed back during an adjustment that did not provide an original transaction.
-
BALANCE_UPDATE - Update on available balances.
-
CONFIRM_DELAYED_TRANSACTION - Confirmation for a transaction for which points are not awarded until another action such as payment takes place.
-
DISCRETIONARY - Points awarded through Discretionary processes such as Goodwill.
-
EXCHANGE - Points awarded through an exchange.
-
FIFO - Points removed from account due to First-In First-Out expiry or auto-redemption.
-
FINALIZE - Points awarded during a finalize transaction from the POS.
-
HISTORICAL_TRANSACTION - Points awarded historically prior to a data migration and brought into ES Loyalty through a client data sync API or through a feed generated using Snowflake data.
-
MERGE - Points transferred during a merge request.
-
POINTS_TRANSFER - Points tranferred from one account to another.
-
POST - Points posted to be awarded.
-
PPE - Points awarded through the post-purchase earn process after a transaction.
-
PROGRAM_REWARD - Reward issued through the program such as a referral reward.
-
PURCHASE - Points rewarded on a purchase transaction.
-
SAF - Points awarded as in a finalize, but not awarded immediately, for instance, due to a connectivity issue.
-
SCHEDULED_REDEEM - Points awarded for an automatically-scheduled redemption, such as a redemption at the end of a year or quarter.
-
TIER_REWARD - Points awarded for a particular member tier.
-
TRANSFER - Points transferred outside of a merge request (account to account with no victim).
-
TRIAL - Used internally, but Trial actions should never generate transactions to the DB.
-
UNKNOWN - Default Transaction Action Type. If used, something has gone wrong and the proper REQUEST_ACTION is not provided.
-
VOID - Points clawed back during a full adjustment. This type of transaction may be shown or not shown in the transaction history depending on configuration.
TransactionParts Action Types
It is allowed for multiple parts to have the same type. This happens when they have different business units associated with them.
-
ADJUSTMENT - Adjustments to the members point balance.
-
BALANCE_UPDATE - Set up balances for incoming members or correct balance errors.
-
BASE - Base points earned.
-
BONUS - Bonus points earned (does not include Targeted Offers).
-
DISCRETIONARY - Discretionary points awarded.
-
EXPIRY - Points clawed back due to an expiry on the account or because the FIFO expiry date for points has been reached.
-
GAMEPLAY - To allow gameplay as an offer fulfillment reward; provides details about game awarded.
-
HOUSEHOLD_REDEEM - Points redeemed by the household to which a member belongs.
-
REDEEM - Points redeemed by member or auto-redeemed because the FIFO auto-redemption date has been reached.
-
TARGETED - Points earned for Targeted Offers.
-
TRANSFER_IN - Points transferred from another account through merger or transfer.
-
TRANSFER_OUT - Points transferred to another account through merger or transfer.
Payment Provider Integrated
If integration with a payment provider (for example, Tipalti) is enabled, then the following attributes are also included in the response. The first part of the PaymentDetails response contains data about the provider, payee, account, currency, etc. The second part (EventDetails) provides data about specific payment events in logged with the integrated payment provider.
Payment Details
| Attribute | Definition | Format | Note |
|---|---|---|---|
| PaymentDetails | Contains the details of a payment. | Array containing object(s) | Contains one object for each payment event returned. Each object contains the attributes below: EventDetails, EventDate, EventDateEpoch, EventType, EventName. |
| Provider | The name of the payments provider. | String | For instance, "TIPALTI" |
| EventDate | Date/time when the initial event occurred in ISO 8601 format. | String | |
| EventDateEpoch | Date/time when the initial event occurred in Epoch format. | Number | Date/time in milliseconds. Time zone is not needed as Epoch times are absolute and convertible to an time zone. |
| EventName | Name provided for the event to make it easy to recognize. | String | |
| EventType | Designates the type of event. | String | Possible values: ESL_REQUEST_SCHEDULED, ESL_REQUEST_SUBMITTED, ESL_REQUEST_ERROR (these are all ES Loyalty internal events); PAYMENT_SUBMITTED, PAYMENT_ERROR, PAYMENT_CANCELED, PAYMENT_COMPLETED, PAYMENT_DEFERRED (these are all payment provider events, in this case, for Tipalti) |
| EventDetails | Contains details of a specific payment event. | Object | Attributes in EventDetails depend on the EventType. Based on the EventType, look below to find the related attributes. |
| EventType: ESL_REQUEST_SCHEDULED | |||
| ScheduledDate | Date for when the request is scheduled for submission. | String | Date/time in ISO 8601 format |
| EventType: ESL_REQUEST_SUBMITTED | |||
| PaymentCurrency | Identifier for the type of currency used for payment. | String | For example, "USD"; the currency is configured in the Adhoc Redemption Payment configuration |
| ReferenceCode | Payment reference code received from the payment provider. | String | For instance: "mfp4abbulribpb3" |
| PaymentAmount | Amount of this payment. | Number | Payment amount paid by the payment provider |
| SubmissionDate | The date/time the request was submitted to the payment provider. | String | ISO 8601 format |
| ExternalIdentifier | A unique identifier for client use, if any. | String | |
| BatchID | A unique identifier for a payment batch, if used for this payment. | String | Provided by the payment provider |
| EventType: ESL_REQUEST_ERROR | |||
| ErrorDescription | Description of the error preventing payment. | String | |
| ExternalIdentifier | Unique identifier used by the client, if required. | String | |
| PayeeID | Unique identifier for the payee. | String | |
| PayingEntityID | Unique identifier for the entity making the payment. | String | |
| PaymentAmount | The amount of the payment. | Number | |
| PaymentCurrency | The currency used for the payment. | String | For instance, "USD" |
| EventType: PAYMENT_SUBMITTED | |||
| SubmissionDate | Date/time at which the payment was submitted for processing. | String | ISO 8601 format |
| EventType: PAYMENT_ERROR | |||
| ErrorDescription | Description of the type of error. | String | |
| ErrorDate | Date/time at which the payment error occurred. | String | ISO 8601 format |
| ErrorCode | Code associated with this type of error. | String | |
| EventType: PAYMENT_CANCELED | |||
| CancelledDate | Date/time at which the payment was cancelled. | String | ISO 8601 format |
| EventType: PAYMENT_COMPLETED | |||
| CompletionDate | Date/time at which the payment was completed. | String | ISO 8601 format |
| ProviderValueDate | Date/time at which the payment provider completed their payment process. | String | ISO 8601 format |
| TransactionReference | Unique identifier for the transaction. | String | |
| EventType: PAYMENT_DEFERRED | |||
| DeferredDate | Date/time at which payment was deferred. | String | ISO 8601 format |
| DeferredReasons | Contains reasons and associated codes for deferrment. | Array containing object(s) | Contains an object with each reasonDescription and reasonCode for deferrment |
| reasonDescription | Reason for deferrment. | String | For instance, "Payee is suspended" |
| reasonCode | Code associated with this reason for deferrment. | String |
Error Responses
See example documentation for possible error states.
| statusCode | errorMessage | errorCode | Notes |
|---|---|---|---|
| 400 - Bad Request | Limit required to be a valid positive number | INVALID_REQUEST | Limit must be in proper format, that is, a positive number. |
| 400 - Bad Request | Maximum allowed Limit is 150 | INVALID_REQUEST | Maximum allowed number of records returned was exceeded. |
| 400 - Bad Request | Transaction Id required to be non-empty | INVALID_REQUEST | The transaction ID must be provided to retrieve a transaction. |
| 400 - Bad Request | From date epoch should be a valid epoch. | INVALID_REQUEST | Make the From date a valid date in epoch format. |
| 400 - Bad Request | To date should be a valid epoch. | INVALID_REQUEST | Make the To date a valid date in epoch format. |
| 400 - Bad Request | From date should not be after To date. | INVALID_REQUEST | Make the From date before the To date. |
| 400 - Bad Request | Transaction {transactionId} must be within {current date decreased by 100 days} to {currentDate} date | INVALID_REQUEST | The transaction date must be within the past 100 days. |
| 400 - Bad Request | Maximum allowed Limit is 150 | INVALID_REQUEST | As per configuration, the maximum allow limit on transactions returned is 150 per system limits. |
| 400 - Bad Request | Limit required to be a valid positive number | INVALID_REQUEST | The limit on results must be a valid positive integer. |
| 400 - Bad Request | Transaction {transactionId} does not exist | INVALID_REQUEST | The transactionId provided does not exist in the system. |
| 400 - Bad Request | Filtering by externalTransactionID is not enabled in TRANSACTION_ HISTORY config. | INVALID_REQUEST | Cannot use externalTransactionID as parameter in request because this feature is not enabled. |
| 400 - Bad Request | External transaction Id required to be non-empty. | INVALID_REQUEST | There must be a value provided for externalTransactionID. Note that this value is not validated. |
| 400 - Bad Request | Filtering by transactionType is not enabled. | INVALID_REQUEST | Cannot use transactionType as parameter in request because this feature is not enabled. |
| 404 - Not Found | Transaction {transactionId} does not exist | NOT_FOUND | The transactionId provided as a query parameter in the request does not exist. |
In the event that the correlationId does not exist:
{
"statusCode": 400,
"errorMessage": "Session correlation ID does not exist--create it first.",
"errorCode": "BAD_REQUEST"
}
Request
Responses
- 200
- 400
- 404
- default
200 - All Defaults (incl. Item-Level Redemptions)
Response Headers
Wed, 01 Sep 2021 18:39:19 GMT4691keep-alivea9a61f42-cb15-44ec-882d-ad3d0879f63dno-referrer1;mode=block*max-age=86400max-age=31536000vibrate 'none'; geolocation 'none'sameoriginconnect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.netE_xRZEGPIAMFWUA=no-cache, no-store, must-revalidatenosniffRoot=1-612fc8d5-70c5a15b691896a45bbb6ec3;Sampled=0400 - Date Range Invalid
Response Headers
Wed, 01 Sep 2021 18:39:19 GMT4691keep-alivea9a61f42-cb15-44ec-882d-ad3d0879f63dno-referrer1;mode=block*max-age=86400max-age=31536000vibrate 'none'; geolocation 'none'sameoriginconnect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.netE_xRZEGPIAMFWUA=no-cache, no-store, must-revalidatenosniffRoot=1-612fc8d5-70c5a15b691896a45bbb6ec3;Sampled=0404 - transactionId Does Not Exist
Response Headers
Tue, 23 Jul 2024 12:29:49 GMT124keep-alivead271ae9-1570-4af3-9309-a2e958e9a4e1no-referrer1;mode=block*max-age=86400max-age=31536000; includeSubDomains; preloadvibrate 'none'; geolocation 'none'sameoriginconnect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.netbXZJpHU-IAMEIaQ=no-cache, no-store, must-revalidatenosniffRoot=1-669fa23d-0027681b0b4ba80a4182a85d;Parent=0b6a37ff392676b5;Sampled=0;lineage=a3d9a6c4:0200 - Transaction History with Multiple transactionTypes