Skip to content
A Python wrapper for the Dominos Pizza API
Python
Branch: master
Clone or download
Pull request Compare This branch is 25 commits behind gamagori:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
pizzapi
tests
.gitignore
CONTRIBUTORS.md
LICENSE
MANIFEST.in
README.rst
pytest.ini
requirements.txt
setup.cfg
setup.py

README.rst

pizzapi

Description

This is a Python wrapper for the Dominos Pizza API.

It's a port of the pizzapi node.js module written by RIAEvangelist.

Quick Start

Pull the module into your namespace:

from pizzapi import *

First, construct a Customer object and set the customer's address:

customer = Customer('Donald', 'Trump', 'donald@whitehouse.gov', '2024561111')
address = Address('700 Pennsylvania Avenue NW', 'Washington', 'DC', '20408')

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)
You can’t perform that action at this time.