一括ジョブの作成
このチュートリアルでは、複数のデバイスを一度に追加するための一括ジョブを作成します
前提条件
ユーザーにログイン
csv ファイルを使用して一括ジョブを作成
API の呼び出しが成功すると、ユーザーは新しい「 jobId 」を取得します。この ID を使用して、ジョブのステータスと結果を取得できます。 ジョブのキャンセルにも使用できます。
curl -X POST \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads?fileName=file.csv' \
-H 'Content-Type: text/csv' \
-H 'Authorization: Bearer {userToken}' \
-d @file.csv
csv の例
name,deviceId,externalDeviceId,connectorId,sendMs,sampleMs,distanceM,areaBased,type,tag:priority1,tag:priority2,tag:food,tag:Fragile,rule:74a6fe54-2077-4629-b924-3340bc88b864,rule:c096874c-0d5f-41c8-9cd8-56c25f9df23b,rule:db9403d1-64b4-48c0-a0e7-bc5f69eb624f,geofence:08e742fc-52d1-49aa-bea0-60a6cd17d8a2,geofence:2bff17e2-af05-4843-9780-878df098d35a
my at4h tracker in distance based mode,a19b2648-60c1-49fc-896c-ea450a07e98d,,,600000,300000,100,,Phone,1,,,,1,,,1,1
my super tracker in area based mode,13316aa5-3b80-414c-bf6d-86fa3ca6a31f,,,600000,100000,,1,Returnable / Reusable,,1,1,,1,1,,1,1
{
"jobId": "BULK-6279286f-a09a-4521-9d3a-af7559e84836"
}
JSON を使用して一括ジョブを作成
curl -X POST \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}' \
-d '[
{
"name": "my at4h tracker in distance based mode3",
"sendMs": 600000,
"sampleMs": 300000,
"distanceM": 100,
"type": "Phone"
},
{
"name": "my c2c tracker in distance based mode3",
"externalDeviceId": "1e50ed8d-c291-4f16-8a51-86fe03267496",
"connectorId": "cf208b96-ef0b-4227-a3ee-224679cce07a",
"type": "Custom type"
}
]'
{
"jobId": "BULK-5ef183dc-15f2-4b2a-959d-0e157f308ca5"
}
JSON を使用してデバイスを削除するための一括ジョブを作成
データには次の種類があります。
- 追跡 ID の種類 : { TRACKINGID : 削除するデバイスの追跡番号。 unclaimOnly ? : デバイスの請求解除のみを行うか、またはデバイスのプロビジョニングを解除するかを通知するフラグ }
- 外部 ID バリアント : { 外部 ID : 仮想デバイスの外部 ID 、 unclaimOnly ? : デバイスの請求解除のみを行うか、またはデバイスのプロビジョニングを解除するかを通知するフラグ }
- コネクター ID + 外部デバイス ID バリアント:{ コネクタ ID: コネクタの識別子、 externalDeviceId : 外部クラウド上のデバイスの識別子。 unclaimOnly ?: デバイスの請求を解除するか、またはプロビジョニングを解除するだけでよいかを通知するフラグ。 removeFromConnectorOnly ? : コネクタから外部デバイスのみを削除するか、トラッキングクラウドから仮想デバイスを削除するかを通知するフラグ }
curl -X POST \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}' \
-d '[
{
"externalId": "MyDevice1",
"unclaimOnly": "true"
}
]'
{
"jobId": "BULK-e34eca5b-fdde-423b-b3d2-1656ac0c8952"
}
プロジェクトの一括アップロードジョブ ID を取得します
curl -X GET \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads?projectId={projectId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}'
{
"limit": 100,
"items": [
{
"jobId": "BULK-6279286f-a09a-4521-9d3a-af7559e84836",
"status": "pending"
},
{
"jobId": "BULK-5ef183dc-15f2-4b2a-959d-0e157f308ca5",
"status": "ongoing"
},
{
"jobId": "BULK-e34eca5b-fdde-423b-b3d2-1656ac0c8952",
"status": "completed"
}
],
"count": 3
}
一括アップロードのステータスを取得します
curl -X GET \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads/{jobId}/status' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}'
{
"status": "pending",
"progress": 0,
"total": 0,
"succeeded": 0,
"failed": 0,
"partiallySucceeded": 0,
"pending": 2,
"fileName": "file.csv"
}
一括アップロードの結果を取得します
curl -X GET \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads/{jobId}/results' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}'
{
"status": "completed",
"limit": 100,
"count": 2,
"items": [
{
"name": "my at4h tracker in distance based mode",
"deviceId": "a19b2648-60c1-49fc-896c-ea450a07e98d",
"trackingId": "HERE-5cb2b777-7389-472b-81f0-9ab89a9c7fed"
},
{
"name": "my super tracker in area based mode",
"deviceId": "13316aa5-3b80-414c-bf6d-86fa3ca6a31f",
"trackingId": "HERE-0d571d83-79f5-4b1a-a177-fcd6b5d47e74"
}
]
}
一括アップロードジョブのステータスを更新します
curl -X PATCH \
'https://tracking.api.here.com/bulkjobs/v4/deviceUploads/{jobId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {userToken}' \
-d '{
"action": "cancel"
}'
{
"status": "cancelled"
}