Newer
Older
Sebastian Muellers
committed
swagger: '2.0'
info:
title: MEC-013 Location API
description: 'The MEC-013 Location API described using OpenAPI, which is based on the Open Mobile Alliance''s specification RESTful Network API for Zonal Presence'
Sebastian Muellers
committed
license:
name: ETSI Forge copyright notice
url: 'https://forge.etsi.org/etsi-forge-copyright-notice.txt'
Sebastian Muellers
committed
externalDocs:
description: ETSI MEC013 V1.1.1 Location Service API
url: 'http://www.etsi.org/deliver/etsi_gs/MEC/001_099/013/01.01.01_60/gs_mec013v010101p.pdf'
Sebastian Muellers
committed
host: '127.0.0.1:8081'
basePath: /exampleAPI/location/v1/
schemes:
- http
- https
consumes:
- application/json
produces:
- application/json
parameters:
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Body.UserTrackingSubscription:
name: userTrackingSubscription
in: body
description: User Tracking Subscription
required: true
schema:
$ref: '#/definitions/UserTrackingSubscription'
Body.ZonalTrafficSubscription:
name: zonalTrafficSubscription
in: body
description: Zonal Traffic Subscription
required: true
schema:
$ref: '#/definitions/ZonalTrafficSubscription'
Body.ZoneStatusSubscription:
name: zoneStatusSubscription
in: body
description: Zone Status Subscription
required: true
schema:
$ref: '#/definitions/ZoneStatusSubscription'
Path.AccessPointId:
name: accessPointId
in: path
description: Access Point ID
required: true
type: string
Path.SubscriptionId:
name: subscriptionId
in: path
description: Subscription ID
required: true
type: string
Path.UserId:
name: userId
in: path
description: User ID
required: true
type: string
Path.ZoneId:
Sebastian Muellers
committed
name: zoneId
Sebastian Muellers
committed
description: Zone ID
required: true
type: string
Sebastian Muellers
committed
name: accessPointId
in: query
description: 'Identifier of access point, reference "definitions" for string format'
required: false
type: string
Sebastian Muellers
committed
name: interestRealm
in: query
description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).'
Sebastian Muellers
committed
required: false
type: string
Query.ZoneId:
name: zoneId
in: query
description: Zone ID
required: true
type: string
Sebastian Muellers
committed
paths:
/zones:
get:
description: Used to get a list of identifiers for zones authorized for use by the application.
Sebastian Muellers
committed
produces:
- application/json
responses:
'200':
description: Successful response to a query regarding the status of a zone
schema:
properties:
zoneList:
Sebastian Muellers
committed
examples:
application/json:
zoneList:
zone:
- zoneId: zone01
numberOfAccessPoints: '3'
numberOfUnserviceableAccessPoints: '1'
numberOfUsers: '10'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
- zoneId: zone02
numberOfAccessPoints: '12'
numberOfUnserviceableAccessPoints: '0'
numberOfUsers: '36'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone02'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones'
'/zones/{zoneId}':
get:
description: Used to get the status of a zone.
produces:
- application/json
parameters:
Sebastian Muellers
committed
responses:
'200':
description: Successful response to a query regarding the status of a zone
schema:
properties:
zoneInfo:
Sebastian Muellers
committed
examples:
application/json:
zoneInfo:
zoneId: zone01
numberOfAccessPoints: '3'
numberOfUnserviceableAccessPoints: '1'
numberOfUsers: '10'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01'
'/zones/{zoneId}/accessPoints':
get:
description: Access point status can be retrieved for sets of access points matching attribute in the request.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.ZoneId'
- $ref: '#/parameters/Query.InterestRealm'
Sebastian Muellers
committed
responses:
'200':
description: Successful response to a query a named set of access point status request
Sebastian Muellers
committed
schema:
properties:
accessPointList:
Sebastian Muellers
committed
examples:
application/json:
accessPointList:
zoneId: zone01
accessPoint:
- accessPointId: '001010000000000000000000000000001'
locationInfo:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap001'
Sebastian Muellers
committed
- accessPointId: '001010000000000000000000000000010'
locationInfo:
latitude: '91.123'
longitude: '81.123'
altitude: '12.0'
accuracy: '1'
connectionType: Macro
operationStatus: Unserviceable
numberOfUsers: '0'
interestRealm: DC
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap002'
Sebastian Muellers
committed
- accessPointId: '001010000000000000000000000000011'
locationInfo:
latitude: '93.123'
longitude: '83.123'
altitude: '16.0'
accuracy: '3'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: NJ
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints/ap003'
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone01/accessPoints'
Sebastian Muellers
committed
'/zones/{zoneId}/accessPoints/{accessPointId}':
get:
description: Access point status can be retrieved for sets of access points matching attribute in the request.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.ZoneId'
- $ref: '#/parameters/Path.AccessPointId'
Sebastian Muellers
committed
responses:
'200':
description: Successful response to a query a named set of access point status request
Sebastian Muellers
committed
schema:
properties:
accessPointInfo:
Sebastian Muellers
committed
examples:
application/json:
accessPointInfo:
accessPointId: '001010000000000000000000000000001'
locationInfo:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
connectionType: Macro
operationStatus: Serviceable
numberOfUsers: '5'
interestRealm: LA
resourceURL: 'http://example.com/exampleAPI/location/v1/zones/zone001/accessPoints/ap001'
Sebastian Muellers
committed
/users:
get:
description: Users currently using a zone may be retrieved for sets of access points matching attribute in the request
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Query.ZoneId'
- $ref: '#/parameters/Query.AccessPointId'
Sebastian Muellers
committed
responses:
'200':
description: Successful response to a query users within a zone request
schema:
properties:
userList:
Sebastian Muellers
committed
examples:
application/json:
userList:
user:
- address: 'acr:192.0.2.1'
accessPointId: '001010000000000000000000000000001'
zoneId: zone01
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1'
Sebastian Muellers
committed
- address: 'acr:192.0.2.2'
accessPointId: '001010000000000000000000000000001'
zoneId: zone01
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.2'
Sebastian Muellers
committed
- address: 'acr:192.0.2.3'
accessPointId: '001010000000000000000000000000010'
zoneId: zone01
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.3'
Sebastian Muellers
committed
- address: 'acr:192.0.2.4'
accessPointId: '001010000000000000000000000000001'
zoneId: zone02
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.4'
Sebastian Muellers
committed
- address: 'acr:192.0.2.5'
accessPointId: '001010000000000000000000000000010'
zoneId: zone02
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.5'
Sebastian Muellers
committed
resourceURL: 'http://example.com/exampleAPI/location/v1/users'
'/users/{userId}':
get:
description: Users currently using a zone may be retrieved for sets of access points matching attribute in the request
Sebastian Muellers
committed
produces:
- application/json
parameters:
Sebastian Muellers
committed
responses:
'200':
description: Successful response to a query users within a zone request
schema:
properties:
userInfo:
Sebastian Muellers
committed
examples:
application/json:
userInfo:
address: 'acr:192.0.2.1'
accessPointId: '001010000000000000000000000000001'
zoneId: zone01
resourceURL: 'http://example.com/exampleAPI/location/v1/users/acr%3A192.0.2.1'
Sebastian Muellers
committed
locationInfo:
latitude: '90.123'
longitude: '80.123'
altitude: '10.0'
accuracy: '0'
contextLocationInfo: GroundFloor
/subscriptions/zonalTraffic:
get:
description: This operation is used for retrieving all active subscriptions to zonal traffic change notifications.
Sebastian Muellers
committed
produces:
- application/json
responses:
'200':
description: Response to retrieve zonal traffic subscriptions
schema:
type: object
properties:
notificationSubscriptionList:
type: object
properties:
zonalTrafficSubscription:
type: array
items:
$ref: '#/definitions/ZonalTrafficSubscription'
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
examples:
application/json:
notificationSubscriptionList:
zonalTrafficSubscription:
- clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
Sebastian Muellers
committed
zoneId: zone01
interestRealm: LA
userEventCriteria: Transferring
- clientCorrelator: '0124'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription124'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123457'
Sebastian Muellers
committed
zoneId: zone02
interestRealm: LA
userEventCriteria: Transferring
resourceURL: 'http://example.com/exampleAPI/location/v1/zonalTraffic'
post:
description: This operation is used for creating a new subscription to zonal traffic change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Body.ZonalTrafficSubscription'
Sebastian Muellers
committed
responses:
'201':
description: Response to create new zonal traffic subscription
schema:
properties:
zonalTrafficSubscription:
$ref: '#/definitions/ZonalTrafficSubscription'
Sebastian Muellers
committed
examples:
application/json:
zonalTrafficSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
interestRealm: LA
userEventCriteria: Transferring
'/subscriptions/zonalTraffic/{subscriptionId}':
get:
description: This operation is used for updating an individual subscription to zonal traffic change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
Sebastian Muellers
committed
responses:
'200':
description: Response to retrieve individual zonal traffic subscription
schema:
properties:
zonalTrafficSubscription:
$ref: '#/definitions/ZonalTrafficSubscription'
Sebastian Muellers
committed
examples:
application/json:
zonalTrafficSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
interestRealm: LA
userEventCriteria: Transferring
put:
description: This operation is used for updating an individual subscription to zonal traffic change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
- $ref: '#/parameters/Body.ZonalTrafficSubscription'
Sebastian Muellers
committed
responses:
'200':
description: Response to update individual zonal traffic subscription
schema:
properties:
zonalTrafficSubscription:
$ref: '#/definitions/ZonalTrafficSubscription'
Sebastian Muellers
committed
examples:
application/json:
zonalTrafficSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
interestRealm: LA
userEventCriteria: Transferring
delete:
description: This operation is used for cancelling a subscription and stopping corresponding notifications.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
Sebastian Muellers
committed
responses:
'204':
description: No content
/subscriptions/userTracking:
get:
description: This operation is used for retrieving all active subscriptions to user tracking change notifications.
Sebastian Muellers
committed
produces:
- application/json
responses:
'200':
description: Response to retrieve user tracking subscriptions
schema:
type: object
properties:
notificationSubscriptionList:
type: object
properties:
userTrackingSubscription:
type: array
items:
$ref: '#/definitions/UserTrackingSubscription'
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
examples:
application/json:
notificationSubscriptionList:
userTrackingSubscription:
- clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
Sebastian Muellers
committed
address: 'acr:192.0.2.1'
userEventCriteria: Transferring
- clientCorrelator: '0124'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription124'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
Sebastian Muellers
committed
address: 'acr:192.0.2.2'
userEventCriteria: Transferring
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking'
Sebastian Muellers
committed
post:
description: This operation is used for creating a new subscription to user tracking change notification
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Body.UserTrackingSubscription'
Sebastian Muellers
committed
responses:
'201':
description: Response to create new user tracking subscription
schema:
properties:
userTrackingSubscription:
$ref: '#/definitions/UserTrackingSubscription'
Sebastian Muellers
committed
examples:
application/json:
userTrackingSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
address: 'acr:192.0.2.1'
userEventCriteria: Transferring
'/subscriptions/userTracking/{subscriptionId}':
get:
description: This operation is used for retrieving an individual subscription to user tracking change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
Sebastian Muellers
committed
responses:
'200':
description: Response to retrieve individual user tracking subscription
schema:
properties:
userTrackingSubscription:
$ref: '#/definitions/UserTrackingSubscription'
Sebastian Muellers
committed
examples:
application/json:
userTrackingSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
address: 'acr:192.0.2.1'
userEventCriteria: Transferring
put:
description: This operation is used for updating an individual subscription to user tracking change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
- $ref: '#/parameters/Body.UserTrackingSubscription'
Sebastian Muellers
committed
responses:
'200':
description: Response to update individual user tracking subscription
schema:
properties:
userTrackingSubscription:
$ref: '#/definitions/UserTrackingSubscription'
Sebastian Muellers
committed
examples:
application/json:
userTrackingSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
address: 'acr:192.0.2.1'
userEventCriteria: Transferring
delete:
description: This operation is used for retrieving an individual subscription to user tracking change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
Sebastian Muellers
committed
responses:
'204':
description: No Content
/subscriptions/zonalStatus:
get:
description: This operation is used for creating a new subscription to zone status change notification.
Sebastian Muellers
committed
produces:
- application/json
responses:
'200':
description: Response to retrieve zone status subscriptions
schema:
type: object
properties:
notificationSubscriptionList:
type: object
properties:
zonalTrafficSubscription:
type: array
items:
$ref: '#/definitions/ZoneStatusSubscription'
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
examples:
application/json:
notificationSubscriptionList:
zoneStatusSubscription:
- clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
Sebastian Muellers
committed
zoneId: zone01
numberOfUsersZoneThreshold: '500'
operationStatus: Serviceable
- clientCorrelator: '0124'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription124'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123457'
Sebastian Muellers
committed
zoneId: zone02
numberOfUsersAPThreshold: '50'
operationStatus: Serviceable
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus'
Sebastian Muellers
committed
post:
description: This operation is used for creating a new subscription to zone status change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Body.ZoneStatusSubscription'
Sebastian Muellers
committed
responses:
'201':
description: Response to create new zone status subscription
schema:
properties:
zonalTrafficSubscription:
$ref: '#/definitions/ZoneStatusSubscription'
Sebastian Muellers
committed
examples:
application/json:
zoneStatusSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
numberOfUsersZoneThreshold: '500'
operationStatus: Serviceable
'/subscriptions/zoneStatus/{subscriptionId}':
get:
description: This operation is used for retrieving an individual subscription to zone status change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
Sebastian Muellers
committed
responses:
'200':
description: Response to retrieve individual zone status subscription
schema:
properties:
zoneStatusSubscription:
$ref: '#/definitions/ZoneStatusSubscription'
Sebastian Muellers
committed
examples:
application/json:
zoneStatusSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
numberOfUsersZoneThreshold: '500'
operationStatus: Serviceable
put:
description: This operation is used for updating an individual subscription to zone status change notification.
Sebastian Muellers
committed
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
- $ref: '#/parameters/Body.ZoneStatusSubscription'
Sebastian Muellers
committed
responses:
'200':
description: Response to update individual zone status subscription
schema:
properties:
zoneStatusSubscription:
$ref: '#/definitions/ZoneStatusSubscription'
Sebastian Muellers
committed
examples:
application/json:
zoneStatusSubscription:
clientCorrelator: '0123'
resourceURL: 'http://example.com/exampleAPI/location/v1/subscriptions/zoneStatus/subscription123'
Sebastian Muellers
committed
callbackReference:
notifyURL: 'http://clientApp.example.com/location_notifications/123456'
zoneId: zone01
numberOfUsersZoneThreshold: '500'
operationStatus: Serviceable
delete:
description: This operation is used for cancelling a subscription and stopping corresponding notifications.
produces:
- application/json
parameters:
- $ref: '#/parameters/Path.SubscriptionId'
responses:
'204':
description: No content
Sebastian Muellers
committed
definitions:
AccessPointId:
description: 'Identifier of access point, <E-CGI><Cell Portion ID> (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element'
Sebastian Muellers
committed
type: string
example: '001010000000000000000000000000001'
AccessPointInfo:
description: A type containing access point information.
type: object
Sebastian Muellers
committed
required:
- accessPointId
- connectionType
- operationStatus
- numberOfUsers
- resourceURL
properties:
accessPointId:
Sebastian Muellers
committed
locationInfo:
Sebastian Muellers
committed
connectionType:
Sebastian Muellers
committed
operationStatus:
Sebastian Muellers
committed
numberOfUsers:
Sebastian Muellers
committed
timezone:
Sebastian Muellers
committed
interestRealm:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
AccessPointList:
description: A type containing list of access points.
type: object
Sebastian Muellers
committed
required:
- zoneId
- resourceURL
properties:
zoneId:
Sebastian Muellers
committed
accessPoint:
description: Collection of the access point information list.
type: array
items:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
Address:
description: 'Address of user (e.g. "sip" URI, "tel" URI, "acr" URI).'
type: string
format: uri
example: 'acr:192.0.2.1'
AncillaryInfo:
description: Reserved for future use.
type: string
Sebastian Muellers
committed
CallbackData:
description: 'CallBackData if passed by the application during the associated ZonalTrafficSubscription and UserTrackingSubscription operation. See [REST_NetAPI_Common].'
Sebastian Muellers
committed
type: string
example: '1234'
CallbackReference:
description: Notification callback definition.
type: object
Sebastian Muellers
committed
required:
- notifyURL
properties:
notifyURL:
Sebastian Muellers
committed
ClientCorrelator:
description: 'Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.'
Sebastian Muellers
committed
type: string
example: '0123'
ConnectionType:
description: The connection type for the access point
type: string
example: Macro
ContextLocationInfo:
description: 'Contextual information of a user location (e.g., aisle, floor, room number, etc.)'
Sebastian Muellers
committed
type: string
Sebastian Muellers
committed
CurrentAccessPointId:
description: Zone ID
type: string
example: zone01
Duration:
description: 'Period (in seconds) of time notifications are provided for. If set to "0" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.'
Sebastian Muellers
committed
type: string
example: '0'
InterestRealm:
description: 'Interest realm of access point (e.g. geographical area, a type of industry etc.).'
Sebastian Muellers
committed
type: string
example: LA
Link:
description: Link to other resources
type: object
Sebastian Muellers
committed
required:
- rel
- href
properties:
rel:
description: Describes the relationship between the URI and the resource.
type: object
format: string
href:
description: URI
type: object
format: anyURI
LocationInfo:
description: 'A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.'
Sebastian Muellers
committed
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
type: object
required:
- latitude
- longitude
- accuracy
properties:
latitude:
type: number
format: float
example: '80.123'
longitude:
type: number
format: float
example: '70.123'
altitude:
type: number
format: float
example: '10.0'
accuracy:
type: integer
format: int32
example: '10'
NotifyURL:
description: The URL of your own listener application.
type: string
format: url
example: 'http://clientApp.example.com/location_notifications/123456'
NumberOfAccessPoints:
description: The number of access points within the zone
type: integer
format: uint32
example: '10'
NumberOfUnserviceableAccessPoints:
description: Number of inoperable access points within the zone.
type: integer
format: uint32
example: '9'
NumberOfUsers:
description: The number of users currently on the access point.
type: integer
format: uint32
example: '7'
NumberOfUsersAPThreshold:
description: Threshold number of users in an access point which if crossed shall cause a notification.
Sebastian Muellers
committed
type: integer
format: uint32
example: '20'
NumberOfUsersInAP:
description: This element shall be present when ZoneStatusSubscription includes numberOfUsersAPThreshold element and the number of users in an access point exceeds the threshold defined in the subscription.
Sebastian Muellers
committed
type: integer
format: uint32
example: '12'
NumberOfUsersInZone:
description: This element shall be present when ZoneStatusSubscription includes numberOfUsersZoneThreshold element and the number of users in a zone exceeds the threshold defined in this subscription.
Sebastian Muellers
committed
type: integer
format: uint32
example: '20'
NumberOfUsersZoneThreshold:
description: Threshold number of users in a zone which if crossed shall cause a notification.
Sebastian Muellers
committed
type: integer
format: uint32
example: '40'
OperationStatus:
description: The operation status of the access point
type: string
example: Serviceable
PreviousAccessPointId:
description: Zone ID
type: string
example: zone02
ResourceURL:
description: Self referring URL.
type: string
format: uri
example: 'http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123'
Sebastian Muellers
committed
Timestamp:
description: Indicates the time of day for zonal presence notification.
type: string
format: date-time
example: '2017-01-01T02:51:43Z'
Timezone:
description: Time zone of access point
type: string
format: date-time
example: '2017-01-01T02:51:43Z'
UserEventCriteria:
description: 'List of user event values to generate notifications for (these apply to address specified). If this element is missing, a notification is requested to be generated for any change in user event.'
Sebastian Muellers
committed
type: array
items:
Sebastian Muellers
committed
UserEventType:
description: User event
type: string
example: Entering
UserInfo:
description: A type containing user information.
type: object
Sebastian Muellers
committed
required:
- address
- accessPointId
- zoneId
- resourceURL
properties:
address:
Sebastian Muellers
committed
accessPointId:
Sebastian Muellers
committed
zoneId:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
locationInfo:
Sebastian Muellers
committed
contextLocationInfo:
$ref: '#/definitions/ContextLocationInfo'
Sebastian Muellers
committed
ancillaryInfo:
Sebastian Muellers
committed
UserList:
description: A type containing list of users.
Sebastian Muellers
committed
required:
- resourceURL
properties:
user:
description: Collection of the zone information list.
type: array
items:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
UserTrackingSubscription:
description: A type containing user tracking subscription.
type: object
Sebastian Muellers
committed
required:
- callbackReference
- address
properties:
clientCorrelator:
$ref: '#/definitions/ClientCorrelator'
Sebastian Muellers
committed
callbackReference:
$ref: '#/definitions/CallbackReference'
Sebastian Muellers
committed
address:
Sebastian Muellers
committed
userEventCriteria:
$ref: '#/definitions/UserEventCriteria'
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
ZonalPresenceNotification:
description: A type containing zonal presence notification
type: object
Sebastian Muellers
committed
required:
- zoneId
- address
- userEventType
- currentAccessPointId
- timestamp
properties:
callbackData:
Sebastian Muellers
committed
zoneId:
Sebastian Muellers
committed
address:
Sebastian Muellers
committed
interestRealm:
Sebastian Muellers
committed
userEventType:
Sebastian Muellers
committed
currentAccessPointId:
$ref: '#/definitions/CurrentAccessPointId'
Sebastian Muellers
committed
previousAccessPointId:
$ref: '#/definitions/PreviousAccessPointId'
Sebastian Muellers
committed
timestamp:
Sebastian Muellers
committed
link:
description: Link to other resources that are in relationship with this notification. The server SHOULD include a link to the related subscription. No other links are required or suggested by this specification.
Sebastian Muellers
committed
type: array
items:
$ref: '#/definitions/Link'
example: 'rel="ZonalTrafficSubscription" href="http://example.com/exampleAPI/location/v1/subscriptions/zonalTraffic/sub123"/'
Sebastian Muellers
committed
ZonalTrafficSubscription:
description: A type containing zonal traffic subscription
type: object
required:
- callbackReference
- zoneId
properties:
clientCorrelator:
$ref: '#/definitions/ClientCorrelator'
Sebastian Muellers
committed
callbackReference:
$ref: '#/definitions/CallbackReference'
Sebastian Muellers
committed
zoneId:
Sebastian Muellers
committed
interestRealm:
description: 'Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).'
Sebastian Muellers
committed
type: array
items:
Sebastian Muellers
committed
userEventCriteria:
description: 'List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.'
Sebastian Muellers
committed
type: array
items:
Sebastian Muellers
committed
duration:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
ZoneId:
description: Identifier of zone
type: string
example: zone01
ZoneInfo:
description: A type containing zone information.
Sebastian Muellers
committed
required:
- zoneId
- numberOfAccessPoints
- numberOfUnservicableAccessPoints
- numberOfUsers
- resourceURL
properties:
zoneId:
Sebastian Muellers
committed
numberOfAccessPoints:
$ref: '#/definitions/NumberOfAccessPoints'
Sebastian Muellers
committed
numberOfUnservicableAccessPoints:
$ref: '#/definitions/NumberOfUnserviceableAccessPoints'
Sebastian Muellers
committed
numberOfUsers:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
ZoneList:
description: Collection of the zone information list.
Sebastian Muellers
committed
required:
- resourceURL
properties:
zone:
description: Collection of the zone information list.
type: array
items:
Sebastian Muellers
committed
resourceURL:
Sebastian Muellers
committed
ZoneStatusNotification:
description: A type containing zone status notification.
type: object
Sebastian Muellers
committed
required:
- zoneId
- timestamp
properties:
callbackData:
Sebastian Muellers
committed
zoneId:
Sebastian Muellers
committed
accessPointId: