Online Ordering

The Weborder API platform is designed to replace our legacy online ordering solution with a much more accessible suite of resources. Not all previous functionality has carried over. The platform aims to simplify the process of placing an online order and includes many additional helpful endpoints that should minimize development effort and API requests.

For the sake of convenience, we will group the endpoints by namespace, as the platform uses two distinct ones for separate purposes.

General structure of responses

The Weborder API uses the JSON format for all responses. It also follows a general structure for successful and failed API requests.

  • Successful requests have the following fields:
    • status - Always equal to “OK” upon successful request
    • data - Response body in JSON format
  • Failed requests on the other hand generally have the following fields:
    • status - Always equal to “ERROR” upon failed request
    • errorMsg - Verbose error message, where exceptions are defined. Can be empty for unexpected errors.

NOTE: API requests with a 403 and 404 response code will not follow the expected format, as they are not processed by the Weborder API validators. Instead, they will return a HTML page with the error description. See the Common error codes section for troubleshooting notes.

Menu Resources

Menu resources are dedicated to fetching the location configuration and menu data. All of the resources in this group are part of the /weborders/ namespace. Accessing menu resources does not require API authentication, but resources that require the “establishment” parameter will return an error if any of the locations included in the query do not have Online Ordering enabled.

It is also important to note that Revel has a static menu structure:
Category > Sub-categories > Products

Each category you want to include needs to be added to your online menu. You can do this by creating a custom menu for online ordering on the management console or through the Products API suite. Each location that uses the weborder feature will need its own custom menu.

Products

A product is a sellable item. This is your primary resource for working with individual products. It returns a list of product objects and collects data about a product's price, attributes, and category. You can use it to review your product list, compare prices, add a product, or reorganize your products. This resource includes endpoints useful for online ordering, such as product images, taxes on online purchases, and availability timetables.

Menu

This extremely useful endpoint combines the data of Product Categories, Products and Modifiers into one nested resource. You can arrange products by category and subcategory and manage modifier classes associated with your products. Menu also lets you review and modify the times when product subcategories are available for order.

Recent Orders

Recent Orders returns details about online and in-store customer orders from the last seven days. Use this resource to review purchase dates, tips, taxes charged, purchase totals, and other details. Can be paired with data from Order Items if more granular data is needed.

Product UpchargesModifier

This resource contains all possible combinations for any product flagged as part of an upsell combo. It allows you to edit upsell combos and combo prices through an API.

Product Sets

This resource contains all possible selections for any product attached to a combo. It allows you to edit combos and combo prices through an API.

Modifiers

Modifiers are variations that can be added to products so that you don't need to create a new product for each size, color, or topping. This resource allows you to manage these enormously flexible tools by providing access to data such as a modifier's cost or recipe, available substitutions for a modifier, and which modifier is associated with which products.

Attribute

The Attribute resource holds information about a product's particular attributes, including the product's name, unique ID, creation date, and active or inactive status. Use this resource to return or set product attributes. This resource can be useful for finding a child product under a parent product.

Order Items

This resource lists all the items on a particular order. It is not limited to online ordering, along with details such as inventory stock and modifiers.

Locations

API Version

Pre-Validate

Check Gift

Shipping Options

Shipping Taxes

Settings

Authentication - Formatting?

Cart Resources

Calculate

Validate

Submit

Cart resource request fields

Common Error Codes