This is a Python wrapper for the Dominos Pizza API.
It's a port of the pizzapi node.js module written by RIAEvangelist.
First construct a Customer
object and set the customer's address:
customer = Customer('Barack', 'Obama', 'barack@whitehouse.gov', '2024561111', '700 Pennsylvania Avenue NW, Washington, DC, 20408')
address = Address('700 Pennsylvania Avenue NW', 'Washington', 'DC', '20408')
# or Address(*customer.address.split(',')) if you're lazy
Then, find a store that will deliver to the address.
store = address.closest_store()
In order to add items to your order, you'll need the items' product codes.
To find the codes, get the menu from the store, then search for items you want to add.
You can do this by asking your Store
object for its Menu
.
menu = store.get_menu()
Then search menu
with menu.search
. For example, running this command:
menu.search(Name='Coke')
Should print this to the console:
20BCOKE 20oz Bottle Coke® $1.89
20BDCOKE 20oz Bottle Diet Coke® $1.89
D20BZRO 20oz Bottle Coke Zero™ $1.89
2LDCOKE 2-Liter Diet Coke® $2.99
2LCOKE 2-Liter Coke® $2.99
After you've found your items' product codes, you can create an Order
object add add your items:
order = Order(store, customer, address)
order.add_item('P12IPAZA') # add a 12-inch pan pizza
order.add_item('MARINARA') # with an extra marinara cup
order.add_item('20BCOKE') # and a 20oz bottle of coke
You can remove items as well!
order.remove_item('20BCOKE')
Wrap your credit card information in a PaymentObject
:
card = PaymentObject('4100123422343234', '0115', '777', '90210')
And that's it! Now you can place your order.
order.place(card)
Or if you're just testing and don't want to actually order something, use .pay_with
.
order.pay_with(card)