Map Feedback API Developer's Guide

Road Sign Feedback

An application or car integration detects a speed limit change or allows an end user to report an updated speed limit situation that includes posted signage at the roadside.

HTTP Header Fields

Map Feedback API POST requests require the following HTTP header fields:

Group-Id: FGx1AWaAzKOo0imNkLmf
Auth-Service-Id: here_app
Auth-Identifier: {YOUR_APP_ID}
Auth-Secret: {YOUR_APP_CODE}
Content-Type: application/vnd.here.layerObjectList+json; charset=UTF-8
Content-Disposition: application/vnd.here.layerObjectList+json; charset=UTF-8
Accept: application/vnd.here.layerObjectList+json
Accept-Charset: charset=UTF-8

Request

The POST request reports a speed limit of 50 km/h which spans across two links.

https://maphub.cit.api.here.com/feedback/

The POST request requires the following POST body.

[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
  "v": "2.7",
    "appId": "{YOUR_APP_ID}",
    "error": 920,
    "domain":{
      "signValue": "50",
      "signUnit": "km/h",
      "subType": 1
    },
    "details": "A new speedlimit",
    "referenceIds": ["12345", "67890"],
    "zoomLevel": 15,
    "mapType": "hybrid.live",
    "accountId": "my_here_account"
  }
}]

Response

The response to the request contains:

  • a globally unique ID (GUID) that identifies the submitted revision
  • id for tracking the status of the revision
  • the information submitted in the feedback
  • timestamp and layerID information
[
  {
    "layerId": "grp|wiki|WIKI_MAP_FEEDBACK",
    "lastUpdateTS": 1424962022788,
    "coordinates": [
      8.55,
      50.148,
      0
    ],
    "guid": "26e78037d331f9230ff058bb28babefb32b13f31",
    "id": -20691,
    "type": "Point",
    "createdTS": 1424962022788,
    "properties": {
      "zoomLevel": 15,
      "accountId": "my_here_account",
      "v": "2.7",
      "referenceIds": [
        "12345678"
      ],
      "appId": "{YOUR_APP_ID}",
      "domain": {
        "subType": 3,
        "signValue": "100",
        "signUnit": "km/h"
      },
      "mapType": "hybrid.live",
      "details": "The speed limit is now 100 km/h",
      "error": 920,
      "currentValues": {
        "signValue": "80"
      }
    }
  }
]

The following additional request bodies contain road sign feedback for errors occurring on the map. The HTTP Headers field values and the request are the same as used in the previous example so these are not shown with each of the following feedback examples. The response information to these requests is similarly structured to the information shown in the previous example, but with the information details from the respective request bodies.

Update Incorrect Speed Limit Information

[{
  "type":"Point",
  "coordinates":[8.55,50.148,0],
  "properties": {
  "v": "2.7",
    "appId": "{YOUR_APP_ID}",
    "error": 920,
    "domain":{
      "signValue": "100",
      "signUnit": "km/h",
      "subType": 3
    },
    "details": "The speed limit is now 100 km/h",
    "currentValues": {
      "signValue": "80"
  },
    "zoomLevel": 15,
    "mapType": "hybrid.live",
    "accountId": "my_here_account"
  }
}]

Add Sign for Truck Weight Restriction

[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "20",
      "signUnit": "T",
      "subType": 10
    },
    "details": "Add weight restriction sign that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}]

Add Sign for Truck Weight Per Axle Restriction

[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "8",
      "signUnit": "T",
      "subType": 15
    },
    "details": "Add weight per axle restriction sign that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}]

Add Sign for Hazmat Truck Restriction

[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
        "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "Hazardous goods",
      "subType": 20
    },
    "details": "Sign to prohibit Hazmat trucks is missing",    
    "referenceIds": ["12345"],
  }
}]

Add Sign for Truck Height Restriction


[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "12'-6"",
      "signUnit": "m",
      "subType": 30
    },
    "details": "Add truck height restriction sign that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}]

Add Sign for Truck Width Restriction


[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "5,5",
      "signUnit": "T",
      "subType": 40
    },
    "details": "Add truck width restriction sign that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}]

Add Sign for Truck Length Restriction


[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "10",
      "signUnit": "m",
      "subType": 50
    },
    "details": "Add truck length restriction sign that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}]

Add Sign for Tunnel


[{
  "type":"Point",
  "coordinates":[8.1109931,47.8995140,0],
  "properties": {
     "v": "2.7",
    "appId": "<yourAppId>",
    "error": 920,
    "domain":{
      "signValue": "C",
      "signUnit": "TRC",
      "subType": 70
    },
    "details": "Add tunnel restriction code that is missing",    
    "referenceIds": ["12345"],
    "accountId": "my_here_account" 
  }
}] 

For more details about tracking the feedback status, see Tracking Feedback Status.