added
Version Release: 2024-01
almost 2 years 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
includesstatements - 👋 Say goodbye to cursor-based pagination if favor of
pageandpage_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_nameinstead ofstrain_idand 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_namesinstead oftag_idsmeans we'll lookup those tags for you and apply the ones we find - Safer Brand & Product Assignment: We will now ignore
brand_idandproduct_idvalues 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
dataattribute- With the dropping of JSON:API formatting, we no longer allow
includesparams 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-compatiblevariantsarray instead - Removal Of Cursor-Based Pagination:: Pagination has been standardized to favor
pageandpage_size, which meanscursorvalues are no longer supported