データAPI/栄養素の範囲指定による検索
※本API機能は追加オプションご契約の方のみがご利用になれるものです。
※本API機能はご契約栄養素種類が一定数以上の場合、即時にはご提供できない場合がありますので、ご相談下さい。
名称 | 栄養素の範囲指定による検索 |
---|---|
APIバージョン | 2 |
認証タイプ | なし |
URL | https://(APIサーバー名)/services/api2/(アクセスコード)/search/classify/json/主キー栄養素コード/ https://(APIサーバー名)/services/api2/(アクセスコード)/search/classify/json/主キー栄養素コード/開始位置/表示個数/ |
Method | GET |
データ更新頻度目安 | 1週間 |
主キー栄養素コードに指定した栄養素が指定範囲の食品を含む食品を検索し、カスタムフィルター及びカスタムソートを実施する。
フィルター処理は、文言除外フィルター、文言限定フィルター、構成要素除外フィルター、構成要素限定フィルター、栄養素値フィルターの各処理が実施される。
指定された栄養素について、昇順または降順によって、結果をソートする。
カスタムソートに主キー栄養素コード以外も指定可能だが、この場合はレスポンスの所要時間が増加する。
栄養素値フィルターを指定しない場合、または指定範囲に含まれる食品数が多数になる場合、結果に含まれる食品は一部に限定される。このため、栄養素値フィルターを可能な限り狭く指定することが推奨される。
複数の栄養素でフィルターする場合、最も狭い範囲を指定する栄養素を主キー栄養素とし、その他の栄養素を栄養素値フィルターに設定すること。
https://(APIサーバー名)/services/api2/(アクセスコード)/search/classify/json/(主キー栄養素コード)/?(カスタムフィルター条件)
主キー栄養素コードで検索した結果にカスタムフィルター条件を適用して返却する。
https://(APIサーバー名)/services/api2/(アクセスコード)/search/classify/json/(主キー栄養素コード)/(開始位置)/(表示個数)/?(カスタムフィルター条件)
主キー栄養素コードで検索した結果にカスタムフィルター条件を適用し、0から始まるインデックスの(開始位置)番目から、(表示個数)個のアイテムを返却する。
検索文字列がマルチバイトの場合は、文字コードをUTF-8としURLエンコードを施したものとする。
クエリー (GET) の最大値は 8192 Byte(8KB) とする。
カスタムフィルターは、クエリー文字列としてクエリー末尾に付加する。 文字列パラメータがマルチバイトの場合は、文字コードをUTF-8としURLエンコードを施したものとする。 カスタムフィルター条件は省略可能であり、省略されたものは実施されない。
パラメータ名 | 内容 | 形式 | 省略可否 |
exword | 文言除外フィルター指定文字列 複数指定時は半角スペースで区切る | 文字列 | 省略可・未指定時非実施 |
excond | 文言除外フィルター除外条件 | OR条件=or AND条件=and | exword指定時必須 |
inword | 文言限定フィルター指定文字列 複数指定時は半角スペースで区切る | 文字列 | 省略可・未指定時非実施 |
incond | 文言限定フィルター除外条件 | OR条件=or AND条件=and | inword指定時必須 |
exelement | 構成要素除外フィルター指定objectid 複数指定時は半角スペースで区切る | 文字列 | 省略可・未指定時非実施 |
execond | 構成要素除外フィルター除外条件 | OR条件=or AND条件=and | exelement指定時必須 |
inelement | 構成要素限定フィルター指定objectid 複数指定時は半角スペースで区切る | 文字列 | 省略可・未指定時非実施 |
inecond | 構成要素限定フィルター除外条件 | OR条件=or AND条件=and | exelement指定時必須 |
exstuff_idN | 栄養素値フィルター指定栄養素ID Nは1から始まる添字。Nは1ずつ増加しなければならない。 | 栄養素コード ※shopnameを例外的対象としexstuff_existNによる判定に対応 | 省略可・未指定時非実施 |
exstuff_upperN | 栄養素値フィルター範囲最大値 Nはexstuff_idに対応する添字。 | 数値 | exstuff_id指定時、exstuff_upper/exstuff_lower/exstuff_existのいずれか必須 |
exstuff_lowerN | 栄養素値フィルター範囲最小値 Nはexstuff_idに対応する添字。 | 数値 | exstuff_id指定時、exstuff_upper/exstuff_lower/exstuff_existのいずれか必須 |
exstuff_existN | 栄養素値フィルター存在指定 Nはexstuff_idに対応する添字。 | 存在時除外=exclude 非存在時除外=include | exstuff_id指定時、exstuff_upper/exstuff_lower/exstuff_existのいずれか必須 |
sort_id | カスタムソート指定栄養素ID | 栄養素コード | 省略可・未指定時非実施 |
sort_dir | カスタムソート順序 | 昇順=asc 降順=desc | sort_id指定時必須 |
https://(APIサーバー名)/services/api2/(アクセスコード)/search/classify/json/FO9ee10c4c46d307f56af1f494/0/100/?inword=ジョナサン&incond=and&exstuff_id1=carbo&exstuff_upper1=100&exstuff_lower1=20&sort_id=stuff_e&sort_dir=asc
レスポンスコードは200を返し、レスポンスはjson形式である。レスポンスされる食品数の最大値は 500 である。 検索結果が存在しない場合は長さ0の配列が返される。クエリー書式誤り等の場合はレスポンスコード404が返される。
{ "foods": [ { "name": 食品名, "yomi": 食品名よみ, "objectid": オブジェクトID, "unit": 分量, "stuff_e": カロリー, : "categorytree": [ 第1階層カテゴリー名, 第2階層カテゴリー名, 第3階層カテゴリー名, ], "shopname": メーカー名, "elements": [ { "elementid": 構成食材オブジェクトID, "elementunit": 構成食材分量 }, : ] }, { (食品データ) }, : ], }
{ "foods": [ { "name": "バヤリース アップル(1本450ml)(アサヒ飲料)", "yomi": "ばやりーす あっぷる いっぽんよんひゃくごじゅうみりりっとる あさひいんりょう", "objectid": "FO00ac44694f3b67c478583182", "unit": 450, "stuff_e": 238.5, "stuff_p": 0, "stuff_f": 0, "stuff_c": 58.5, "stuff_fiber": 0, "carbo": 58.5, "categorytree": [ "その他", "飲料", "果汁飲料" ], "shopname": "アサヒ飲料", "elements": [ { "elementid": "FO6c781bd746d3081a7a2c0543", "elementunit": 450 }, { "elementid": "FO90d07a4646d307d4789e8d73", "elementunit": 10 } ] } ], }
本APIの返却するデータは、クライアント側で適切にキャッシュ等を行い、アクセス量を低減させることが望ましい。
このドキュメントのバージョン情報
Version | 1 |
Revision | 1 |
Editor | west |