PHPでホットペッパーグルメサーチAPIを利用する

PHPでホットペッパーグルメサーチAPIを利用する

PHP(Laravel)でホットペッパーグルメサーチAPIを使った飲食店検索を行ったときの記録。

リクルート WEBサービスとは

リクルート WEBサービスは、リクルートが保有するデータベースを外部から利用するためのWeb APIを一括提供するサービス。

ホットペッパーグルメサーチAPIドキュメント

ホットペッパーグルメサーチAPIドキュメントはこちら。
https://webservice.recruit.co.jp/doc/hotpepper/reference.html

API利用方法

左メニューの「新規登録」リンクから、APIキーを発行する

APIキーをつけて、以下のようなURLにアクセスすると、
緯度: 34.67、経度: 135.52から半径3Km圏内のお店の検索結果がおすすめ順でXML形式で返される。

https://webservice.recruit.co.jp/hotpepper/gourmet/v1/?key=[APIキー]&lat=34.67&lng=135.52&range=5&order=4

やりたいこと

ある場所(緯度・経度で指定)から半径3km圏内にある飲食店を調べたい。

リクエストパラメータについて

リクエストパラメータは色々あるが、以下の項目を考慮してAPI呼び出しを行うといい感じだった。

パラメータ項目名説明
keyAPIキーAPIを利用するために割り当てられたキーを設定します。必須項目
lat緯度ある地点からの範囲内のお店の検索を行う場合の緯度です。デフォルト(例) 35.669220
lng経度ある地点からの範囲内のお店の検索を行う場合の経度です。(例) 139.761457
range検索範囲ある地点からの範囲内のお店の検索を行う場合の範囲を5段階で指定できます。たとえば300m以内の検索ならrange=1を指定します1: 300m
2: 500m
3: 1000m (初期値)
4: 2000m
5: 3000m

datum測地系緯度・経度の測地系を指定できます。world: 世界測地系、tokyo: 旧日本測地系。初期値は world。(例) world
type出力タイプレスポンス項目の項目数を指定できます。
liteを指定すると、主要項目のみ出力されます。出力項目はレスポンスフィールドを参照してください。
credit_card、specialを指定することで、クレジットカード、特集をレスポンスに付加できます。 +でつないで指定することで、複数指定が可能です。 例:type=credit_card+specialと指定することで、クレジットカードと特集両方をレスポンスに付加可能です。
lite:主要項目のみ
credit_card:クレジットカードをレスポンスに付加
special:特集をレスポンスに付加
指定なし:クレジットカード、特集以外をすべて出力(初期値)
orderソート順検索結果の並び順を指定します。おススメ順は定期的に更新されます。
※ 位置検索の場合、「4:オススメ順」以外は指定に関係なく、強制的に距離順でソートされます。
1:店名かな順
2:ジャンルコード順
3:小エリアコード順
4:おススメ順
初期値はおススメ順。位置から検索を行った場合は距離順
count1ページあたりの取得数検索結果の最大出力データ数を指定します。初期値:10、最小1、最大100
formatレスポンス形式レスポンスをXMLかJSONかJSONPかを指定します。JSONPの場合、さらにパラメータ callback=コールバック関数名 を指定する事により、javascript側コールバック関数の名前を指定できます。初期値:xml。xml または json または jsonp。

実装方法について

「PHPで楽天トラベル施設検索APIを利用する」の記事を参照してください。

Web技術カテゴリの最新記事