Loyalty
Create Loyalty Transaction
API Documentation
Identity
- POSTCreate user device
- GETGet user metadata
- POSTCreate user metadata
- GETGet users
- GETUser count
- POSTConnect a user to User Group
- POSTDisconnect a user from User Group
- GETConnect Auth
- POSTPost apiusersverify
- GETGet all website user attributes
- POSTCreate a new website user attribute
- DELDelete a website user attribute
- GETGet all website user attribute values
- POSTCreate a new website user attribute value
Loyalty
- GETGet loyalty accounts
- GETGet the rank of a user based on their loyalty points
- GETGet loyalty currencies
- POSTCreate a loyalty currency
- GETGet Loyalty Multipliers
- POSTCreate Loyalty Multiplier
- DELDelete Loyalty Multiplier by External Identifier
- POSTUpdate Loyalty Multiplier
- DELDelete Loyalty Multiplier by ID
- GETGet Loyalty Rule Edits
- POSTRestore Loyalty Rule Edit
- GETGet Loyalty Rule Groups
- POSTCreate Loyalty Rule Groups
- POSTUpdate Loyalty Rule Group
- DELDelete Loyalty Rule Group
- GETGet Loyalty Rules
- POSTCreate Loyalty Rule
- POSTUpdate Loyalty Rule
- DELDelete Loyalty Rule
- POSTComplete Loyalty Rule
- GETGet Processing status for a specific user on loyalty rules
- POSTCreate Loyalty Transaction
- GETGet Loyalty Transaction Entries
- GETGet Loyalty Rule Chains
- GETGet Loyalty Rule Statuses
- POSTUpdate Loyalty Rule Status
Badge
Minting
Question
Website
Landing Page
Loyalty
Create Loyalty Transaction
Create a loyalty transaction to update account balances.
POST
/
api
/
loyalty
/
transactions
import SnagSolutions from '@snagsolutions/sdk';
const client = new SnagSolutions({
apiKey: process.env['X_API_KEY'], // This is the default and can be omitted
});
async function main() {
const response = await client.loyalty.transactions.createTransaction({
description: 'Purchase of item X',
entries: [{ amount: 5 }],
});
console.log(response.id);
}
main();
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"entries": [
{
"walletAddress": "<string>",
"amount": 123,
"direction": "credit",
"idempotencyKey": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>"
}
Authorizations
Body
application/json
Body
Schema for creating a loyalty transaction
Description of the loyalty transaction
Example:
"Purchase of item X"
Array of transaction entries
Transaction entry amount.
Example:
5
The wallet address of the user
Example:
"0x1234567890abcdef1234567890abcdef12345678"
Direction of the transaction entry for this wallet address
Available options:
credit
, debit
Example:
"credit"
Idempotency key for the transaction entry. Creation will fail if already exists for this wallet address.
Maximum length:
32
Example:
"example-idempotency-key"
Unique identifier for the loyalty currency for the wallet. Can only use entry-level currency or transaction-level currency.
Example:
"123e4567-e89b-12d3-a456-426614174090"
Unique identifier for the loyalty currency
Example:
"123e4567-e89b-12d3-a456-426614174090"
Response
200
application/json
200
import SnagSolutions from '@snagsolutions/sdk';
const client = new SnagSolutions({
apiKey: process.env['X_API_KEY'], // This is the default and can be omitted
});
async function main() {
const response = await client.loyalty.transactions.createTransaction({
description: 'Purchase of item X',
entries: [{ amount: 5 }],
});
console.log(response.id);
}
main();
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"entries": [
{
"walletAddress": "<string>",
"amount": 123,
"direction": "credit",
"idempotencyKey": "<string>"
}
],
"createdAt": "<string>",
"updatedAt": "<string>"
}