Node.js Cheddar API wrapper
This module will simplify the process of integrating Cheddar into your existing node.js apps.
Table of Contents
npm install cheddar
Also install the peer dependencies:
npm install request
;const cheddar =username: "email@example.com"password: "passwordExample"productCode: "PRODUCT_CODE";cheddar;// When inside an async function, you can simply await any Cheddar functionconst plans = await cheddar;
Or using ES5:
var Cheddar = ;var cheddar =username: "firstname.lastname@example.org"password: "passwordExample"productCode: "PRODUCT_CODE";cheddar;
addItem(customerCode, itemCode, [amount])
removeItem(customerCode, itemCode, [amount])
setItemQuantity(customerCode, itemCode, amount)
addCustomCharge(customerCode, chargeCode, quantity, amount, description)
All methods return a promise with the requested data in JSON format.
Using a proxy
You might want to set up a proxy to communicate with Cheddar. Cheddar blocks most of the Heroku servers (a range of AWS IPs):
Recently, a large block of IPs on the Heroku platform were listed by DenyHosts due to a spike in SSH brute force attacks coming from the Heroku platform. In short, you need to be coming from an IP that isn't listed.
A proxy url is easily set with the
CHEDDAR_PROXY_URL environment variable:
CHEDDAR_PROXY_URL=https://example.com:1234 node your-server.js
First add a config file (
config.json) with all your Cheddar credentials:
"username": "EMAIL""password": "PASSWORD"// User either productCode OR productId"productCode": "PRODUCTCODE""productId": "PRODUCTID""planCode": "PLANCODE""itemCode": "ITEMCODE""promoCode": "PROMOCODE"
Now you can install all dependencies and run the tests:
npm install npm test
WARNING: Only run the tests on a development account to prevent any side effects in production
NOTE: Not all API calls have been fully tested yet.
Original work was done by Kevin Smith.