Loyalty

List loyalty program transactions

[!note] Management API endpoints are not meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.

Retrieve loyalty program transaction logs in a given loyalty program with filtering options applied. Manual and imported transactions are also included.

[!note] Note

  • If no filters are applied, the last 50 loyalty transactions for the given loyalty program are returned.
  • To get loyalty transaction logs for a given Integration ID in a loyalty program, we recommend using the Integration API's Get customer's loyalty logs.
get/v1/loyalty_programs/{loyaltyProgramId}/transactions

Request

Path parameters

loyaltyProgramIdinteger required

Identifier of the loyalty program. You can get the ID with the List loyalty programs endpoint.

Query parameters

loyaltyTransactionType'manual' | 'session' | 'import'

Filter results by loyalty transaction type:

  • manual: Loyalty transaction that was done manually.
  • session: Loyalty transaction that resulted from a customer session.
  • import: Loyalty transaction that was imported from a CSV file.
subledgerIdstring

The ID of the subledger by which we filter the data.

customerSessionIDsstring[]

Filter the results by a list of customer session IDs.

To include multiple IDs, repeat the parameter for each one, for example, ?customerSessionIDs=id1&customerSessionIDs=id2.

The response contains only data associated with the specified sessions.

transactionUUIDsstring[]

Filter the results by a list of transaction UUIDs.

To include multiple IDs, repeat the parameter for each one, for example, ?transactionUUIDs=uuid1&transactionUUIDs=uuid2.

The response contains only data associated with the specified transactions.

startDatestring date-time

Date and time from which results are returned. Results are filtered by transaction creation date.

[!note] Note

  • This must be an RFC3339 timestamp string.
  • You can include a time component in your string, for example, T23:59:59 to specify the end of the day. The time zone setting considered is UTC. If you do not include a time component, a default time value of T00:00:00 (midnight) in UTC is considered.
endDatestring date-time

Date and time by which results are returned. Results are filtered by transaction creation date.

[!note] Note

  • This must be an RFC3339 timestamp string.
  • You can include a time component in your string, for example, T23:59:59 to specify the end of the day. The time zone setting considered is UTC. If you do not include a time component, a default time value of T00:00:00 (midnight) in UTC is considered.
pageSizeinteger

The number of items in the response.

skipinteger

The number of items to skip when paging through large result sets.

awaitsActivationboolean

If true: Filters results to include only point transactions that have action-based activation and have not expired.

If false: Returns a 400 response.

Response

OK

hasMoreboolean required

Example response

{
  "hasMore": true,
  "data": [
    {
      "id": 123,
      "transactionUUID": "ce59f12a-f53b-4014-a745-636d93f2bd3f",
      "programId": 324,
      "campaignId": 324,
      "created": "2022-01-02T15:04:05Z07:00",
      "type": "addition",
      "amount": 10.25,
      "name": "Reward 50 points for each $500 purchase",
      "startDate": "2022-01-02T15:04:05Z07:00",
      "expiryDate": "2022-01-02T15:04:05Z07:00",
      "customerProfileId": "kda0fajs0-fad9f-fd9dfsa9-fd9dasjf9",
      "cardIdentifier": "summer-loyalty-card-0543",
      "subledgerId": "sub-123",
      "customerSessionId": "05c2da0d-48fa-4aa1-b629-898f58f1584d",
      "importId": 4,
      "userId": 5,
      "userEmail": "john.doe@example.com",
      "rulesetId": 11,
      "ruleName": "10 points for every $100 spent",
      "validityDuration": "30D"
    }
  ]
}

Changes

No recorded changes to this operation across all 2 revisions of this API.