Checking applicable Rewards for a Toast cart

Activities are events that change the points a specific user has in a program.

The POST /v2/program-memberships/:program_membership_id/applicable-rewards endpoint lets you see which of a user's rewards are applicable to a given Toast check object.

It returns all the user's rewards, split into two lists - valid_rewards and invalid_rewards.

Rewards are deemed if they require menu items or menu groups not present in the cart, or if they include either with a quantity that the check doesn't contain. Matching is done based on the multiLocationId of the included items and itemGroups.

Request Parameters

  • toast_restaurant_guid (required): The GUID of the toast restaurant the order is for.

  • check (required): The serialized Toast check object.

The check object contains:

  • amount (required): The total order amount.

  • selections (required): The array of selection objects.

Each selection in the selections array contains:

  • guid (required): The Toast item guid.

  • amount (required): The quantity of the item in the cart.

  • price (required): The price (in cents).

  • tax (required): The tax (in cents).

  • taxInclusion (required): Whether tax is included ("INCLUDED" or "NOT_INCLUDED").

  • item (required): The Toast item object.

  • itemGroup (required): The Toast item group object.

Each item in the selection contains:

  • guid (required): The Toast GUID for the item.

  • entityType (required): The Toast type of the item..

  • externalId (required): The Toast external lD for the item.

  • multiLocationId (optional): The Toast multi-location lD for the item.

Each itemGroup in the selection contains:

  • guid (required): The Toast GUID for the item group.

  • entityType (required): The Toast type of the item group.

  • externalId (required): The Toast external lD for the item group.

  • multiLocationId (optional): The Toast multi-location lD for the item group.

Example Request

Here's an example of a valid POST request to the activity endpoint:

Response

If successful, the API will return a 200 OK status along with valid and invalid rewards.

Example Response

Error Handling

If the API encounters an error, a relevant error message will be returned to guide you through the troubleshooting process.

Last updated