Device Location Verification API
Device location verification API (0.2.0)
Download OpenAPI specification:Download
This API provides the customer with the ability to verify the location of a device.
Customers are able to verify whether the location of certain user device is within the area specified. Currently the only area supported as input is a circle determined by the a set of coordinates (latitude and longitude) and some expected accuracy (radius).
The verification result depends on the network's ability and accuracy to locate the device at the requested area.
- If the network's estimation of the device's location is fully contained within the requested area, the verification result is
TRUE. - If the network's estimation of the device's location does not overlap with the requested area at all, the verification result is
FALSE. - If the network's estimation of the device's location partially overlaps with the requested area, or it fully contains the requested area (because it is larger), the result is 'PARTIAL'. In this case, a
match_ratemay be included in the response, indicating an estimation of the likelihood of the match in percent. - Lastly, the network may not be able to locate the device. In this case, the verification result is
UNKNOWN.
The client may optionally include a maxAge indication. If the location information known to the server is older than the specified maxAge, the verification result will be UNKNOWN and the lastLocationTime attribute may indicate the last available time for the device location.
lastLocationTime will be always included in the response unless there is no historical location information available for the device. In this case, UNKNOWN will be returned without lastLocationTime.
Location Verification could be useful in scenarios such as:
- Fraud protection, to ensure a given user is located in the location area claimed for financial transactions.
- Verification of GPS coordinates reported by the app on a device, to ensure the GPS was not faked, e.g. for content delivery with regional restrictions.
- Contextual-based advertising, to trigger advertising after verifying the device is in the area of interest.
- Smart mobility (vehicle / bikes renting), to confirm the location of the device and the location of the vehicle/bike to guarantee they are rented correctly.
Device: A device refers to any physical entity that can connect to a network and participate in network communication.
Area: It specifies the geographical surface where a device may be physically located.
Verification: Process triggered in the API server to confirm or contradict the expectation assumed by the API client about the device location.
The API exposes a single endpoint/operation:
- Verify whether the device location is within a requested area, currently a circle with center specified by the latitude and longitude, and radius specified by the accuracy. The operation returns a verification result and, optionally, a match rate estimation for the location verification in percent.
Verify the location of a device
Verify whether the location of a device is within a requested area. The operation returns a verification result and, optionally, a match rate estimation for the location verification in percent.
Authorizations:
Request Body schema: application/jsonrequired
required | object (Device) non-empty End-user equipment able to connect to a mobile network. Examples of devices include smartphones or IoT sensors/actuators. The developer can choose to provide the below specified device identifiers:
NOTE: the MNO might support only a subset of these options. The API invoker can provide multiple identifiers to be compatible across different MNOs. In this case the identifiers MUST belong to the same device. |
required | object (Area) |
| maxAge | integer (MaxAge) >= 60 The maximum age (in seconds) of the available location, which is accepted for the verification. |
Responses
Request samples
- Payload
Verify if device identified by a phone number is within a circle, providing a maxAge
{- "device": {
- "phoneNumber": "+123456789"
}, - "area": {
- "areaType": "CIRCLE",
- "center": {
- "latitude": 50.735851,
- "longitude": 7.10066
}, - "radius": 50000
}, - "maxAge": 120
}Response samples
- 200
- 400
- 401
- 403
- 404
- 500
- 503
The network locates the device within the requested area
{- "verificationResult": "TRUE",
- "lastLocationTime": "2023-09-07T10:40:52Z"
}