How to log your custom recipe

The document will guide you through the steps to create and log your custom meal

Overview

Custom recipes is a great way to quickly enter meals into your diary, they let you save food with multiple ingredients so you can quickly add it to your daily log. So, instead of adding individual food you eat at breakfast daily, you can create a "My Breakfast routine" recipe with all of these ingredients. So you time consuming will be way far better.

In this example, you will see how to create and log your custom recipe.

Requirements

  • To have your own common or branded food created (not mandatory)

API endpoints to use

Through the example, use the following endpoints in the same order as they are listed below:

Code Example

Find all the steps detailed below in this graphqlbin. Modify the code accordingly.

Example

Name of the recipe: Vegan Milkshake

Follow the 5 steps below to create the Vegan Milkshake recipe to be then logged into your dairy:

STEP 1: Find the foods to add to your recipe

In the case of this example, use the commonFoods to find the "Vanilla extract".

Request:

{
  commonFoods(query: "vanilla extract", first:1) {
    edges {
      node {
        id
        name
        nutrients {
          type
          amount
          name
          unit
        }
      }
    }
  }
}

Response

{
  "data": {
    "commonFoods": {
      "edges": [
        {
          "node": {
            "id": "Q29tbW9uRm9vZE5vZGU6YzYwZDljOWYtM2IyMy00ZTQxLWE3NDYtNDE2NmE4NzZhMjkz",
            "name": "Vanilla extract",
            "nutrients": [
              {
                "type": "CALCIUM_CA",
                "amount": 11,
                "name": "Calcium, Ca",
                "unit": "MG"
              },
              {
                "type": "POTASSIUM_K",
                "amount": 148,
                "name": "Potassium, K",
                "unit": "MG"
              },
              {
                "type": "ZINC_ZN",
                "amount": 0.11,
                "name": "Zinc, Zn",
                "unit": "MG"
              },
              {
                "type": "NIACIN",
                "amount": 0.425,
                "name": "Niacin",
                "unit": "MG"
              },
              {
                "type": "PANTOTHENIC_ACID",
                "amount": 0.035,
                "name": "Pantothenic acid",
                "unit": "MG"
              },
              {
                "type": "VITAMIN_B_6",
                "amount": 0.026,
                "name": "Vitamin B-6",
                "unit": "MG"
              },
              {
                "type": "FAT",
                "amount": 0.06,
                "name": "Total lipid (fat)",
                "unit": "G"
              },
              {
                "type": "CARBS",
                "amount": 12.65,
                "name": "Carbohydrate, by difference",
                "unit": "G"
              },
              {
                "type": "ENERGY",
                "amount": 288,
                "name": "Energy",
                "unit": "KCAL"
              },
              {
                "type": "WATER",
                "amount": 52.58,
                "name": "Water",
                "unit": "G"
              },
              {
                "type": "PROTEIN",
                "amount": 0.06,
                "name": "Protein",
                "unit": "G"
              },
              {
                "type": "ASH",
                "amount": 0.26,
                "name": "Ash",
                "unit": "G"
              },
              {
                "type": "ALCOHOL_ETHYL",
                "amount": 34.4,
                "name": "Alcohol, ethyl",
                "unit": "G"
              },
              {
                "type": "FIBER_TOTAL_DIETARY",
                "amount": 0,
                "name": "Fiber, total dietary",
                "unit": "G"
              },
              {
                "type": "IRON_FE",
                "amount": 0.12,
                "name": "Iron, Fe",
                "unit": "MG"
              },
              {
                "type": "MAGNESIUM",
                "amount": 12,
                "name": "Magnesium, Mg",
                "unit": "MG"
              },
              {
                "type": "PHOSPHORUS_P",
                "amount": 6,
                "name": "Phosphorus, P",
                "unit": "MG"
              },
              {
                "type": "SODIUM_NA",
                "amount": 9,
                "name": "Sodium, Na",
                "unit": "MG"
              },
              {
                "type": "COPPER_CU",
                "amount": 0.072,
                "name": "Copper, Cu",
                "unit": "MG"
              },
              {
                "type": "MANGANESE_MN",
                "amount": 0.23,
                "name": "Manganese, Mn",
                "unit": "MG"
              },
              {
                "type": "VITAMIN_A_IU",
                "amount": 0,
                "name": "Vitamin A, IU",
                "unit": "IU"
              },
              {
                "type": "DHA",
                "amount": 0,
                "name": "22:6 n-3 (DHA)",
                "unit": "G"
              },
              {
                "type": "EPA",
                "amount": 0,
                "name": "20:5 n-3 (EPA)",
                "unit": "G"
              },
              {
                "type": "DPA",
                "amount": 0,
                "name": "22:5 n-3 (DPA)",
                "unit": "G"
              }
            ]
          }
        }
      ]
    }
  }
}

FoodID to copy --> Q29tbW9uRm9vZE5vZGU6YzYwZDljOWYtM2IyMy00ZTQxLWE3NDYtNDE2NmE4NzZhMjkz

STEP 2: Create a specific food

In case you need to create a specific food, execute the createMyCommonFoods or createMyBrandedFoods. In the example below, we will create the "Vegan vanilla ice cream" common food:

mutation createMyCommonFoods {
  createMyCommonFoods(
    input: {
      name: "Vegan vanilla ice cream"
      description: "vegan vanilla ice cream"
      nutrients: [
        { amount: 124, unit: "MG", nutrient: SODIUM_NA }
        { amount: 124, unit: "MG", nutrient: POTASSIUM_K }
      ]
      portions: [{ amount: 45.33, unit: "G", gramWeight: 1 }]
    }
  ) {
    success
    message
  }
}
STEP 3: Find your created foods

Find the foods to include in your recipe. Execute the myCommonFoods or myBrandedFoods queries to find them. In the case of this example, use the myCommonFoods to find your already created ingredient which is the "Vegan vanilla ice cream".

Request:

{
  myCommonFoods {
    edges {
      node {
        id
        name
        nutrients{
          name
          type
          unit
          amount
        }
      }
    }
  }
}

Response:

{
  "data": {
    "myCommonFoods": {
      "edges": [
        {
          "node": {
            "id": "TXlDb21tb25Gb29kOjNpR2RjSUFCYjREdGhOVmFDQWpI",
            "name": "Vegan vanilla ice cream",
            "nutrients": [
              {
                "name": "Sodium, Na",
                "type": "SODIUM_NA",
                "unit": "MG",
                "amount": 124
              },
              {
                "name": "Potassium, K",
                "type": "POTASSIUM_K",
                "unit": "MG",
                "amount": 124
              }
            ]
          }
        },
      ]
    }
  }
}

From the response, copy the FoodId -> TXlDb21tb25Gb29kOjNpR2RjSUFCYjREdGhOVmFDQWpI

Each ID is different so make sure to copy the Id retrieved in your query response.

Use this query as many times as necessary until you find all the foods the recipe is required to have. See step 2 in case you need to create your food.

STEP 4: Create your own recipe

Use the Food IDs created previously to create your own recipe:

Request:

mutation createMyRecipe {
  createMyRecipe(
    input: {
      name: "Vegan Milkshake"
      tags: ["Vegan", "Snack"]
      ingredientLines: ["Almond Milk", "Vegan vanilla ice cream"]
      ingredients: [
        { foodId: "TXlDb21tb25Gb29kOjNpR2RjSUFCYjREdGhOVmFDQWpI", grams: 10},
        { foodId: "Q29tbW9uRm9vZE5vZGU6YzYwZDljOWYtM2IyMy00ZTQxLWE3NDYtNDE2NmE4NzZhMjkz", grams: 120}
      ]
      numberOfServings: 1
      mealTimes: [BREAKFAST, SNACK]
      courses: "Snack"
      instructions: "Put all ingredients on Blender"
    }
  ) {
    success
    message
     recipe { id name }
  }
}

Response:

{
  "data": {
    "createMyRecipe": {
      "success": true,
      "message": "My recipe has been saved",
      "recipe": {
        "id": "VXNlclJlY2lwZTpQeDFSZTN3QlY0Q1V6aWdSV2VqcQ==",
        "name": "Vegan Milkshake"
      }
    }
  }
}

Copy the "ID" retrieved from the recipe created to log the meal.

Optional: If you cannot get the "ID", you can execute the myRecipes query to get it.

STEP 5: Log your meal

Finally, log the meal based on your own recipe created:

Request:

mutation {
  addFoodLog (date:"2021-10-02", 
  foodId: "VXNlclJlY2lwZTpQeDFSZTN3QlY0Q1V6aWdSV2VqcQ==", 
  mealTime:SNACK,
  servings:2,)
    {
      success
      message
    }
  }

Response:

{
  "data": {
    "addFoodLog": {
      "success": true,
      "message": "Food log saved"
    }
  }
}

Last updated