Return to documentation index

Suggested Client API Operation Order

Because of interdependencies between API returns, the following order of operations is recommended for a well-behaved consumer of the Tastevin v1.2 API.

  1. POST to /stats. Give priority to stats for debugging purposes.

Compatible Client Versions: 80 and above

  1. POST to /client_logs. Give priority to client logs for debugging purposes

Compatible Client Versions: 80 and above

  1. POST to /inventory_activities

Compatible Client Versions: all versions

  1. GET /app_settings to retrieve configuration information.

Compatible Client Versions: 80 and above

This configuration information MUST be applied before any further API operations continue.

All subsequent MUST only follow after processing of /app_settings information is complete.

  1. Get Restaurant Information. (Operations 5.1 and 5.2 MUST be performed in order)

Compatible Client Versions: all versions

5.1 GET <a href="/docs/v12/profile">/profile</a>

5.2 GET individual restaurant assets via <a href="/docs/v12/restaurant_assets">/restaurant_assets</a>
  1. GET /billboard_buttons.

Compatible Client Versions: 80 and above

Dependencies:

* /profile
  1. GET /wine_colors

Compatible Client Versions: all versions

  1. GET /beverage_sku_list_groups

Compatible Client Versions: 85 and above

  1. GET /beverage_types

Compatible Client Versions: 85 and above

  1. GET /beverage_sku_units

Compatible Client Versions: 85 and above

Dependencies:

* /beverage_types
  1. GET /beverage_size_conversions

Compatible Client Versions: 80 through 87

Dependencies:

 * /wine_colors
 * /beverage_sku_units
  1. GET /wineries

Compatible Client Versions: all versions

  1. GET /breweries

Compatible Client Versions: all versions

  1. GET /beverage_regions

Compatible Client Versions: all versions

  1. Get Wine Information

    16.1 GET /wines

    Compatible Client Versions: all versions

    Dependencies:

    * /wine_colors
    * /wineries
    * /beverage_regions
    * /beverage_sku_list_groups
    

    16.2 GET /wine_list

    Compatible Client Versions: all versions

    Dependencies:

     * /wines
    
  2. Get Beer Information

    17.1 GET /beers

    Compatible Client Versions: all versions

    Dependencies:

    * /wine_colors
    * /breweries
    * /beverage_sku_list_groups
    

    17.2 GET /beer_list

    Compatible Client Versions: all versions

    Dependencies:

    * /beers
    
  3. Get Spirit Information

    18.1 GET /spirits

    Compatible Client Versions: 21 and above

    Dependencies:

    * /wine_colors
    * /beverage_sku_list_groups
    

    18.2 GET /spirit_list

    Compatible Client Versions: 21 and above

    Dependencies:

    * /spirits
    
  4. GET /beverage_sku_lists

Compatible Client Versions: all versions

Dependencies:

* /wine_list
* /beer_list
* /spirit_list
  1. GET /vendors

Compatible Client Versions: all versions

  1. Get menu information

    Compatible Client Versions for all menu operations: 80 and above

    21.1 GET /menus

    21.2 GET /menu_sections

    Dependencies:

    * /menus
    

    21.3 GET /menu_items

    Dependencies:

    * /menu_sections
    
  2. Get assets

These operations should be performed synchronously during Hard Sync, and possibly Asynchronously during Incremental Sync.

22.1 GET <a href="/docs/v12/wine_assets">/wine_assets</a>

Dependencies:

    * /wines

22.2 GET <a href="/docs/v12/beer_assets">/beer_assets</a>

Dependencies:

    * /beers

22.3 GET <a href="/docs/v12/spirit_assets">/spirit_assets</a>

Dependencies:

    * /spirits

22.4 GET <a href="/docs/v12/menu_item_assets">/menu_item_assets</a>

Dependencies:

    * /menu_items
  1. Sync Complete. Finalisation behavior should be applied before final sync is complete.

Dependencies:

* all operations before 22
* optionally include operations from 22 if this is an incremental sync
  1. POST "sync completion" stat. This will either be a "Incremental Sync Complete" or a "Hard Sync Complete" stat.