TypeScript SDK
The official TypeScript SDK provides a type-safe, easy-to-use client for the MLM Platform API.Installation
Quick Start
Configuration
| Option | Type | Default | Description |
|---|---|---|---|
apiKey | string | Required | Your tenant API key |
baseUrl | string | Production URL | API base URL |
timeout | number | 30000 | Request timeout (ms) |
retries | number | 3 | Retry attempts for failed requests |
retryDelay | number | 1000 | Initial retry delay (ms) |
Methods
Users
createUser
createUser
Create a new member in the hierarchy.Parameters:
email(required): User’s email addressmembershipTier:'ORDINARY'|'SENIOR'|'MANAGER'|'DIRECTOR'parentId: Sponsor’s user IDreferralCode: Referral code for attributionisActive: Whether user is active (default:true)canRecruit: Whether user can recruit (default:true)metadata: Custom metadata object
getUserStatus
getUserStatus
Get user status and commission balance.
Purchases
recordPurchase
recordPurchase
Record a purchase event and trigger commission calculation.
Leads
captureLead
captureLead
Capture a lead with optional referral attribution.
Referrals
getReferralLink
getReferralLink
Get a user’s referral link and code.
Widgets
createWidgetSession
createWidgetSession
Create a widget access token for embedding.
Error Handling
The SDK provides typed error classes:| Error Class | Status Code | When Thrown |
|---|---|---|
AuthenticationError | 401 | Invalid or missing API key |
ForbiddenError | 403 | Action not allowed |
NotFoundError | 404 | Resource not found |
ValidationError | 400 | Invalid request data |
ConflictError | 409 | Resource already exists |
RateLimitError | 429 | Rate limit exceeded |
TypeScript Types
All types are exported for use in your application:Request Cancellation
Cancel requests usingAbortController: