エイリアス
Tracking バックエンドを外部システムに統合する場合、多くの場合、トラッカーデバイスを外部システム ID に関連付ける必要があります。外部管理システムのアセット ID や、人間が読める名前などを使用できます。
Tracking API では、任意 type
externalId
のペアをtrackingId
に関連付けることができ ます。 これらの関連付けは「エイリアス」と呼ばれます。
エイリアスおよび type
をデバイス externalId
データと一緒に保存するように指定できます。 その後、エイリアスを参照してデバイスレコードを取得できます。
以下のリクエストの例では、エイリアスは type
TestType で externalId
、 testExternalId です。
エイリアスは 、 aliases エンドポイントを使用して作成されます。
curl -X PUT \
https://tracking.api.here.com/aliases/v2/HERE-dummyTrackingId/testType/testExternalId
エイリアスが作成されます。
エイリアスが作成されると、そのエイリアスを使用してデバイスの詳細を取得できます。
curl -X GET
https://tracking.api.here.com/aliases/v2/trackingId?type=testType&externalId=testExternalId
{
"trackingId": "HERE-dummyTrackingId"
}
これにより、デバイスのtrackingId
が返されます。
また、デバイスの ID またはテレメトリに直接関連付けられていないデバイスまたはジオフェンスに関するより多くのデータを保存することもできます。 Web インターフェイスに表示されるアイコン。たとえば、特定のジオフェンスに関する詳細なメモです。 この場合、メタデータサービスを使用できます。
デバイスに関するメタデータを保存するには、任意の JSON オブジェクトを metadata エンドポイント に送信します。
curl -X PUT \
https://tracking.api.here.com/metadata/v2/devices/{trackingId} \
-H 'Authorization: Bearer {userToken}' \
-H 'Content-Type: application/json' \
-d '{
"deviceIcon": "car-icon.png"
}'
メタデータは、ジオフェンスと同じ方法で、別のパスに関連付けることができます。
curl -X PUT \
https://tracking.api.here.com/metadata/v2/geofences/{geofenceId} \
-H 'Authorization: Bearer {userToken}' \
-H 'Content-Type: application/json' \
-d '{
"geofenceIcon": "office-icon.png"
}'
ラベル
ラベルはキーと値のペアであり、次のリソースタイプに関連付けることができます。
- デバイス
- ジオフェンス
- センサー
- ルール
- 位置情報
- 出荷
たとえば、デバイスを異なるグループにグループ化する必要がある場合、ラベル「グループ」にデバイスを関連付けます。ラベル値はグループ名です。
ラベルは、labels エンドポイントの PUT
リクエストのパスでリソース タイプ、リソース ID、およびラベルのキーと値のペアを指定することによって作成されます。次の例では、デバイスラベルを作成してい ます。ここで、ラベルキーは group で、ラベル値は group-01 です。
curl -X PUT \
https://tracking.api.here.com/labels/v4/device/HERE-dummyTrackingId/group/group-01 \
-H 'Authorization: Bearer {userToken}' \
-H 'Content-Type: application/json'
特定のリソースタイプに関連付けられているすべてのラベルは 、パス内のリソースタイプを含むlabels エンドポイントを介して取得できます。 ユーザーが複数のプロジェクトのメンバーである場合は、クエリ パラメーター projectId
でターゲットプロジェクト ID を指定する必要があります。
curl -X GET \
https://tracking.api.here.com/labels/v4/device?projectId=`projectId` \
-H 'Authorization: Bearer {userToken}' \
-H 'Content-Type: application/json'
{
"limit":100,
"count":1,
"items":[{
"resourceId":"HERE-dummyTrackingId",
"resourceType":"device",
"labels":{
"group":["group-01"]
}
}]
}
特定のリソースに関連付けられているラベルは 、リソースタイプとリソース ID を含むlabels エンドポイントを介して取得できます。
curl -X GET \
https://tracking.api.here.com/labels/v4/device/HERE-dummyTrackingId \
-H 'Authorization: Bearer {userToken}' \
-H 'Content-Type: application/json'
{
"resourceId":"HERE-dummyTrackingId",
"resourceType":"device",
"labels":
{
"group":["group-01"],
"priority":["high"]
}
}