1,082
edits
(moved proposed attributes to a new section) |
(→API: update doc) |
||
Line 50: | Line 50: | ||
= API = | = API = | ||
== List and descriptions of available product attributes == | |||
App can get the list of all available product attributes at the /api/v2/attribute_groups or /api/v2/attribute_groups_[language code] endpoints. | |||
e.g. [https://world.openfoodfacts.org/api/v0/attribute_groups] | |||
It returns a JSON array of attribute groups that each contain an array of attributes. | |||
Attribute groups keys: | |||
* id - e.g. nutritional_quality | |||
* name - e.g. Nutritional quality | |||
* warning (optional) | |||
* attributes: array of attributes | |||
Attributes keys: | |||
* id - e.g. "nutriscore", | |||
* name - e.g. Nutri-Score" | |||
* setting_name - e.g. "Good nutritional quality (Nutri-Score)" (in the form of a requirement) | |||
* setting_note (optional) - e.g. extra detail that can be shown in user preferences | |||
== Request == | == Request == | ||
Apps can request Product Attributes through API queries (/product or /search) by including "attribute_groups" or "attribute_groups_[language code]" (or "attribute_groups_data" to get only the machine readable data) in the "fields" parameter. | Apps can request Product Attributes through API queries (/api/v2/product or /api/v2/search) by including "attribute_groups" or "attribute_groups_[language code]" (or "attribute_groups_data" to get only the machine readable data) in the "fields" parameter. | ||
== Response == | == Response == | ||
Line 71: | Line 91: | ||
* status - known, unknown, not-applicable : indicate if we have enough data to decide if the requirement is met | * status - known, unknown, not-applicable : indicate if we have enough data to decide if the requirement is met | ||
* match - 0 to 100 - indicate how well the product matches the requirement (100 = 100% match) | * match - 0 to 100 - indicate how well the product matches the requirement (100 = 100% match) | ||
* icon_url | * icon_url (optional) | ||
* title - short title corresponding to the value of the attribute - e.g. "Nutri-Score D" | * title - short title corresponding to the value of the attribute - e.g. "Nutri-Score D" | ||
* details - explains how the match was computed, what triggered the match value (e.g. for vegan, list of ingredients that may not be vegan) | * details (optional) - explains how the match was computed, what triggered the match value (e.g. for vegan, list of ingredients that may not be vegan) | ||
* description_short - very short description - e.g. "Bad nutritional quality" | * description_short (optional) - very short description - e.g. "Bad nutritional quality" | ||
* | * description (optional) - small text (1 or 2 paragraphs, possibly with bullet points introduced by dashes) - intended to be displayed under the description_short | ||
* recommendation_short - "Reduce" | * recommendation_short (optional) - "Reduce" | ||
* recommendation_long | * recommendation_long (optional) | ||
* official_link_title - "Nutri-Score page on Santé publique France" | * official_link_title (optional) - "Nutri-Score page on Santé publique France" | ||
* official_link_url | * official_link_url (optional) | ||
* off_link_title | * off_link_title (optional) | ||
* off_link_url | * off_link_url (optional) | ||
=== Example === | === Example === |