仮想デバイス
cloud-to-cloudのシナリオで作業する場合、 deviceId
およびdeviceSecret
を使用してTracking API 認証をデバイスに埋め込むことは多くの場合不可能です。 仮想デバイスは、外部デバイス ID を使用して認証する方法を提供します。
仮想デバイスの生成
仮想デバイスのライセンスを生成するための API リクエストは 、物理デバイスのライセンスを生成するための標準の API リクエストとほぼ同じです 。ただし、 各仮想デバイスに関連付けられるexternalId
を含むdevices
アレイが含まれている点が異なります。 仮想デバイス externalId
はプロジェクト固有です。
デバイスライセンスを作成
curl -X POST \
https://tracking.api.here.com/registry/v2/{projectAppId}/devices \
-H 'Authorization: Bearer {token}' \
-H 'Content-Type: application/json' \
-d '{
"devices": [
{
"id": "my-first-device"
},
{
"id": "my-second-device"
}
]
}'
標準のライセンス作成と同様、これはBatch API であり、応答は結果を取得するために使用できる jobId
になります。
{
"jobId": "344a17a4-1b19-4420-bb6f-8400b87071fd"
}
ジョブの進行状況の確認
curl -X GET \
'https://tracking.api.here.com/registry/v2/{jobId}/status' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json'
ライセンスの取得
curl -X GET \
'https://tracking.api.here.com/registry/v2/{jobId}/results' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json'
仮想デバイスとしてテレメトリを送信
クラウド間のシナリオでは、追跡対象のデバイスがTracking API に直接接続されていません。この場合、中間サービスが デバイスの代わりに 投稿できる必要があります。 プライマリ連絡先クラウドまたは専用の転送サービスにすることができます。
デバイス所有者のベアラー トークンは、 externalId
(ライセンス作成時に提供) およびプロジェクトの appId
とともにデータを送信するために使用されます。
所有者のトークンを取得
curl -X POST \
https://tracking.api.here.com/users/v2/login \
-H 'Content-Type: application/json' \
-d '{
"email": "{userEmail}",
"password": "{userPassword}"
}'
デバイスの代わりにデータを送信
所有者のアカウントアクセス トークンを使用して 、ingestion エンドポイントへのリクエストPOST
を承認します。
curl -X POST \
https://tracking.api.here.com/v3/ \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
-d '{
"appId": "MyAppId123",
"id": "MyDevice1",
"data": [
{
"scan": {
"gsm": [
{
"mcc": 262,
"mnc": 1,
"lac": 5126,
"cid": 16504
}
]
},
"timestamp": 1569248026000
}
]
}