FrontPage

分析API/栄養分析

分析APIシステムは、フロントエンドとして「実行部(=API)」と「設定部(ルール指定)」で構成されています。
設定部についても json で規定される設定ルールをサーバーに送信するためAPIの概念がありますが、現状、エディターを含む SaaS 形式で提供しているため、ドキュメントは未だありません。
実行部の定義となる本ドキュメントでは、食事内容の指定方法を中心にしていますが、実行部が利用する分析エンジンでは検索APIの機能を内部で活用しているため、分析する栄養素を検索APIがレスポンスする必要があり、契約としても実装としても検索と分析はペアとなっているため、検索API分類の中に本APIを定義しています。
※つまり、本分析APIを利用される場合には、分析内容に見合った検索APIのご契約が必要です。

API情報

名称栄養分析エンジン
APIバージョン2
認証タイプなし
URLhttps://(APIサーバー名)/services/api2/(アクセスコード)/nutranalyze/json/
MethodPOST

概要

予め設定されたルールに従って食事データを分析する

アクセス手順

jsonで記述した食事データをリクエストボディに設定し、URLに対してPOSTを行う。

食事データフォーマット

食事データはjsonで記述する。

食事データ

アップロードする食事データを記述する。

内容
ver数値1(定数) 必須
type文字列nutranalyze(定数) 必須
analyzer文字列栄養分析ルールID 必須
authkey文字列栄養分析ルール認証キー 設定時必須
callbackdataオブジェクトコールバックオブジェクト 返却データに付与される 任意
profileプロフィールオブジェクト分析対象の年齢性別等 任意
meals食事群オブジェクト分析する食事データ 必須

プロフィールオブジェクト

分析対象の人物属性を記述する。

内容
type文字列profile(定数) 必須
dataオブジェクトデータ 必須
data.name文字列名前 任意
data.age数値年齢 任意
data.sex文字列性別 男性=male 女性=female 任意
data.height数値身長(cm) 任意
data.weight数値体重(kg) 任意
data.intensity数値生活活動強度 任意

食事群オブジェクト

食事の集合を記述する。

内容
type文字列meals(定数) 必須
data食事オブジェクトの配列データ 必須

食事オブジェクト

食事を記述する。

内容
type文字列meal(定数) 必須
data食品オブジェクトの配列データ 必須

食品オブジェクト

食品を記述する。

内容
type文字列food(定数) 必須
date日時文字列食事日時 任意
daypart文字列食事時間帯 朝=(morning,00) 昼=(daytime,01) 夜=(night,03) その他=(other,04-07) 任意
dataオブジェクトデータ 必須
data.objectid文字列食品のオブジェクトID 必須
data.quantity数値食品の人前 必須

食事データ例

{
 {
  "ver": 1,
  "type": "nutranalyze",
  "analyzer": "testrule1",
  "authkey": "password0",
  "callbackdata": {
    "user-defined-data1": "ABCDEFG",
  },
  "profile": {
    "type": "profile",
    "data": {
      "name": "ユーザーの名前",
      "age": 25,
      "sex": "male",
      "height": 165,
      "weight": 60,
      "intensity": 1.3
    }
  },
  "meals": {
    "type": "meals",
    "data": [
      {
        "type": "meal",
        "date": "2020/08/21 11:00:00",
        "daypart": "00",
        "data": [
          {
            "type": "food",
            "data": {
              "objectid": "FO7de5bd6a4cec65c8213902c7",
              "quantity": 1.5
            }
          },
          {
            "type": "food",
            "data": {
              "objectid": "FO3cc1bb8745d44ff97ba8c6fe",
              "quantity": 1
            }
          }
        ]
      }
    ]
  }
 }
}

レスポンス

レスポンスコードは200を返し、レスポンスはjson形式である。

内容
analyzer栄養分析ルール情報オブジェクト分析に使用した栄養分析ルールの情報
callbackdataオブジェクトコールバックオブジェクト
analyze分析結果オブジェクト分析の結果
resultboolean実行結果

栄養分析ルール情報オブジェクト

内容
analyzer文字列栄養分析ルールID
name文字列栄養分析ルールの名前
comment文字列栄養分析ルールのコメント

分析結果オブジェクト

内容
steps数値実行したステップ数
text文字列分析エンジンが生成した文字列

レスポンス例

{
 {
  "analyzer": {
    "analyzerid": "testrule1",
    "name": "テストデータその2",
    "comment": "開発用"
  },
  "callbackdata": {
    "user-defined-data1": "ABCDEFG",
  },
  "analyze": {
    "steps": 12,
    "text": "ユーザーの名前 さんの基礎代謝は1543kcalです。生活活動強度は1.3、1日の所要カロリー量は2006kcalです。\n T/U平均スコアは 3.5 でした。\nこの食事の糖質の総摂取量は378gでした。\nこの食事の中で最も糖質摂取量の多い食品は「チャーシューメン」において105.6gでした。\n糖質を最も多く含む素材は「ごはん」に121.3gでした。\n豚肉類を50g以上食べています。食べた量は142.3gでした。\nキャベツを最も多く含む食品は「餃子(5個)」で31.5gでした。\n食事のNutriscoreの加重平均値は3.5でした。\n野菜、海藻、豆製品やコンニャク類など、食物繊維なども意識して積極的に取りましょう。\n今週の津川スコア1の摂取量の平均値は 72.4gです。\n先週の津川スコア1の摂取量の平均値は 199.5gです。\nこの食事の添加糖は7.1gです。\nこの食事の良い脂肪は29354.2mgです。\n"
  },
  "result": true
 }
}

バージョン

このドキュメントのバージョン情報

Version1
Revision1
Editorwest

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-08-22 (土) 19:40:21