@privageapp/customer-sdk
v1.0.1
Published
Privage SDK for developing theme of Privage CRM
Readme
@privageapp/customer-sdk
Client SDK for the Privage customer-facing API — members, campaigns, coupons, and loyalty cards. Used by Privage customer themes.
Install
npm install @privageapp/customer-sdk axiosaxios is a peer dependency.
Usage
Create a client once and share it across your app. baseUrl is required — the SDK
has no default endpoint, so a misconfigured build fails loudly instead of silently
talking to the wrong environment.
import { createClient } from '@privageapp/customer-sdk'
const privageClient = createClient({
baseUrl: import.meta.env.VITE_API_URL,
})
export default privageClientEvery business-scoped call needs the business resolved first. bizCode is the first
path segment of a theme URL (/:bizCode/...).
await privageClient.init(bizCode)
const profile = await privageClient.profile.getMyProfile()
const coupons = await privageClient.coupon.list({ page: 1, size: 20 })Authentication
Tokens are held in memory. Persisting and restoring them is the theme's job.
privageClient.auth.setAccessToken(token)
const current = privageClient.auth.getAccessToken()API groups
| Group | Purpose |
|---|---|
| init(bizCode) | Resolve the business — call before other groups |
| config | Theme configuration |
| master | Phone codes, terms, privacy policy, card types, business info |
| auth | LINE login, OTP request/verify, register, token access |
| memberCard | Point history |
| campaign | List, get, and redeem campaigns |
| coupon | List, get, and activate coupons |
| profile | Member profile |
| personal | Terms and privacy acceptance |
Types
Models are exported from both the root and a ./models subpath:
import type { Profile, Coupon } from '@privageapp/customer-sdk'
import type { PhoneCode, BusinessCard } from '@privageapp/customer-sdk/models'Notes
ESM-only. Requires Node 18+ or any modern bundler.
License
MIT
