Passa al contenuto principale

WrCustomer

webround-docs


webround-docs / WrCustomer

Interface: WrCustomer

Defined in: wr.d.ts:931

The customer context — provides authentication state, cart, wishlist, addresses, orders, reviews, and all related actions.

Available as wr.customer in every custom component.

Example​

const { profile, isLoggedIn, cart } = wr.customer;
if (!isLoggedIn) await wr.customer.login({ email, password });

Properties​

awaiting2FAChallenge​

awaiting2FAChallenge: object

Defined in: wr.d.ts:952

Data needed to complete a pending 2FA challenge

challengeId​

challengeId: string

deviceId​

deviceId: string

email​

email: string


cart​

cart: WrCart

Defined in: wr.d.ts:941

The customer's current cart


cartError​

cartError: string

Defined in: wr.d.ts:956

Last cart error message, if any


error​

error: string

Defined in: wr.d.ts:939

Last auth error message, if any


isLoading​

isLoading: boolean

Defined in: wr.d.ts:937

Whether any auth operation is in progress


isLoadingCart​

isLoadingCart: boolean

Defined in: wr.d.ts:954

Whether the cart is currently loading


isLoggedIn​

isLoggedIn: boolean

Defined in: wr.d.ts:935

Whether the customer is currently authenticated


profile​

profile: WrCustomerProfile

Defined in: wr.d.ts:933

The authenticated customer's profile, or null if not logged in


step​

step: "idle" | "signingUp" | "loggingIn" | "loggedIn" | "require2FA" | "requestingReset" | "settingUp2FA" | "verifying2FA" | "deletingAccount"

Defined in: wr.d.ts:950

Current auth flow step.

  • idle — no operation in progress
  • require2FA — waiting for 2FA code after login
  • loggedIn — authenticated

wishlist​

wishlist: WrWishlistItem[]

Defined in: wr.d.ts:943

The customer's wishlist items

Methods​

addCartItem()​

addCartItem(input): Promise<void>

Defined in: wr.d.ts:1080

Add a variant to the cart.

Parameters​

input​

WrAddCartItemInput

Returns​

Promise<void>

Example​

await wr.customer.addCartItem({
variantId, priceId, quantity: 1,
variantName, variantSlug, coverUrl,
variantOptions: [], currentPrice
})

confirm2FA()​

confirm2FA(data): Promise<{ success: true; }>

Defined in: wr.d.ts:1007

Complete a pending 2FA login challenge.

Parameters​

data​
challengeId​

string

code​

string

email​

string

Returns​

Promise<{ success: true; }>

Example​

await wr.customer.confirm2FA({ email, code, challengeId })

createAddress()​

createAddress(data): Promise<WrAddress>

Defined in: wr.d.ts:1025

Save a new address for the customer.

Parameters​

data​

Omit<WrAddress, "id">

Returns​

Promise<WrAddress>


createReview()​

createReview(variantId, data): Promise<WrReviewByCustomerItem>

Defined in: wr.d.ts:1055

Submit a review for a variant.

Parameters​

variantId​

string

data​
comment?​

string

rating​

number

title?​

string

Returns​

Promise<WrReviewByCustomerItem>


deleteAddress()​

deleteAddress(addressId): Promise<void>

Defined in: wr.d.ts:1031

Delete an address by ID.

Parameters​

addressId​

string

Returns​

Promise<void>


deleteReview()​

deleteReview(reviewId): Promise<void>

Defined in: wr.d.ts:1061

Delete a review by ID.

Parameters​

reviewId​

string

Returns​

Promise<void>


fetchOrders()​

fetchOrders(query?): Promise<void | { data: WrOrder[]; pagination: WrPagination; }>

Defined in: wr.d.ts:1037

Fetch the customer's order history.

Parameters​

query?​

WrPaginationQuery

Returns​

Promise<void | { data: WrOrder[]; pagination: WrPagination; }>

Example​

const { data, pagination } = await wr.customer.fetchOrders({ page: 1, limit: 10 })

fetchSubscriptions()​

fetchSubscriptions(query?): Promise<void | { data: WrSubscription[]; pagination: WrPagination; }>

Defined in: wr.d.ts:1040

Fetch the customer's active subscriptions.

Parameters​

query?​

WrPaginationQuery

Returns​

Promise<void | { data: WrSubscription[]; pagination: WrPagination; }>


fetchWishlist()​

fetchWishlist(): Promise<{ data: WrWishlistItem[]; total: number; }>

Defined in: wr.d.ts:1043

Fetch the customer's wishlist.

Returns​

Promise<{ data: WrWishlistItem[]; total: number; }>


getAddresses()​

getAddresses(): Promise<WrAddress[]>

Defined in: wr.d.ts:1022

Fetch all addresses saved by the customer.

Returns​

Promise<WrAddress[]>


getCartItems()​

getCartItems(): Promise<WrCart>

Defined in: wr.d.ts:1067

Fetch and sync the current cart. Guest cart from localStorage, authenticated cart from the API.

Returns​

Promise<WrCart>


getMyReviews()​

getMyReviews(query?): Promise<{ data: WrReviewByCustomerItem[]; pagination: WrPagination; }>

Defined in: wr.d.ts:1052

Fetch all reviews written by the current customer.

Parameters​

query?​

WrReviewPaginationQuery

Returns​

Promise<{ data: WrReviewByCustomerItem[]; pagination: WrPagination; }>


invalidateAndReloadCart()​

invalidateAndReloadCart(): Promise<void>

Defined in: wr.d.ts:1095

Force a full cart reload from the server, bypassing cache.

Returns​

Promise<void>


login()​

login(data): Promise<{ success: true; } | { requires2FA: true; }>

Defined in: wr.d.ts:977

Log in with email and password. Returns { requires2FA: true } if the account has 2FA enabled.

Parameters​

data​
email​

string

password​

string

platform?​

string

region?​

string

Returns​

Promise<{ success: true; } | { requires2FA: true; }>

Example​

const result = await wr.customer.login({ email, password });
if ('requires2FA' in result) { // show 2FA input }

logout()​

logout(): Promise<void>

Defined in: wr.d.ts:980

Log out the current customer.

Returns​

Promise<void>


mergeCart()​

mergeCart(): Promise<void>

Defined in: wr.d.ts:1092

Merge the guest cart into the authenticated customer's cart after login. Called automatically on login.

Returns​

Promise<void>


refreshAccessToken()​

refreshAccessToken(): Promise<{ customer: WrCustomerProfile; exp: number; token: string; }>

Defined in: wr.d.ts:986

Silently refresh the access token using the stored refresh token. Called automatically by the SDK — you rarely need this directly.

Returns​

Promise<{ customer: WrCustomerProfile; exp: number; token: string; }>


removeCartItem()​

removeCartItem(itemId): Promise<void>

Defined in: wr.d.ts:1086

Remove an item from the cart.

Parameters​

itemId​

string

Returns​

Promise<void>


request2FASetup()​

request2FASetup(): Promise<any>

Defined in: wr.d.ts:1001

Initiate 2FA setup. Returns a QR code URL or secret to display to the user.

Returns​

Promise<any>

Example​

const setup = await wr.customer.request2FASetup()

requestAccountDeletion()​

requestAccountDeletion(): Promise<void>

Defined in: wr.d.ts:1010

Request deletion of the customer's account.

Returns​

Promise<void>


requestPasswordReset()​

requestPasswordReset(email): Promise<void>

Defined in: wr.d.ts:992

Send a password reset email.

Parameters​

email​

string

Returns​

Promise<void>

Example​

wr.customer.requestPasswordReset('[email protected]')

requestResendEmailVerification()​

requestResendEmailVerification(): Promise<void>

Defined in: wr.d.ts:995

Resend the email verification link to the logged-in customer.

Returns​

Promise<void>


setActiveAccountSection()​

setActiveAccountSection(section): void

Defined in: wr.d.ts:1113

Navigate to a specific section of the account page.

Parameters​

section​

string

Returns​

void

Example​

wr.customer.setActiveAccountSection('orders')

signup()​

signup(data): Promise<boolean>

Defined in: wr.d.ts:966

Register a new customer account.

Parameters​

data​
confirmPassword​

string

displayName​

string

email​

string

newsletter?​

boolean

password​

string

phone?​

string

platform?​

string

region?​

string

Returns​

Promise<boolean>

true on success

Example​

await wr.customer.signup({ email, password, confirmPassword, displayName })

subscribeNewsletter()​

subscribeNewsletter(email): Promise<{ direct: boolean; success: boolean; }>

Defined in: wr.d.ts:1016

Subscribe an email address to the store newsletter.

Parameters​

email​

string

Returns​

Promise<{ direct: boolean; success: boolean; }>

{ direct: true } if immediate, false if requires email confirmation


toggleWishlist()​

toggleWishlist(variantId): Promise<{ item?: WrWishlistItem; success: boolean; wasAdded: boolean; }>

Defined in: wr.d.ts:1049

Add or remove a variant from the wishlist.

Parameters​

variantId​

string

Returns​

Promise<{ item?: WrWishlistItem; success: boolean; wasAdded: boolean; }>

{ wasAdded: true } if added, { wasAdded: false } if removed


unsubscribeNewsletter()​

unsubscribeNewsletter(email): Promise<{ direct: boolean; success: boolean; }>

Defined in: wr.d.ts:1019

Unsubscribe an email address from the store newsletter.

Parameters​

email​

string

Returns​

Promise<{ direct: boolean; success: boolean; }>


updateAddress()​

updateAddress(addressId, data): Promise<WrAddress>

Defined in: wr.d.ts:1028

Update an existing address.

Parameters​

addressId​

string

data​

Partial<WrAddress>

Returns​

Promise<WrAddress>


updateCartItem()​

updateCartItem(itemId, quantity): Promise<void>

Defined in: wr.d.ts:1083

Update the quantity of a cart item.

Parameters​

itemId​

string

quantity​

number

Returns​

Promise<void>


updateReview()​

updateReview(reviewId, data): Promise<WrReviewByCustomerItem>

Defined in: wr.d.ts:1058

Update an existing review.

Parameters​

reviewId​

string

data​
comment?​

string

rating?​

number

title?​

string

Returns​

Promise<WrReviewByCustomerItem>


validatePromotionCodes()​

validatePromotionCodes(codes, currencyCode, cartTotalGross, variantIds, selectedLang): Promise<WrCartVerifyCodesResponse>

Defined in: wr.d.ts:1107

Validate one or more coupon/promotion codes against the current cart.

Parameters​

codes​

string[]

currencyCode​

string

cartTotalGross​

number

variantIds​

string[]

selectedLang​

string

Returns​

Promise<WrCartVerifyCodesResponse>

Example​

const result = await wr.customer.validatePromotionCodes(
['SUMMER20'], 'EUR', cartTotalGross, variantIds, 'en'
)
if (result?.valid) { // apply discount }