Escenarios comunes
Funciones reales, construidas con las cuatro palancas de Consultas. Cada una es un request que puedes llevar directo a tu aplicación.
Código de barras → alimento
El flujo canónico de "escanear un producto": resuelve un código de barras a un
alimento con un filtro exacto. Un data vacío significa que no hay coincidencia en
el catálogo.
Manda el código tal como se escaneó. Los códigos se guardan como GTIN de 14
dígitos, y el filtro rellena tu valor a esa forma antes de comparar. El UPC de 12
dígitos que te da un escáner (041570110645) encuentra el mismo alimento que
00041570110645:
curl -G https://api.noms.sh/v1/foods \ --data-urlencode "barcode=041570110645" \ --data-urlencode "include=brand" \ -H "Authorization: Bearer $NOMS_KEY"
Buscador tolerante a errores
Alimenta un autocompletado con ?q=. Recorta la respuesta a solo lo que muestra el
desplegable con fields[foods], y mantén la página pequeña para resultados
ágiles. Un fieldset devuelve exactamente los campos que nombras: pide id si
lo quieres de vuelta:
curl -G https://api.noms.sh/v1/foods \ --data-urlencode "q=chedar chese" \ --data-urlencode "fields[foods]=id,name,brand_id" \ --data-urlencode "page_size=5" \ -H "Authorization: Bearer $NOMS_KEY"
Desglose nutricional completo
Renderiza una etiqueta nutricional: obtén un alimento con sus nutrientes y sus
tamaños de porción, y convierte cada valor a la porción.
Datos nutricionales explica el modelo completo; la versión
corta es value × serving[basis_unit] / 100.
curl -G https://api.noms.sh/v1/foods/TIgbNPnzCIjX \ --data-urlencode "include=nutrients,serving_sizes" \ -H "Authorization: Bearer $NOMS_KEY"
Rankear y filtrar por nutriente
Construye una función de dieta o fitness, como "las carnes más altas en proteína",
ordenando por el valor de un nutriente y filtrando por grupo. Esta recorta la
respuesta con fields[foods], así las filas vuelven solo con las claves que la
lista necesita:
curl -G https://api.noms.sh/v1/foods \ --data-urlencode "food_group_id=MEAT" \ --data-urlencode "sort=-nutrient[PROTEIN]" \ --data-urlencode "fields[foods]=id,name,basis_unit" \ --data-urlencode "page_size=3" \ -H "Authorization: Bearer $NOMS_KEY"
Dos cosas que conviene saber al ordenar por un nutriente. Ordenar por él no lo
incluye en la respuesta: agrega include=nutrients si quieres los valores. Y
cuando lo hagas, nombra también nutrients en fields[foods], o el fieldset
recortará la relación incorporada junto con todo lo que no pediste.
Sigue explorando
Estos son puntos de partida. Combina q, los filtros, sort, include y fields
libremente. El explorador de la API lista cada campo y
operador que puedes alcanzar.
Próximos pasos
- Límites y cuotas: qué permite cada plan y cómo mantenerte dentro.