nandos
v0.1.0
Published
Server-side JS library for the Nando's API
Downloads
16
Readme
nandos-node
Server-side JS library for the Nando's API. It is not publicly documented, so may break at any time.
import * as Nandos from 'nandos';
const client = new Nandos.Loyalty({
clientKeyId: 'some_key_here', // ~30 characters
clientKeySecret: 'some_key_here', // ~10 characters
userEmail: '[email protected]',
userPassword: 'SoSecure0mg!',
});
const account = await client.getAccount();
const rewards = await client.getRewards(account.cardNumber);
const transactions = await client.getTransactions(account.cardNumber);
console.log(account.phoneNumber); // => 07123456789
console.log(account.card_lost); // => false
console.log(rewards.wheel_position); // => 3
console.log(rewards.lifetime_chillies); // => 13
console.log(transactions[0].store); // => Whitechapel
console.log(transactions[0].credit); // => 1
Installation
$ npm install --save nandos
API
All async methods return promises. Traditional Node callbacks are not supported.
Currently, only the Nando's loyalty program is supported (the reward card).
Loyalty
Loyalty#constructor(options)
First, set up a client by creating an instance of Loyalty
.
Options:
clientKeyId
- the key which is sent to the API as-isclientKeySecret
- the key used to create the HMAC digest sent to the APIuserEmail
- the user's email address for loginuserPassword
- the user's password for login
const client = new Loyalty({
clientKeyId: 'some_key_here', // ~30 characters
clientKeySecret: 'some_key_here', // ~10 characters
userEmail: '[email protected]',
userPassword: 'SoSecure0mg!',
});
Loyalty#getAccount()
Verify the user's login details and retrieve their account details (including card number).
await client.getAccount();
Loyalty#getRewards(cardNumber)
Retrieve the card's rewards status - the number of 'chillies' they have, and the number of green/mild, orange/med and red/hot rewards they have.
await client.getRewards('12341234123412');
Loyalty#getTransactions(cardNumber)
Retrieve the card's historical transactions, including rewards provided from each visit.
await client.getTransactions('12341234123412');
Notes
- data is provided back from the Nando's API exactly as-is - as such, many keys/values are quite inconsistent and unpredictable
Support
Please open an issue on this repository.
Authors
- James Billingham [email protected]
License
MIT licensed - see LICENSE file