Food Database API dokumentáció
Ez az Food Database API 2. verziójának dokumentációja. Ha meg szeretné tudni, hogy mik az 1. verzió chnges-jei, kérjük, lépjen a Változási napló
Ez az API eszközöket kínál az általános élelmiszerek, csomagolt ételek és éttermi étkezések táplálkozási és étrendi adatainak megkereséséhez. Ezenkívül NLP-t (Natural Language Processing) alkalmaz, amely lehetővé teszi az élelmiszer-entitások kivonását strukturálatlan szövegből.
Fedett használati esetek
- Keressen egy ételt kulcsszó, étel neve vagy UPC/vonalkód alapján
- Táplálkozási tények beszerzése egy adott ételhez, beleértve: makro- és mikroelemeket, allergén címkéket, életmód és egészség címkéket
- Keressen egy ételt 28 tápanyag megadott tápanyagmennyisége alapján
- Keressen egy adott márkán belüli ételeket
- A beépített élelmiszer-naplózó kontextus lehetővé teszi az NLP kéréseket a csevegőrobotokhoz és a természetes nyelvű kalóriaszámlálókhoz
Élelmiszer-adatbázis kérések
Elemzési kérelmek: https://api.edamam.com/api/food-database/v2/parser
Élelmiszer-adatbázis szöveges keresése
Az elemző hozzáférési pont kezeli az élelmiszerek szöveges keresését, valamint az élelmiszerek szűrőit, például jelenlét-specifikus tápanyagtartalmat vagy allergének kizárását
- Keressen egy kifejezést vagy kulcsszót az NLP használatával, hogy élelmiszer-entitásokat kapjon belőle.
- Szerezzen alapvető táplálkozási tényeket és összetevőket minden egyes ételhez
- Keressen egy ételt 28 tápanyag megadott tápanyagmennyisége alapján
- Keressen egy adott márkán belüli ételeket
- Az élelmiszer-naplózási kontextus lehetővé teszi a kérelmet, amely nem tartalmaz mennyiséget, és a várható mennyiségeket javasolja számukra.
Elemző kérése
GET kérést fog használni az elemző eléréséhez. A UPC-nek vagy az ingr-nek jelen kell lennie egy érvényes kéréshez
Amikor kulcsszó szerint keres
app_id | Igen | Húr | Az Ön 3 léptékű alkalmazásazonosítója |
app_key | Igen | Húr | Az Ön 3 léptékű alkalmazáskulcsa (vegye figyelembe, hogy az app_id/app_key rendezett pár) |
ingr | Igen | Húr | Kulcsszó keresési paraméter, amely megtalálható az élelmiszer nevében. Nem szükséges, ha az upc jelen van |
upc | Igen | Húr | Érvényes UPC kód. Nem szükséges, ha ingr van jelen |
táplálkozás-típusú | nem | Húr | Ha tápérték-típus = naplózásra van állítva, bekapcsolja az élelmiszer-naplózási funkciót |
Egészség | nem | enum | Egészségügyi címke: A jelen diéta végén található diéta és egészségügyi címkék táblázatban felsorolt egyik egészségügyi api paraméter. Például „földimogyoró-mentes”, „fa-dió-mentes”, „szója-mentes”, „hal-mentes”, „kagyló-mentes” |
kalória | nem | hatótávolság | A formátum kalória = RANGE, ahol a RANGE helyébe a kcal-ban megadott érték lép. A RANGE a MIN +, MIN - MAX vagy MAX egyikében van, ahol a MIN és MAX nem negatív egész számok. A + szimbólumot megfelelően kell kódolni. Példák: A „kalória = 100–300” minden olyan ételt eredményez, amelynek adagonként 100 és 300 kcal közötti a tartalma. |
oldal | nem | egész szám | Elavult paraméter, lásd helyette a Lapozás részt. A paraméter támogatása hamarosan megszűnik. Az oldalparaméter az eladott oldal eredményeit sorolja fel (oldalanként 20). Az első oldal a „0” oldal. |
kategória | nem | húr | Kategória as- generikus ételek, általános étkezések, csomagolt ételek, gyorskaják |
categoryLabel | nem | húr | Elem típusa - étel vagy étkezés. Az étel általában az étkezés alapvető eleme |
Ételnaplózási kontextus használata esetén
Ha az élelmiszer-naplózási kontextus funkciót használja, az alábbi módon módosítja az NLP-választ
- Tételeket mennyiség nélkül is beküldhet. Az Edamam megpróbálja összehangolni őket és mennyiséget rendelni hozzájuk a várható adagméret alapján
- Az API eredményeként csak a közvetlen fogyasztásra kész ételek kerülnek vissza - nincsenek nyers húsok, nyers száraz áruk, például a nyers rizs
- Az Edamam csak egy és két részből álló összetett elemeket képes kezelni - azaz a „csirke” vagy a „rizs ÉS csirke”. Ellenőrizze, hogy az URL megfelelően van-e kódolva
Lapszámozás
A következő oldal megszerzéséhez az API felhasználónak követnie kell az eredmény JSON „_linkek” szakaszának „következő” linkjét, amely így néz ki:
Keresés tápanyagtartomány szerint
Kulcsszó szerinti keresésnél megadhat tápanyagtartományokat is paraméterek hozzáadásával a következő formában:
tápanyagok [NTR] = RANGE ahol
Az NTR a következők egyike: CA, CHOCDF, CHOLE, FAMS, FAPU, FASAT, FAT, FATRN, FE, FIBTG, FOLDFE, K, MG, NA, NIA, P, PROCNT, RIBF, SUGAR, THIA, TOCPHA, VITA_RAE, VITB12, VITB6A, VITC, VITD, VITK1 vagy ZN;
A RANGE a MIN +, MIN - MAX vagy MAX egyikében van, ahol a MIN és MAX nem negatív egész számok.
Például:
tápanyagok [CA] = 50 + legalább 50 mg kalciumot jelent, ahol az „50 +” értéket megfelelően „50% 2B” -ként kell kódolni
tápanyagok [FAT] = 30 legfeljebb 30 g zsírt és
a tápanyagok [FE] = 5-10 jelentése 5 mg és 10 mg közötti vas
A keresési kérelmekben több tápanyagtartományt is kombinálhat
CA | Kalcium | mg | ENERC_KCAL | Energia | kcal |
CHOCDF | Szénhidrát | g | NIA | Niacin (B3) | mg |
CHOLE | Koleszterin | mg | P | Foszfor | mg |
FAMS | Egyszeresen telítetlen | g | PROCNT | Fehérje | g |
FAPU | Többszörösen telítetlen | g | RIBF | Riboflavin (B2) | mg |
FASAT | Telített | g | CUKOR | Cukrok | g |
ZSÍR | Zsír | g | THIA | Tiamin (B1) | mg |
FATRN | Ford | g | TOCPHA | E-vitamin | mg |
FE | Vas | mg | VITA_RAE | A-vitamin | æg |
FIBTG | Rost | g | VITB12 | B12-vitamin | æg |
FOLDFE | Folát (egyenértékű) | æg | VITB6A | B6-vitamin | mg |
K | Kálium | mg | VITC | C vitamin | mg |
MG | Magnézium | mg | VITD | D-vitamin | æg |
NA | Nátrium | mg | VITK1 | K-vitamin | æg |
Példa értelmező kérésre
Példaként tegyük fel, hogy az élelmiszer-adatbázisban egyezéseket akarunk találni egy piros almára. Akkor nekünk kell URL -encode ez a húr. Ebben az esetben ez azt jelenti, hogy a szóközöket egyszerűen kicseréljük% 20-ra, így „piros% 20apple” lesz.
Íme egy példa a curl használatára:
MEGJEGYZÉS: Kérjük, győződjön meg arról, hogy a pontos API-hoz készített hitelesítő adatokat használta, mivel azok alkalmazás- és tervspecifikusak. A $ < >a jelölés a bemenet típusát jelenti, és NEM szerepelhet magában a kérésben.
Bekapcsolt „élelmiszer-naplózás”:
Elemző válasza
Élelmiszertárgyak listája, minden egyes élelmiszer-objektummal: kcal/100 gramm, fehérje/100 gramm, szénhidrát/100 gramm, az élelmiszer márkája, ha az élelmiszer általános vagy hamis, az élelmiszerre vonatkozó meglévő intézkedések felsorolása, étel |
A megadott URL nem található, vagy nem sikerült lekérni |
Elemezve
foodId | húr | Egyedülálló élelmiszer-azonosító |
címke | húr | Címke megjelenítése |
intézkedés | Intézkedés | Mérési URI-t és megjelenítő címkét tartalmaz |
tápanyagok | Tápanyagok | Kcal, fehérje, zsír, szénhidrát mennyisége, ha> 0 |
MEGJEGYZÉS: A válasz „elemzett” szakasza tartalmazza a kérés NLP általi kezelésének közvetlen eredményét, mennyiségre/mértékre/ételre lebontva. Ezeket az adatokat felhasználják a „tippek” szakasz eredményeinek előállításához.
Tippek
foodId | húr | Egyedülálló élelmiszer-azonosító |
címke | húr | Címke megjelenítése |
intézkedés | Intézkedés | Tartalmaz egy listát a rendelkezésre álló, meghatározott élelmiszer-mérték URI-ról és a címkékről |
tápanyagok | Tápanyagok | Kcal, fehérje, zsír, szénhidrát mennyisége, ha> 0 |
márka | húr | Például a „Burger King” márka a „hamburger” tételhez |
kategória | húr | Kategória: általános ételek (nem márkás alapanyagok), általános ételek (nem márkás generikus ételek), csomagolt ételek (vonalkóddal ellátott termékek), gyorsételek (éttermi láncok) |
categoryLabel | húr | A cikk típusa ételként vagy étkezésként. Az étel általában az étkezés alapvető eleme |
kép | húr | URL-t tartalmaz az élelmiszer képéhez, ha elérhető |
szolgálóMéretek | Intézkedés | A csomagolás címkéjén felsorolt, a csomagolt élelmiszerek adagolási méretét tartalmazza |
Példa válasz a szöveges keresésre
* Táplálkozási adatok kérései
Táplálkozási igények: https://api.edamam.com/api/food-database/v2/nutrients
Az elemzői kérésre adott válaszban megkapja az élelmiszer-azonosítót minden adatbázis-egyezéshez. Az élelmiszer-azonosító és az elemző által biztosított URI-mérő segítségével kérelmet nyújthat be a tápanyagok hozzáférési pontjához. A tápanyagok hozzáférési pontjai a táplálékot étrend- és egészségügyi címkékkel adják vissza az adott élelmiszermennyiséghez.
Tápanyagok kérése
A kérelem tartalmának JSON objektumnak kell lennie a következő formátumban:
összetevők | Igen | Hozzávaló[] | összetevő (egy összetevő tömbje) |
Hozzávaló
Mennyiség | Igen | szám | Az összetevő mennyisége |
intézkedésURI | Igen | Húr | az értelmező válaszában kapott mérési URI egyikét |
foodId | Igen | Húr | Az elemző válaszban kapott élelmiszer-azonosító) |
Az egyes ételekre vonatkozó Parser válasz minden speciális intézkedést tartalmaz erre az ételre. Például, ha egy almának van egy „szelet” nevű sajátos egysége, akkor az API válaszával érkezik .
Az API által biztosított egységeken kívül az Edamam gyakorlatilag minden étel tömeg- és térfogatmérését támogatja. Az Edamam nem adja vissza őket az API-ban, mivel feleslegessé és nehézkessé teszi a választ.
Az alábbiakban felsoroljuk azokat a szokásos támogatott intézkedéseket, amelyek az étellel együtt visszaküldött intézkedéseken kívül alkalmazhatók:
Uncia | http://www.edamam.com/ontologies/edamam.owl#Measure_ounce |
Gramm | http://www.edamam.com/ontologies/edamam.owl#Measure_gram |
Font | http://www.edamam.com/ontologies/edamam.owl#Measure_pound |
Kilogramm | http://www.edamam.com/ontologies/edamam.owl#Measure_kilogram |
Csipet | http://www.edamam.com/ontologies/edamam.owl#Measure_pinch |
Liter | http://www.edamam.com/ontologies/edamam.owl#Measure_liter |
Folyadék uncia | http://www.edamam.com/ontologies/edamam.owl#Measure_fluid_ounce |
Gallon | http://www.edamam.com/ontologies/edamam.owl#Measure_gallon |
Pint | http://www.edamam.com/ontologies/edamam.owl#Measure_pint |
Kvart | http://www.edamam.com/ontologies/edamam.owl#Measure_quart |
Milliliter | http://www.edamam.com/ontologies/edamam.owl#Measure_milliliter |
Csepp | http://www.edamam.com/ontologies/edamam.owl#Measure_drop |
Csésze | http://www.edamam.com/ontologies/edamam.owl#Measure_cup |
Evőkanál | http://www.edamam.com/ontologies/edamam.owl#Measure_tablespoon |
Teáskanál | http://www.edamam.com/ontologies/edamam.owl#Measure_teaspoon |
Egy adott intézkedés tartalmazhat vagy nem tartalmazhat „minősített” mezőt. Ez a mező tartalmazza az alapméret lehetséges mértékminősítőit, amelyek mindegyikének saját URI-ja van. Például az „alma” tételnél az egyik mérték „egész”, a „nagy”, a „kicsi” stb.
Az URI mérőszámmal együtt benyújtva a minősítő URI megváltoztatja az alapméret súlyát.
Az API visszaadja a megadott összetevő táplálkozási elemzését.
Minden ételhez tartozik a hozzá tartozó speciális egységek listája. Például, ha egy almának van egy szelet nevű egysége, akkor az API válaszával érkezik .
Példa tápanyagok kérésére
A „tápanyagok” eléréséhez POST kérést fog használni.
Íme egy példa a curl használatára:
Ez elküldi az food.json fájlt feldolgozásra.
Itt található az food.json fájl tartalma:
Ha rendelkezésre áll egy minősítő egy adott mérőszámhoz, az a következő módon használható:
Tápanyagok reakciója
200 OK | alkalmazás/json | FoodInfo | Tárgy, amely az adagok számát (hozam), az étel összes kalóriáját (kalóriákat), tápanyag-tartalmat tápanyagtípusonként (összesenTápanyagok, összesnapi), étrendet és egészségügyi besorolást (étrendcímkék, egészségügyi címkék) |
404 nem található | szöveg/html | HTML | A megadott URL nem található, vagy nem sikerült lekérni |
422 Feldolgozható entitás | szöveg/html | HTML | Nem sikerült elemezni a kérést vagy kivonni a táplálkozási információkat |
555 | szöveg/html | HTML | A megfelelő feldolgozáshoz nem megfelelő minőségű szöveg |
Példa tápanyagok válaszára
Nutirion
uri | húr | Ontológia azonosító |
kalória | úszó | Teljes energia, kcal |
összesenTápanyagok | NutrientInfo [*] | Összes tápanyag |
totalDaily | NutrientInfo [*] | % Napi érték |
diétaCímkék | enum [] | Diétás címkék: „kiegyensúlyozott”, „magas fehérjetartalmú”, „magas rosttartalmú”, „alacsony zsírtartalmú”, „alacsony szénhidráttartalmú”, „alacsony nátriumtartalmú” |
egészségcímkék | enum [] | Egészségügyi címkék: „vegán”, „vegetáriánus”, „tejmentes”, „alacsony cukortartalmú”, „alacsony zsírtartalmú abs”, „cukortudatos”, „zsírmentes”, „gluténmentes”, „búzamentes” ” |
A „Táplálkozási címkék meghatározása” című témakörért olvassa el a dokumentum alján található táblázatot
NutrientInfo
uri | húr | Ontológia azonosító |
címke | húr | Címke megjelenítése |
Mennyiség | úszó | A meghatározott egységek mennyisége |
Mértékegység | húr | Egységek |
Hozzávaló
uri | húr | Ontológia azonosító |
Mennyiség | úszó | A meghatározott intézkedés mennyisége |
intézkedés | Intézkedés | Intézkedés |
súly | úszó | Teljes tömeg, g |
étel | Étel | Étel |
UPC vagy vonalkód keresés
Lehetővé teszi az elem keresését UPC/vonalkód szám alapján.
Ez egy olyan szolgáltatás, amely lehetővé teszi UPC vagy vonalkód beküldését, és annak megfelelő találást az élelmiszer-adatbázisban.
app_id | Igen | Húr | Az Ön 3 léptékű alkalmazásazonosítója |
app_key | Igen | Húr | Az Ön 3 léptékű alkalmazáskulcsa (vegye figyelembe, hogy az app_id/app_key rendezett pár) |
upc | Igen* | szám | Az élelmiszer UPC- vagy vonalkódszáma |
Íme egy példa a curl használatára:
"https://api.edamam.com/api/food-database/v2/parser?upc=&app_id=&app_key="
Automatikus kiegészítés kérése
Az Edamam kényelmes autocomplete funkciót biztosít, amely felhasználható az összetevők keresésekor.
Pálya: http://api.edamam.com/auto-complete
A végpont javaslatokat ad a hozzá benyújtott szöveghez. Itt egy példa
A táplálkozási címkéket receptek és ételek egyaránt megosztják. Az Edamam hozzárendeli őket a CPG élelmiszerek címkéjén szereplő összetevők és az egyes receptek alapanyagai alapján.
Típusok
Az összetett típusokat a JSON reprezentációjuk alapján írják le.
A leírások során a következő jelöléseket használják:
- Az integer, float és string a JavaScript primitív típusokat jelenti: egész, float és string
- az enum olyan karakterlánc mezőt jelent, amely csak egy előre meghatározott tartomány értékeit veszi fel (a tartomány adott esetben meg van adva)
- T [] a T típusú objektumok tömbjét jelenti
- A T [*] olyan objektumot jelöl (asszociatív térkép), amelynek minden mezője (eleme) T típusú .
- Élelmiszer, amely késleltetheti a menopauzát - először a nők számára
- Élelmiszer terápiák aranyérrel - TCM Wiki
- Élelmiszer, amely meghódította a világ spártai fekete húslevesét, Danny Kane a History Medium feltárásával
- A csontokat építő étel
- Ételcserék a jobb étkezéshez