リクエストAPI/食品情報提供/Getting started
APIにアクセスするために、以下の情報の振り出しを担当から受ける。
食品名(商品名)は必須である。その他の項目は任意である。 参考画像を活用して頂くと利便性が良いかと思われる。
※本ステップは貴社アプリ内での設計と実装になり、本APIとは直接関係はない。
リクエストAPI/食品情報提供 に従い、リクエストjsonを作成し、APIサーバーに送信するプロセスを開発する。
リクエスト本体のパラメータ dryrun を true に設定し、要求及び応答が正常に処理されることを確認する。
パラメータ dryrun を true に設定した場合、送信したデータは実際には登録されない。
フォーム https://(サーバー名)/api/h/eapirequest.php
htmlフォームとjavascript/jQueryを使用して、リクエスト生成を試行できる。送信するjson及び応答のjsonを確認できる。
APIの認証には、以下が必要である。
アクセス毎に、ナンスとしてランダムな16バイト以上の半角英数文字列を生成する。
アプリケーションシークレットの末尾にナンスを追加して、文字列全体のSHA256ハッシュ値を計算する。
アプリケーションキー、ナンス、ハッシュ値を、それぞれのパラメータとしてセットする。
リクエストの内容を、食品リクエストオブジェクトとして作成する。
食品名・商品名は必須であり、その他の項目は任意である。
参考情報として画像も添付可能である。受付可能なフォーマットはjpeg、1つのリクエストオブジェクトに対して2枚まで、1枚あたり2Mバイトまでで用意する。
リクエストオブジェクトは、複数個を同時に登録可能である。1つだけを登録する時も、objects パラメータが長さ1の配列となるよう留意すること。
パラメータ dryrun をtrueに設定する。
これにより、APIはリクエストを受け付けて処理するが、実際にIMD側には通知も登録もされないので
開発・検証時には本パラメータを活用すること。
もし開発前など事前に簡易的な導通検証をなされたい場合は、 事前にIMD側担当者に連絡の上で、 「食品名」に「テストのため削除してOK」、「備考」に「This is a test registration, so please delete it.」などと記載して、 パラメータ dryrun を false にして送信されると、IMD側で手動で確認することができますので、お問合せ下さい。
パラメータ dryrun を除去(または false に設定)して、リクエストが実際に登録されるようにする。
IMD側では、本番運用時にはリクエストされた情報が栄養士オペレーター等に通知され、 順次対応を実施し、新規作成後には監査を通じ、 平日営業時間内であれば翌日には検索APIの新商品等には反映される仕組みとなっている。 (最初に新商品検索対象として検索APIでは扱いつつ、随時通常検索に取り込む)
必要に応じて、リクエストの処理結果を受け取る(コールバック)ことが出来る。
処理の受け取りは、https で受け取るか、mail で受け取ることができる。
https で受け取る場合は、webサーバーを準備し、結果を受信するURLを決定する。
mail で受け取る場合は、mailサーバーを準備し、結果を受信するメールアドレスを決定する。
リクエストAPI/食品情報提供操作 を使用して、登録済みリクエストのコールバック受信が正常に処理されることを確認する。