added
Version Release: 2024-01
11 months ago by Jake Anderson
Menu API 2024-01
is now stable and ready for production usage! This version has a few major changes compared to 2023-07
(v1). We did our best to outline the upgrade process in our guides, but these are the top three to call out:
- 👋 No more semi-compliant JSON:API responses in favor of dropping the JSON:API standard altogether, which means no more
includes
statements - 👋 Say goodbye to cursor-based pagination if favor of
page
andpage_size
- 🙌 Introduction of consistent response object formatting, query parameters, and identifiers
Added Capabilities
- Double The Endpoints, Double The Fun: We've added a whole bunch of endpoints that support whatever kind of menu syncing flow you desire
- Prioritizing Consistency: One of the main goals with this version was to have consistent response object formatting, query parameters, and identifiers; you should then see very similar filtering capabilities across all our endpoints
- ML-Backed Product Classification: Introduction of a new endpoint that exposes our machine-learning model for classifying products; see more
- Increased Cannabinoid Support: We've expanded support for cannabinoids beyond just THC and CBD to include over a dozen cannabinoids, including TCHA, CBN, CBG and more
- Terpene Support: You can now also provide measurements for over 30 terpenes
- Measurement Ranges: When sending cannabinoid and terpene values, you can now provide a range of values a given consumer can expect; see more
- Strain Support: If you know the strain of a given menu item, you can now provide that strain during create or update; you can even provide
strain_name
instead ofstrain_id
and we'll do an exact-match lookup on on your behalf - Tags Support: Similar to strain, you can now associate any number of tags to a given menu item by a list of IDs; providing a list of
tag_names
instead oftag_ids
means we'll lookup those tags for you and apply the ones we find - Safer Brand & Product Assignment: We will now ignore
brand_id
andproduct_id
values that are provided that have been removed by the brand, which should reduce the amount of 422 errors you may receive when that brand or product is no longer supported - Upsert menu items by
external_id
: You can now manage menu items with your ownexternal_id
, where we'll create the item if it doesn't exist or update it with the provided values if it does; see more
Breaking Changes
- No More JSON:API Responses: We did away with our semi-compliant JSON:API response objects in favor of simplified flattened objects that are all nested under a
data
attribute- With the dropping of JSON:API formatting, we no longer allow
includes
params to load extra relationships; all critical relationships on a given entity are included in the response by default
- With the dropping of JSON:API formatting, we no longer allow
- Variants Array Instead of Prices Object: We removed support of the legacy pricing fields (
prices[price_half_gram]
,prices[price_gram]
,prices[price_eight]
, etc); please use the backwards-compatiblevariants
array instead - Removal Of Cursor-Based Pagination:: Pagination has been standardized to favor
page
andpage_size
, which meanscursor
values are no longer supported