I wanted to order pizza, but going online just wasn't as relaxing, so we found a better way!
What it does
Using a custom Alexa Skill that we made you can order pizza from a dominos near you with whatever you want and get it delivered. Only works in US and Canada due to API address restrictions and policy.
How I built it
We used Domino's API and Amazon Alexa SDK python console. We created a custom Skill with Amazon Alexa Developer SDK and then ran post requests with utterance variable to the localhost running on the network, in this case, my laptop. This localhost content was parsed as a JSON string object with necessary properties using the custom getvar() method we created for the API. This simply runs and uses the API built-in requests module to send the request to the Specified Domino's Store.
Challenges I ran into
We tried making this generic for all pizza brands but quickly realized most popular ones have terrible API documentation or lack the tools needed to work with the API or are just demonstratable not functional.
Accomplishments that I'm proud of
Posting a JSON with Amazon Alexa using Dynamic Input and making a practical solution to a not so common problem. Mostly this was an intensive technical challenge that we barely managed to finish by removing some of our ambitious goals.
What I learned
Amazon Alexa Skills Kit JSON with Python Python requests
What's next for Alexa, Pizza Please!
Hopefully, we can use the API extensions to create the Pizza Timer that Dominos has when you order and make the model Generic by using GrubHub or UberEats API.