Snag Solutions
Authentication Type: API Key
Description: Access loyalty transaction history and badges from Snag Solutions API for comprehensive loyalty program data management.
Loyalty
Operations for accessing loyalty program data including transactions and badges.
Get Transaction Entries
Retrieve loyalty transaction history for a wallet address. Returns transaction details including amounts, rules, and metadata.
Operation Type: Query (Read)
Parameters:
- organizationId
string
(nullable): Organization ID to filter by - websiteId
string
(nullable): Website ID to filter by - walletAddress
string
(required): Wallet address to get transaction history for - startingAfter
string
(nullable): Pagination cursor to start after a specific resource ID - limit
number
(nullable): Maximum number of records to return (max 100) - userId
string
(nullable): User ID to filter by - sortBy
string
(nullable): Field to sort the results by (createdAt, updatedAt, loyaltyAccountLockVersion) - sortDir
string
(nullable): Direction to sort the results by (asc, desc) - createdAtStart
string
(nullable): Start date to filter by (inclusive, greater than or equal to) - createdAtEnd
string
(nullable): End date to filter by (exclusive, less than) - loyaltyRuleGroupId
string
(nullable): UUID of the rule group to filter by - loyaltyCurrencyId
string
(nullable): UUID of the loyalty currency IDs to filter by
Returns:
- data
array of objects
: Array of transaction entries- id
string
: Transaction entry ID - loyaltyAccountId
string
: Loyalty account ID - loyaltyTransactionId
string
: Loyalty transaction ID - loyaltyCurrencyId
string
: Loyalty currency ID - amount
string
: Transaction amount - direction
string
: Transaction direction (credit/debit) - metadata
object
: Transaction metadata - loyaltyAccountStartAmount
string
: Account balance before transaction - loyaltyAccountEndAmount
string
: Account balance after transaction - createdAt
string
: Creation timestamp - updatedAt
string
: Update timestamp - loyaltyAccount
object
: Loyalty account details- id
string
: Loyalty account ID - user
object
: User information- id
string
: User ID - walletAddress
string
: Wallet address
- id
- id
- loyaltyTransaction
object
: Loyalty transaction details- id
string
: Transaction ID - description
string
: Transaction description - type
string
: Transaction type - metadata
object
: Transaction metadata - loyaltyRule
object
(nullable): Loyalty rule details- id
string
: Loyalty rule ID - name
string
: Loyalty rule name - description
string
: Loyalty rule description - type
string
: Loyalty rule type
- id
- id
- id
- hasNextPage
boolean
: Whether there are more pages available
Example Usage:
{
"organizationId": "org_123",
"websiteId": "web_456",
"walletAddress": "0x1234567890abcdef",
"startingAfter": null,
"limit": 50,
"sortBy": "createdAt",
"sortDir": "desc",
"createdAtStart": "2024-12-01T00:00:00Z",
"createdAtEnd": "2024-12-31T23:59:59Z"
}
Get Badges
Fetch badges earned by users. Can filter by wallet address, user ID, or specific badge IDs to get badge information and user progress.
Operation Type: Query (Read)
Parameters:
- organizationId
string
(nullable): Organization ID to filter by - websiteId
string
(nullable): Website ID to filter by - walletAddress
string
(nullable): Wallet address to filter badges for - userId
string
(nullable): User ID to filter badges for - badgeIds
string
(nullable): Comma-separated badge IDs to fetch - userGroupId
string
(nullable): User group ID to filter by - userGroupExternalIdentifier
string
(nullable): External identifier of the user group - startingAfter
string
(nullable): Badge ID to start after for pagination - limit
number
(nullable): Number of badges to fetch (max 1000) - includeDeleted
boolean
(nullable): Include deleted badges in the response
Returns:
- data
array of objects
: Array of badges- id
string
: Badge ID - name
string
: Badge name - description
string
(nullable): Badge description - imageUrl
string
(nullable): Badge image URL - loyaltyConditions
array of objects
: Badge loyalty conditions- id
string
: Condition ID - type
string
: Condition type - description
string
(nullable): Condition description - amount
string
(nullable): Condition amount - repeatCount
number
(nullable): Repeat count - requiredCount
number
(nullable): Required count - loyaltyRuleGroupId
string
(nullable): Loyalty rule group ID - loyaltyCurrencyId
string
(nullable): Loyalty currency ID
- id
- loyaltyBadgeUsers
array of objects
: Badge users- id
string
: Badge user ID - userId
string
: User ID - user
object
: User information- id
string
: User ID - walletAddress
string
: Wallet address
- id
- status
string
: Badge status - progress
array
: Badge progress - createdAt
string
: Creation timestamp - updatedAt
string
: Update timestamp
- id
- id
- hasNextPage
boolean
: Whether there are more pages available
Example Usage:
{
"organizationId": "org_123",
"websiteId": "web_456",
"walletAddress": "0x1234567890abcdef",
"userId": null,
"badgeIds": "badge_001,badge_002",
"startingAfter": null,
"limit": 100,
"includeDeleted": false
}
Common Use Cases
Transaction Analysis:
- Track loyalty point earnings and spending for individual users
- Analyze transaction patterns by date ranges and rule groups
- Monitor account balances and transaction history
- Generate reports on loyalty program engagement
Badge Management:
- Monitor badge achievement progress for users
- Track badge completion rates and user engagement
- Filter badges by specific criteria for targeted analysis
- Manage badge visibility and deletion status
User Insights:
- Analyze user behavior through transaction and badge data
- Identify high-value users based on loyalty activity
- Track user progression through loyalty program tiers
- Generate user-specific loyalty reports and insights