We extended Magento's shopping cart within the messenger.
We Facebook Messenger Cards to present the product information.
We leveraged on Lex to make conversational Experience.
We wanted to make the bot experience more conversational and natural for users. We wanted an easy way for users without websites to be able to create content for bots. And we wanted to enable people with ecommerce sites using magento to be able to leverage on LEX in making a messenger bot with a shopping cart.
What it does
We enable users to create content
- Regular Text
- Generic Content with buttons, image, title and description
- Carousel of Generic Content
We link content to intents with slots and utterances for a conversational experience.
How I built it
We created a simple CMS using yii, php, mysql To create Content and link them to templates of intents and utterances.
When a user messages our bot it gets processed by lex and is matched with the appropriate intent. We then query our database for the content tagged with the intent, utterance and slot.
Challenges I ran into
It's our first time to work with magento and Lambda and Lex. It was a challenge to integrate them together.
Accomplishments that I'm proud of
We are able to leverage on magento's API in serving content in our bot. This will make it easier for companies and organization that already has magento as a backend to port their website in a chatbot messenger.
What I learned
There is a big opportunity in bridging the session in the messenger and the session the actual magento website.
What's next for Magento Bot
While we have a shopping cart experience in the messenger. Our goal is to enable checkout such that we can switch from the messenger to the actual magento website during checkout. To close the loop. Ideally we aim to leverage on fb oauth to link the user in the messenger and the user in the magento website. Also in the event the user is not registered on the magento website we plan to port the contents of the shopping cart in the messenger to a guest-cart in the magento site so the user can still process the transaction.