This guide will be removed on April 29, 2022. Please use our new, easier-to-use Toast technical documentation site. All updated content is on the new site.

Item-level reward offers

Minimal validation occurs in the POS when an item-level reward offer is selected. The offer must include a selection GUID to which the reward can apply. If the reward is applied by the restaurant employee, the POS will attach the reward to the item selection with the matching GUID.

The array of rewards returned to the POS is in a ResponseCheck object. Each item-level offer contains a selectionIdentifier value. This is a Toast POS-defined GUID and is the way your loyalty program integration can specify which item an offer may apply to.

  1. Your loyalty program integration must retrieve menu information from Toast. The recommended approach is use the /menuItems endpoint of the configuration API to retrieve a list of all menu items. Consider using the lastModified parameter of this endpoint to ensure that you retrieve menu item updates over time. For more information about the configuration API, see Getting menu information from the configuration API.

    If you would like to retrieve full information about all menu entities from all menus at a restaurant, consider using the menus API to get this additional information. See Getting Menu Information from the Menus API.

  2. Specific top level items which offers apply to is optionally returned in the loyalty API response to an inquire request:

    A ResponseCheck object contains an offers value which contains an array of Offer objects. If an offer is of selectionType ITEM and a selectionIdentifier is specified, then that is the menu item for which the offer can be applied. All offers are expected to have the applicable boolean value set to true if the offer can be applied to the check submitted with the request, false otherwise

    The Check contains a list of Selection objects representing items on the check. Each Selection has a reference to the corresponding menu item. Menu items have GUIDs assigned to it. These are the IDs used to match against item level offers specified in the selectionIdentifier returned from an inquiry request.