channeladvisor-localdb
library to create a local database of inventory items from channeladvisor
i suggest that you run this library in its server wrapper
install
npm install channeladvisor-localdb
limitations
these InventoryItemResponse fields currently are currently not implemented
into this library:
- DistributionCenterList
- VariationInfo
- StoreInfo
- ImageList
- MetaDescription
use
var CALDB = require("channeladvisor-localdb")
var ldb = new CALDB({
dburi: "mysql://ca_admin:ca_password@localhost/channeladvisor",
client: client,
account: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
})
ldb.on('error', function(info){
console.log(util.inspect(info))
throw info.error
})
ldb.on('update-progress', function(info){
console.log(util.inspect(info))
})
ldb.start()
###CALDB(opts)
Creates new instance of the ChannelAdvisor localDB
opts
: object
dburi
: A database URI that sequelize
will acceptclient
: instance of the initialized channeladvisor2
clientaccount
: the account ID for the database (format is xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
)
###CALDB#start(manual, comment)
Starts DB updater. Async function, runs in the background.
manual
: Whether to force a catalog update. This truncates the existing inventory database!comment
: Meta comment to store in the run log
###CALDB#expose-models()
Returns the Sequelize models that CALDB is using.
###CALDB#expose-sequelize()
Returns the Sequelize instance that CALDB is using.
###CALDB events
CALDB instances are also instances of the EventEmitter class.
List of events are here
###Events
update-start -> (info)
Called when a database update has started
update-stop -> (info)
Called whenever a database update is forcefully stopped
update-done -> (info)
Called when a database update has completed
update-progress -> (info)
Called when there's progress in the database update.
item-update -> (info)
Called when an item has been successfully pushed into the database.
error -> (info)
Called whenever there's an error, may it be with updating or anything else.