- API
- نقاط النهاية
- /foods/search
Search foods by name
ابحث عن الأطعمة بالطريقة التي يكتبها بها مستخدم سجل الطعام. تمزج النتائج بين فهرسين: أطعمة عامة («موز»، «حليب كامل الدسم»)، وهي عادةً ما تشير إليه إدخالات السجل، ومنتجات معبأة من الفهرس الرئيسي لـ Tuduu. تحمل كل نتيجة مسبقًا عناصرها الغذائية الكبرى لكل 100 غرام وحصتها، لذلك لا يتطلب عرض نتيجة بحث أي استدعاء لاحق. تحتوي الصفحات على 15 عنصرًا، ولا يمكن ضبط حجمها. يفتح ما يصل إلى 5 أطعمة عامة الصفحة الأولى عندما يطابقها الاستعلام؛ وكل ما يأتي بعدها، في تلك الصفحة وفي كل صفحة لاحقة، يأتي من فهرس المنتجات المعبأة. للتمرير، أرسل القيمة 'meta.nextCursor' التي تلقيتها، من دون الحاجة إلى 'searchText': يحمل المؤشر الاستعلام بالفعل، وله الأولوية إذا أرسلت القيمتين. تعني قيمة 'nextCursor' الفارغة عدم وجود المزيد. يتوقف التمرير بعد أول 1000 منتج معبأ؛ حسّن الاستعلام للوصول إلى ما بعد ذلك. تتسامح المطابقة مع علامات التشكيل والمفرد والجمع والمعدّلات الإضافية: يعيد «قهوة محلاة» القهوة بدلًا من قائمة فارغة. تُعاد فقط الأطعمة ذات السعرات الحرارية المعروفة؛ وتقتصر النتائج المعبأة على الفئات الصالحة للأكل وعلى المنتجات التي تعلن عن علامة تجارية، لأن المنتج الموصوف باسمه فقط لا يمكن تمييزه عن المنتجات المكررة منه — وتظل هذه المنتجات قابلة للوصول باستخدام المعرّف. تأتي النتائج المعبأة التي تعلن عن حصة أولًا. الإيطالية فقط: تعيد نقطة النهاية هذه الرمز 406 لأي Accept-Language آخر، لأن أسماء الأطعمة العامة متاحة بالإيطالية فقط.
الطلب
FoodSearchRequest
object
FoodSearchRequest
searchText?
اسم الطعام النصي الحر المطلوب البحث عنه، كما قد يكتبه مستخدم سجل الطعام. يجب توفيره لبدء البحث؛ ويتم تجاهله عند إرسال 'cursor' أيضاً
cursor?
رمز مميز غير قابل للقراءة يُرجع كـ 'meta.nextCursor' بواسطة استدعاء سابق لجلب الصفحة التالية له. يتضمن الاستعلام بالفعل، لذلك لا حاجة إلى 'searchText' ويتم تجاهله عند إرسالهما معاً. لا ترسل cursor لبدء بحث جديد