Summary
Select the release feature from the table below to be taken directly to that section of the release note.
Feature 1 |
Feature 2 |
Feature 3 |
Ingredient CO2: alternate ingredient can inherit CO2 value The parent ingredient value 'KG CO2e per KG' will be inherited by alternate ingredients with 'copy and inherit' parent values |
Webhook triggered by CO2-related changes to recipes A new way of notifying third parties of CO2-related changes to recipes |
Supplier name and supplier code added to GET/ingredientco2 response |
Release date for all features: March 22nd 2023
Alternate Ingredient can Inherit CO2 Value
- Enabled by Default? - Yes
- Set up by customer Admin? - No
- Enable via Support ticket? - No
- Affects configuration or data? - Yes
- Roles Affected: - Ingredient data managers
What's Changing?
Alternate ingredients that are set to 'copy and inherit parent values' will now inherit parent ingredients' KG CO2e per KG values.
Reason for the Change
Increase ease of use when maintaining alternate ingredient values. Previously this would have to be done manually.
Customers Affected
All customers.
Release Note Info/Steps
When creating an alternate ingredient, one of three options must be selected to determine its type:
- Copy and inherit parent values
- Copy parent values
- Create blank ingredient
Fig.1 - Alternate ingredient types
After this change, if an alternate ingredient is set to Copy and inherit parent values, then it will inherit the parent ingredient's 'extended data values', including KG CO2e per KG value.
- To see the alternate ingredient's 'inherited parent values', select View Extended Data on its ingredient record
Fig. 2 - 'View Extended Data'
As shown below in Fig.3, the parent ingredient KG CO2e per KG value (top) is inherited by alternate ingredients that 'inherit parent values' (bottom).
Fig.3 - Parent and inherited alternate ingredient KG CO2e per KG values
Switching an Alternate Ingredient's 'Parent Ingredient' via the API
If an alternate ingredient is of type 'Copy and inherit parent values' and its parent ingredient is switched (please note - this is possible via the API but not via the UI), the alternate's KG CO2e per KG value is updated to match the new parent.
Recipes that use this alternate ingredient are updated with new parent values, e.g. nutrition, intolerances and CO2 values.
Additional Resources
Inventory Restaurants: How to Add Alternative Ingredient Relationships
Webhook for CO2-Related Recipe Changes
- Enabled by Default? - No
- Set up by customer Admin? - No
- Enable via Support ticket? - Yes
- Affects configuration or data? - No
- Roles Affected: - Life Cycle Analysis Partners and other third parties who want to be notified of CO2-related recipe changes
What's Changing?
A new webhook, triggered when recipe CO2-related variables change, is available on a subscription basis.
The webhook provides a 'push-style' mechanism to notify subscribers of recipe(s) that have had changes to one or more variables that could impact the recipe's CO2 value.
A webhook is an automated event-driven message sent from an app. The message (aka 'payload') is sent to a unique URL. The destination URL is provided by the recipient (or 'subscriber') of the webhook.
Reason for the Change
The webhook allows data updates to be received by external systems soon after they have been performed and reduces the need for polling.
Customers Affected
Optional. Webhook subscriptions are configured on request to Fourth's Customer Support team.
Release Note Info/Steps
To subscribe to the webhook, please raise a request with Fourth's Support team. Third parties wishing to subscribe to the webhook must provide a destination endpoint (URL). Once registered, webhook requests will be received at the destination URL each time an event is triggered.
The webhook payload includes the recipe name, recipe GUID and a URL that can be used to request the specified recipe via a GET request.
For access to the GET request, please also raise a request with Fourth's Support team.
Sample webhook JSON payload
{
“RecipeName”: “Fried Bananas”,
“RecipeGUID”: “KJLHJGKGHFFJGJ”,
“URL”: “https://api.fourth.com……/KJLHJGKGHFFJGJ”
}
Triggers for the webhook
Changes to CO2-related recipe values will trigger the webhook. These changes include:
- Changes to the recipe composition, i.e. inclusion or exclusion of a recipe ingredient
- Recipe ingredient UOM
- Recipe ingredient quantity
- Recipe ingredient ‘Wastage Removed’ status (true/false)
- Recipe 'cooked weight' conversion
- Change in recipe 'servings' number
- 'Delete from system' operation - removes recipe ingredient(s)/sub-recipes from specified recipes
- ‘Replace in Recipes’ operation - replaces specified ingredient or sub-recipe with another ingredient/sub-recipe OR the same ingredient/sub-recipe in a different quantity
New Terms/Acronyms
A webhook is an automated event-driven message sent from an app. The message (aka 'payload') is sent to a unique URL. The destination URL is provided by the recipient (or 'subscriber') of the webhook.
API Changes
GET/ingredientco2: supplier name and supplier code added
- Enabled by Default? - Yes
- Set up by customer Admin? - No
- Enable via Support ticket? - No
- Affects configuration or data? - Yes
- Roles Affected: - API users
What's Changing?
Two new properties - supplierName and supplierCode - have been added to the response from the request GET/ingredientco2.
Reason for the Change
Increased information for ingredient data management via the API
Customers Affected
All customers using the request
Release Note Info
[
{
"starChefKey": "0030702",
"supplierName": "Dairy",
"supplierCode": "B365",
"ingredientGuid": "2B05F7E8-D60E-4949-916F-389BC3CEA56B",
"ingredientName": "Fresh Orange",
"ingredientCO2Value": "55.5"
}
]
Fig.4 - Sample JSON response from GET/ingredientco2 with new properties in bold
New API: GET/recipeswithoutingredientcost
- Enabled by Default? - No
- Set up by customer Admin? - No
- Enable via Support ticket? - Yes
- Affects configuration or data? - No
- Roles Affected: - Third party integrations that require detailed recipe information
What's Changing?
A new API request that retrieves the same information as the GET/recipes request except for recipe ingredient cost properties.
Reason for the Change
Improved speed of response for integrations that require recipe information but that do not require individual recipe ingredient cost.
Customers Affected
Optional. Available to all customers using the RME Export API.
Release Note Info/Steps
This GET request is available to existing 'Export API users'. To request access to the Export API, please raise a request with Fourth's Support team.
The response from the new endpoint includes the same information as the GET/recipes request except for recipe ingredient cost. These are the excluded values:
"RecipeIngredientCost": "5.000",
"RecipeIngredientPortionCost": "0.000",
"RecipeIngredientCostPercentage": "0.00",
This request has the same date-related filter options as 'GET/recipes', i.e.
createdAfter
lastModifiedAfter
scheduledExportAfter
lastNutritionModifiedAfter
lastNutritionModifiedBefore
Additional Resources
For more detailed integration information, please go to developer.fourth.com.
GET and POST /ingredientsalternates: Two New Properties Added
- Enabled by Default? - Yes
- Set up by customer Admin? - No
- Enable via Support ticket? - No
- Affects configuration or data? - Yes
- Roles Affected: - Data managers who create or update alternate ingredients via API
What's Changing?
Two new properties - 'Transfer/Requisition Status' and 'Item Vatable' - have been added to these requests:
POST/ingredientsalternates
GET/ingredientsalternates
Reason for the Change
The new properties have been added so that alternate ingredients created via the API behave more like alternate ingredients created via the UI.
Customers Affected
All customers using the requests mentioned above to create or update alternate ingredients.
Release Note Info/Steps
transferRequisitionStatus
Valid values: True/False
itemVatable
Valid values: Yes, No, Dash (-), Blank
In Inventory, the above values for 'Item Vatable' are mapped to these tax values
Yes = 'standard' tax rate, currently 20% in the UK
No = Zero-rated, i.e. goods on which the government charges VAT (tax) but the rate is currently set to zero.
Dash (-) = Exempt, i.e., goods that are not taxable
POST/ingredientsalternates
Briefly, if these new properties are excluded from the POST request, these are the outcomes:
1. Create new alternate > the properties will be copied from the parent ingredient
2. Update existing alternate > the existing properties will not be changed
If these properties are included in the POST request with valid values, the values will be changed.
'Blank' is not a valid value for Transfer/Requisition status. If the property transferRequisitionStatus is included in the payload with an empty string, the value for this property will be copied from the parent ingredient (when creating a new alternate) or will remain unchanged (when updating an alternate).
GET/ingredientsalternates
'Transfer/Requisition Status' and 'Item Vatable' properties have been added to the response from the above request.
Additional Resources
Restaurants Inventory Recipe and Menu: Ingredient and Recipe Fields for Inventory (changed on line)
Comments
0 comments
Please sign in to leave a comment.