.wpb_animate_when_almost_visible { opacity: 1; }
CAMARA Sandbox - Device Location Verification - Orange lab Beta
The Device Location Verification API provides programmable interface for developers to verify the location of a device.
0.1
Download

Device location verification API
 0.2.0-rc2 
OAS 3.0

https://developer.orange.com/ope-contents/channels/87afd7365baec589/offers/MudHtY8gms1QsLde/products/aS43Xa9N46F5yy4H/contents/swagger/4QL5hJHeSHmiWAWY/Location verification v0.2 rc OD.json

This API provides the customer with the ability to verify the location of a device.

Introduction

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_rate may 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.
  • Location-based advertising, to trigger targeted advertising after verifying the user 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.

Relevant terms and definitions

  • 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.

API Functionality

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.

Further info and support

(FAQs will be added in a later version of the documentation)

Product documentation at CAMARA
Servers
Computed URL:https://api.orange.com/camara/location-verification/orange-lab/v0/verify

Server variables

apiRoot

Location Verification

Verification the location of a device

    • HTTP status codereasonresponse model
      400List of supported error codes:
      - 20: Invalid URL parameter value
      - 21: Missing body
      - 22: Invalid body
      - 23: Missing body field
      - 24: Invalid body field
      - 25: Missing header
      - 26: Invalid header value
      - 27: Missing query-string parameter
      - 28: Invalid query-string parameter value
      {
        "code": 28,
        "message": "Invalid query-string parameter value",
        "description": "One or more query-string parameters contain invalid values."
      }
      401List of supported error codes:
      - 40: Missing credentials
      - 41: Invalid credentials
      - 42: Expired credentials
      {
        "code": 42,
        "message": "Expired credentials",
        "description": "The requested service needs credentials, and the ones provided were out-of-date."
      }
      403List of supported error codes:
      - 50: Access denied
      - 51: Forbidden requester
      - 52: Forbidden user
      - 53: Too many requests
      {
        "code": 53,
        "message": "Too many requests",
        "description": "The application has made too many calls and has exceeded the rate limit for this service."
      }
      404List of supported error codes:
      - 60: Resource not found
      {
        "code": 60,
        "message": "Resource not found",
        "description": "The requested URI or the requested resource does not exist."
      }
      405List of supported error codes:
      - 61: Method not allowed
      {
        "code": 61,
        "message": "Method not allowed",
        "description": "The URI does not support the requested method. The available methods should be set in the response header 'Allow'"
      }
      406List of supported error codes:
      - 62: Not acceptable
      {
        "code": 62,
        "message": "Not acceptable",
        "description": "The Accept incoming header does not match any available content-type."
      }
      408List of supported error codes:
      - 63: Request time-out
      {
        "code": 63,
        "message": "Request time-out",
        "description": "The server timed out waiting for the incoming request."
      }
      409List of supported error codes:
      - 69: Conflict
      {
        "code": 69,
        "message": "Conflict",
        "description": "The request could not be completed due to a conflict with the current state of the resource."
      }
      411List of supported error codes:
      - 64: Length required
      {
        "code": 64,
        "message": "Length required",
        "description": "The request did not specify a Content-Length header, which is required by the requested resource."
      }
      412List of supported error codes:
      - 65: Precondition failed
      {
        "code": 65,
        "message": "Precondition failed",
        "description": "One of the precondition request headers (aka. 'If-None-Match', 'If-Match', 'If-Modified-Since', and 'If-Unmodified-Since') failed to match."
      }
      413List of supported error codes:
      - 66: Request entity too large
      {
        "code": 66,
        "message": "Request entity too large",
        "description": "The body of the request/response (PATCH, POST and PUT methods) is larger than the server is willing or able to process."
      }
      414List of supported error codes:
      - 67: Request-URI too long
      {
        "code": 67,
        "message": "Request-URI too long",
        "description": "The URI provided was too long for the server to process."
      }
      415List of supported error codes:
      - 68: Unsupported Media Type
      {
        "code": 68,
        "message": "Unsupported Media Type",
        "description": "The format of the posted body is not supported by the endpoint."
      }
      429List of supported error codes:
      - 53: Too many requests
      {
        "code": 53,
        "message": "Too many requests",
        "description": "The application has made too many calls and has exceeded the rate limit for this service."
      }
      500List of supported error codes:
      - 1: Internal error
      {
        "code": 1,
        "message": "Internal error",
        "description": "Generic failure message, used if no more precise code can be provided."
      }
      502List of supported error codes:
      - 1: Internal error
      - 3: Bad gateway
      {
        "code": 1,
        "message": "Bad gateway",
        "description": "A runtime execution error occurs (RaiseFault)."
      }
      503List of supported error codes:
      - 5: The service is temporarily unavailable
      - 6: Orange API is over capacity, retry later !
      {
        "code": 6,
        "message": "Orange API is over capacity, retry later !",
        "description": "The service faces too much requests and can not handle the call."
      }
      504List of supported error codes:
      - 6: Gateway timeout
      {
        "code": 6,
        "message": "Gateway timeout",
        "description": "No response was received in time from a backend server acting as gateway or proxy."
      }