# @nuskin/ns-loyalty-web

> A Loyalty package.

Latest version **1.5.7** (published 2024-05-09) · ISC license · 0 weekly downloads

## Install

```sh
npm install @nuskin/ns-loyalty-web
pnpm add @nuskin/ns-loyalty-web
yarn add @nuskin/ns-loyalty-web
bun add @nuskin/ns-loyalty-web
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.5.7 |
| Published | 2024-05-09 |
| First published | 2020-02-04 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 257.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Corey Cochran |
| Maintainers | nkranendonk, emoore, nuskin-cws, klau, rellenberger |

## Links

- npm: https://www.npmjs.com/package/@nuskin/ns-loyalty-web
- Repository: git@code.tls.nuskin.io:ns-am/loyalty/ns-loyalty-web
- Homepage: https://code.tls.nuskin.io/ns-am/loyalty/ns-loyalty-web/blob/master/README.md
- npm.io page: https://npm.io/package/@nuskin/ns-loyalty-web

## Recent versions

- 1.5.7 (latest) — 2024-05-09
- 1.5.7-cx15-10438.1 (prerelease) — 2024-05-06
- 1.5.6 — 2022-10-04
- 1.5.6-cx15-3093.1 — 2021-05-13
- 1.5.5 — 2021-05-10
- 1.5.5-cx15-3093.2 — 2021-05-06
- 1.5.5-cx15-3093.1 — 2021-05-06
- 1.5.4 — 2021-05-04
- 1.5.4-cx15-2827.5 — 2021-05-04
- 1.5.4-cx15-2827.4 — 2021-04-30
- 1.5.4-cx15-2827.3 — 2021-04-30
- 1.5.4-cx15-2827.2 — 2021-04-30
- 1.5.4-cx15-2827.1 — 2021-04-26
- 1.5.3 — 2020-11-13
- 1.5.3-cx15-1651.1 — 2020-10-27
- … 17 more at https://npm.io/package/@nuskin/ns-loyalty-web/versions

## README

# ns-loyalty-web

This library handles the interaction with the service layer for retrieving information about the loyalty program and the user's loyalty information.

### Installing

All that is needed for adding this to your project is including the library in your package.json like so:

npm i @nuskin/ns-loyalty-web

or

yarn add @nuskin/ns-loyalty-web

## How to use in your project.

Once you have imported the library into your project, you can use it like you see here:

import webLoyalty from '@nuskin/ns-loyalty-web'


```
webLoyalty.getAllLoyaltyInfo().then(response => {
    .
    .
    .
});
```

### Please note: all functions are asynchronous, so make sure you handle the expected response appropriately.

Now you have a loyalty object which can be used for making one of the following requests:

* getRewardsPoints
* loyaltyCanOptIn
* loyaltyOptIn
* loyaltyOptOut
* getViewedTandC
* setUserViewedTandC

### getRewardsPoints

Gets the loyalty rewards points.

Returns a Loyalty data in the following form:
```
{
    "buckets": {
        "withinSeven": [],
        "withinThirty": 0,
        "longTerm": 0
    },
    "optInStatus": true,
    "soonestExpiring": {
        "pointsToExpire": 0,
        "expirationDate": ""
    },
    "user": {
        "adrParticipant": "NO",
        "entityType": "DIST",
        "titleParticipant": "NO"
    },
    "userTier": {
        "name": "T1",
        "purchaseIncrement": 2500,
        "minSpend": 2500,
        "purchaseRatio": 0.05,
        "redemptionLimit": 0.6,
        "daysToExpire": 90,
        "spendWithinPeriod": null,
        "tierThreshold": null
    },
    "wallet": {
        "available": 0,
        "spent": 0,
        "spentInPeriod": 0,
        "expired": 0,
        "lifetimePointsEarned": 0
    }
}
```

### loyaltyCanOptIn

Check if the user is eligible to opt-in.

Accepts an optional object value with the following optional property:
<dl>
    <dt>possiblyDistributorSignup</dt>
    <dd>Boolean value indicating if the user is going through the distributor signup process.</dd>
</dl>

Returns a true/false value indicating if the user can opt-in to the Loyalty program.

### loyaltyOptIn

Opt in the user.

Returns an object with the following properties:
<dl>
    <dt>success</dt>
    <dd>Boolean value indicating if the opt-in process was successful (this does not indicate if the user was opted-in).</dd>
    <dt>optInStatus</dt>
    <dd>Boolean value indicating if the user was opted-in.</dd>
    <dt>message (only when success is false)</dt>
    <dd>String value with an error message.</dd>
</dl>

### loyaltyOptOut

Opt out the user.

Returns an object with the following properties:
<dl>
    <dt>success</dt>
    <dd>Boolean value indicating if the opt-out process was successful (this does not indicate if the user was opted-out).</dd>
    <dt>optInStatus</dt>
    <dd>Boolean value indicating if the user was opted-out.</dd>
    <dt>message (only when success is false)</dt>
    <dd>String value with an error message.</dd>
</dl>

### getViewedTandC

Check if user has viewed the terms and conditions.

Returns an object with the following properties:
<dl>
    <dt>viewed_tc</dt>
    <dd>Boolean value indicating if the user has viewed the terms and conditions.</dd>
</dl>

### setUserViewedTandC

Sets that the user has viewed the terms and conditions.

Returns an object with the following properties:
<dl>
    <dt>success</dt>
    <dd>Boolean value indicating if the user has viewed the terms and conditions.</dd>
</dl>

## Versioning

We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://code.tls.nuskin.io/ns-am/loyalty/ns-loyalty/tags).

---
_Source: https://npm.io/package/@nuskin/ns-loyalty-web · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
