VoiceCommerce is a library that makes it to connect ecommerce stores with voice user interfaces, especially Amazon Alexa and Google Assistant.
Currently it works with any Vue Storefront-based store, allowing developers to quickly build voice integrations that provide common ecommerce features.
To install the library in your local node environment, run:
npm install --save voicecommerce
Then, in your project code include the following, to easily connect to VueStorefront store.
const {VueStorefrontApi, Authentication, inMemoryAuthenticationPersistence} = require('voicecommerce')
const api = new VueStorefrontApi({ endpoint: 'https://demo.vuestorefront.io' })
const authentication = new Authentication(inMemoryAuthenticationPersistence);
The easiest way to start building voice apps is with Jovo framework. VoiceCommerce seamlessly connects with it, giving you a chance to quickly build a working voice app for ecommerce.
To bootstrap a project, follow this guide: Bootstraping project with Jovo
Once you get the hello world working, you're ready to add ecommerce features.
First, you'll need to set up account linking in your Alexa Skill. For more details, read how to configure account linking
In the index.js file of your jovo project add OAuth handler:
...
const oauthConfig = {
clients: [
{
clientId: 'XXXXXX',
clientSecret: 'XXXXXX',
redirectUris: ['http://XXXXX']
}
]
}
Webhook.use('/oauth', authentication.oauthHandler(api, oauthConfig))
// generated by jovo
Webhook.post('/webhook', (req, res) => {
app.handleWebhook(req, res)
});
...
Then, in the app/app.js file add the following to one of the intents:
const { Reorder } = require('voicecommerce')
'HelloWorldIntent': function() {
authentication.getUser(this.getAccessToken()).then((user) => {
if (!user) {
this.alexaSkill().showAccountLinkingCard()
this.tell('Please link your account before making purchases')
return;
}
const reorder = new Reorder(api)
reorder.call(user).then(() => {
this.tell('Ordering the same products as usual')
})
})
},
That's it!
The major features that are coming up include:
We're always open for contributions. If you'd like to get involved, contact us at rafal@upsidelab.io.
If you've found any bugs or have ideas for new features you can create an issue on GitHub.
VoiceCommerce is provided under the MIT license.
Please see LICENSE for licensing details.