ガイドAPIリファレンス
ガイド

ジオフェンスイベント

ジオフェンスには、円形 (中心点と半径で指定)、多角形 (座標の配列)、カスタムPOI (施設情報のジオフェンス) があります。 ジオフェンスを作成するには、geofencesエンドポイントにリクエストを送信します。 ユーザーが複数のプロジェクトのメンバーである場合は、クエリパラメーターprojectIdでターゲットプロジェクトIDを指定する必要があります。

curl -X POST \
  'https://{tcHost}/geofences/v2?projectId=`projectId`' \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json' \
  -d '{
  "type": "circle",
  "definition":  {
    "center": {
      "lat": 52.521749,
      "lng": 13.413175
    },
    "radius": 150
  }
}'

これにより円形のジオフェンスが作成され、一意のジオフェンスIDが返ります。この時点でジオフェンスはどのデバイスにも関連付けられていません。 詳細については、「すべてのジオフェンスを取得する」を参照してください。

curl -X GET \
  'https://{tcHost}/geofences/v2?projectId=`projectId`' \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

これにより、ユーザーが以前に作成したジオフェンスのリストが返されます。

ジオフェンスとデバイスを関連付ける

ジオフェンスを作成すると、デバイス関連付けることができるようになり、位置データをTracking APIに送信できます。これにより、デバイスがジオフェンスの外側から内側へ、またはその逆に移動するたびにイベントが生成されます。

ジオフェンスと仮想デバイスを関連付ける

詳細については、「デバイスをジオフェンスに関連付ける」を参照してください。

リクエストURLで指定するexternalIdは、プロビジョニングした仮想デバイスのIDです。

curl -X PUT \
  https://{tcHost}/associations/v3/{externalId}/geofences/{geofenceId}?appId=`appId` \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

テレメトリーを送信する

テレメトリーをジオフェンスの外部に送信してから、ジオフェンスの内部に送信します。 クラウドへのデータ送信を開始する手順を参照してください。

curl -X POST \
  https://tracking.api.here.com/v3/ \
  -H 'authorization: Bearer {deviceToken}' \
  -H 'content-type: application/json' \
  -d '{
  "appId": "MyAppId123",
  "id": "MyDevice1",
  "data": [
    {
      "position": {
        "alt": 107,
        "accuracy": 13,
        "lat": 52.520806,
        "lng": 13.410514,
        "altaccuracy": 14
      },
      "timestamp": 1569248026000
    }
  ]
}'
curl -X POST \
  https://tracking.api.here.com/v3/ \
  -H 'authorization: Bearer {deviceToken}' \
  -H 'content-type: application/json' \
  -d '{
  "appId": "MyAppId123",
  "id": "MyDevice1",
  "data": [
    {
      "position": {
        "alt": 107,
        "accuracy": 10,
        "lat": 52.521880,
        "lng": 13.412724,
        "altaccuracy": 15
      },
      "timestamp": 1569300814000
    }
  ]
}'
📘

タイムスタンプはUNIXのエポック時間 (ミリ秒単位) です。

イベントが記録されたことを確認する

すべてのジオフェンスイベントが記録されます。 以下はexternalIdとプロジェクトappIdで識別される仮想デバイスのすべてのイベントを返します。

curl -X GET \
  https://{tcHost}/events/v3/{externalId}?appId=`appId` \
  -H 'authorization: Bearer {userToken}' \
  -H 'content-type: application/json'

詳細については、「デバイスまたは出荷のイベント履歴を取得する」を参照してください。