Customer Preferences API
Per-customer notification preferences, language, and currency settings stored as JSONB.
Base: /api/v1/preferences | X-Tenant-ID required | Requires auth 🔒
GET
/api/v1/preferences
🔒 Auth Required
Retrieve the current user's preferences.
Response
{
"success": true,
"data": {
"preferences": {
"notifications": { "order_placed": true, "order_status_change": true, "delivery_fee_adjustment": true, "promotions": false },
"language": "en",
"currency": "KES"
}
}
}
PUT
/api/v1/preferences
🔒 Auth Required
Update preferences. Partial updates accepted — only provided keys are overwritten.
Request Body
{
"notifications": {
"order_placed": true,
"order_status_change": true,
"delivery_fee_adjustment": true,
"promotions": false
},
"language": "en",
"currency": "KES"
}
Response
{ "success": true, "data": { "preferences": { ... } } }