#author("2020-04-29T22:41:34+09:00","","")
[[FrontPage]]

&size(24){データAPI/栄養素加減算操作};

* API情報 [#q6190828]

|~名称|栄養素加減算操作|
|~APIバージョン|2|
|~認証タイプ|なし|
|~URL|&br;https://(APIサーバー名)/services/api2/(アクセスコード)/calc/json/(オブジェクトID)/|
|~Method|GET|
|~データ更新頻度目安|1日|

* 概要 [#jfe13a2c]

指定されたオブジェクトIDの食品に対して、別途指定した食品の栄養素を加算又は減算する。&br;

* アクセス手順 [#ya59d11f]

** クエリー [#l9016c71]

https://(APIサーバー名)/services/api2/(アクセスコード)/calc/json/(計算オブジェクトID)/?plusobject1=(加算オブジェクトID),(加算分量)&minusobject1=(減算オブジェクトID),(減算分量) &br;
(計算オブジェクトID) の食品の計算結果を返却する。


** 操作オブジェクト指定 [#m051cee1]

操作オブジェクト指定は、加算または減算するオブジェクトを指定する。

|パラメータ名|内容|形式|省略可否|h
|plusobjectN|加算オブジェクト&br;Nは1から始まる添字。Nは1ずつ増加しなければならない。|(オブジェクトID),(分量指定子)|plusobjectまたはminusobjectのいずれか必須|
|minusobjectN|減算オブジェクト&br;Nは1から始まる添字。Nは1ずつ増加しなければならない。|(オブジェクトID),(分量指定子)|plusobjectまたはminusobjectのいずれか必須|

** 分量指定子 [#g830207e]

gで終わる数値 = 操作オブジェクトの量を重量(g)で指定する。操作オブジェクトの栄養素のunit値に基づいて計算される。&br;
uで終わる数値 = 操作オブジェクトの量を人前で指定する。1人前量は、操作オブジェクトの分量分となる。&br;
数値のみ = 人前で指定する。操作オブジェクトが計算オブジェクトの構成食材に含まれる場合は構成食材の分量分が1人前量となる。操作オブジェクトが計算オブジェクトの構成食材に含まれない場合は、操作オブジェクトの分量分が1人前量となる。&br;
※1人前量による自動加減算の分量については、原則として不確化処理後の値とし、本API機能についても、厳格な提供審査及びアクセス従量制でのみの提供となる前提とする。

** クエリー例 [#ea78dac9]

 https://(APIサーバー名)/services/api2/(アクセスコード)/calc/json/FO3c88c251479fddf92b4fa706/?minusobject1=FOb668820346d308702d4cabbd%2C1
 
** レスポンス [#b7e56e30]

レスポンスコードは200を返し、レスポンスはjson形式である。&br;
指定されたオブジェクトIDの詳細情報が存在しない場合、又は食品でない場合は、空のオブジェクトが返される。クエリー書式誤り等の場合はレスポンスコード404が返される。&br;

 {
   "name" : 食品名,
   "objectid" : オブジェクトID,
   "categorytree" : [
     第1階層カテゴリー名,
     第2階層カテゴリー名,
     第3階層カテゴリー名
   ],
   "subsubattr" : {
     "gaishoku" : 外食フラグ 0 or 1,
     "kakou" : 加工食品フラグ 0 or 1,
     "takeout" : テイクアウトフラグ 0 or 1,
   },
   "shopname" : メーカー名,
   "(栄養素名)" : (栄養素量),
   "(栄養素名)" : (栄養素量),
    :
   "calc" : [
     {	計算オブジェクト
       "op" : 計算種別 minusobject/plusobject
       "objectid" : オブジェクトID
       "quantity" : 分量
     },
     :
   ],
 }, 
 
** レスポンス例 [#i994a280]

#html{{
<pre class="brush:xml;">
 {
  "name":"\u30d2\u30ec\u30ab\u30c4\u5b9a\u98df",
  "yomi":"\u3072\u308c\u304b\u3064\u3066\u3044\u3057\u3087\u304f",
  "objectid":"FO3c88c251479fddf92b4fa706",
  "unit":650,
  "stuff_e":650,
  "stuff_p":40,
  "stuff_f":10,
  "stuff_c":90,
  "stuff_fiber":6,
  "carbo":90,
  "categorytree":
  [
    "\u548c\u98df",
    "\u5b9a\u98df\/\u30bb\u30c3\u30c8",
    "\u8089\u6599\u7406\u5b9a\u98df"
  ],
  "shopname":"\u5916\u98df",
  "calc":
  [
    {
      "op":"minusobject",
      "objectid":"FOb668820346d308702d4cabbd",
      "quantity":1
    }
  ]
 }</pre>
}}

* 考慮事項 [#wa8c2055]

本APIの返却するデータは、クライアント側で適切にキャッシュ等を行い、アクセス量を低減させることで更に効率化されると考えられる。

* バージョン [#o0becc47]

このドキュメントのバージョン情報
|Version|1|
|Revision|1|
|Editor|west|

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS