2026-01-14 11:43:46 -03:00
|
|
|
PARAM image AS STRING
|
|
|
|
|
|
|
|
|
|
barcode = SCAN BARCODE image
|
|
|
|
|
IF NOT barcode THEN
|
2026-01-14 12:23:03 -03:00
|
|
|
RETURN WITH error AS "No barcode found"
|
2026-01-14 11:43:46 -03:00
|
|
|
END IF
|
|
|
|
|
|
|
|
|
|
ean = barcode.data
|
2026-01-14 12:23:03 -03:00
|
|
|
cached = FIND "products" WITH "global_trade_number = '" + ean + "'"
|
2026-01-14 11:43:46 -03:00
|
|
|
IF cached THEN
|
|
|
|
|
RETURN cached
|
|
|
|
|
END IF
|
|
|
|
|
|
|
|
|
|
data = GET "https://world.openfoodfacts.org/api/v0/product/" + ean + ".json"
|
|
|
|
|
IF data.product THEN
|
2026-01-14 12:23:03 -03:00
|
|
|
SAVE "products" WITH name AS data.product.product_name, brand AS data.product.brands, global_trade_number AS ean, description AS data.product.generic_name, category AS data.product.categories, net_weight AS data.product.quantity
|
|
|
|
|
RETURN FIND "products" WITH "global_trade_number = '" + ean + "'"
|
2026-01-14 11:43:46 -03:00
|
|
|
END IF
|
|
|
|
|
|
2026-01-14 12:23:03 -03:00
|
|
|
info = LLM "Search product info for EAN: " + ean + ". Return JSON with name, brand, description, category"
|
|
|
|
|
SAVE "products" WITH name AS info.name, brand AS info.brand, description AS info.description, category AS info.category, global_trade_number AS ean
|
|
|
|
|
|
|
|
|
|
RETURN FIND "products" WITH "global_trade_number = '" + ean + "'"
|