User Data Structure Documentation
Handlebars Syntax
The user data is accessed using Handlebars syntax throughout the application. For example:
{{user.id}}
- User's ID{{user.name}}
- User's first name{{user.balance}}
- User's account balance
This templating syntax allows for dynamic access to user properties in various parts of the application.
Basic User Information
The user object contains fundamental user data which can be accessed via:
{{user.id}}
: Unique user identifier{{user.name}}
,{{user.surname}}
: User's name information{{user.address}}
: User's address{{user.email}}
: User's email address{{user.phone}}
: User's phone number{{user.balance}}
: Account balance (converted to tenant currency){{user.spent}}
: Total spent amount (converted){{user.orders_count}}
: Total number of orders{{user.language}}
: Preferred language{{user.currency}}
: Preferred currency{{user.createdAt}}
: Account creation date (formatted)
API Information
Access user's API credentials and status:
{{user.api.key}}
: User's API key{{user.api.status}}
: API access status (enabled/disabled){{user.api.createdAt}}
: When API access was created
Verification Status
Check verification status for various security measures:
{{user.is_verifications.two_factor}}
: Two-factor authentication status{{user.is_verifications.email}}
: Email verification status{{user.is_verifications.phone}}
: Phone verification status
Device & Login Information
User's login device details:
{{user.country}}
: Login country{{user.os}}
: Operating system{{user.device}}
: Device type{{user.browser}}
: Browser name{{user.ip}}
: IP address{{user.finger_print}}
: Browser fingerprint
Payment History
Each payment in user.payments
array can be accessed in loops:
{{#each user.payments}}
Payment ID: {{this.id}}
Amount: {{this.amount}}
Status: {{this.status}}
Date: {{this.createdAt}}
{{/each}}
Each payment object includes:
id
: Payment IDold_balance
&new_balance
: Balance before and after paymentamount
: Payment amount (converted to user currency)orginal_amount
: Original payment amountstatus
: Payment status (PENDING, COMPLETED, FAILED)currency
: Currency used for the paymentmethod
: Payment method or bankcreatedAt
: Payment date
Support Tickets
User's support tickets can be accessed with:
{{#each user.supports}}
Ticket ID: {{this.id}}
Subject: {{this.subject}}
Status: {{this.status}}
{{/each}}
Each ticket object includes:
id
: Ticket IDsubject
&topic
: Ticket subject and topiclevel
: Priority levelstatus
: Ticket statusupdatedAt
&createdAt
: Last update and creation timestamps
Notifications
Access user notifications with:
{{#each user.notifications}}
Title: {{this.title}}
Content: {{this.content}}
Read: {{this.read}}
{{/each}}
Each notification contains:
id
: Notification IDtitle
&content
: Notification informationread
: Read statuscreatedAt
: When notification was created
Ban Status
User ban information:
{{user.ban.status}}
: Whether user is banned{{user.ban.reason}}
: Ban reason{{user.ban.type}}
: Ban type{{user.ban.expire}}
: Ban duration{{user.ban.admin.name}}
: Admin who applied the ban{{user.ban.bannedAt}}
: When ban was applied
User Role
User role details:
{{user.role.id}}
: Role ID{{user.role.name}}
: Role name
Child Panel
Information about user's child panel:
{{user.childpanel.id}}
: Child panel ID{{user.childpanel.status}}
: Active status{{user.childpanel.name}}
: Panel name{{user.childpanel.domain}}
: Panel domain{{user.childpanel.currency}}
: Panel currency{{user.childpanel.email}}
: Panel admin email{{user.childpanel.expire}}
: Whether license is valid{{user.childpanel.expireAt}}
: License expiration date{{user.childpanel.createdAt}}
: Panel creation date
Referral/Affiliate Information
User's affiliate data:
{{user.reference.code}}
: User's referral code{{user.reference.click}}
: Number of clicks on referral link{{user.reference.withdrawn}}
: Withdrawn earnings{{user.reference.pending}}
: Pending earnings{{user.reference.rate}}
: Conversion rate percentage{{user.reference.count}}
: Number of referred users
Sessions
User's login sessions can be accessed with:
{{#each user.sessions}}
IP: {{this.ip}}
Browser: {{this.browser}}
Device: {{this.device}}
Created: {{this.createdAt}}
{{/each}}
Each session includes:
id
: Session IDip
&country
: IP address and locationos
,device
,browser
: Device informationfinger_print
: Device fingerprintexpire
: Session expiration timecreatedAt
: Session start time
Orders
User's order history can be accessed with:
{{#each user.orders}}
Order ID: {{this.id}}
Type: {{this.type}}
Status: {{this.status}}
Service: {{this.service.name}}
{{/each}}
Each order includes:
id
: Order IDtype
: Order type (normal or drip_feed)link
: Service target linkcharge
: Order cost (converted)status
: Order status (PENDING, COMPLETED, CANCELED)start_count
,remaining_count
,quantity
: Order quantity informationrefill_status
: Whether refill is availableservice
: Service information (id, name, cancel, refill)createdAt
: Order date
Drip feed orders also include:
runs
,per_run_quantity
,total_runs
,interval
: Drip feed details
Currency Conversion
Monetary values like {{user.balance}}
, {{user.spent}}
, and order charges are automatically converted from the user's preferred currency to the tenant currency using the exchangeRate
function.