Typical API usage description
iBeacon information APIs
There are two APIs available - one to get the list of iBeacons deployed at and airport, and the second to get details of an iBeacon. The typical use scenario for an app is as follows:
- The iBeacon values and/or placements may change periodically, so it is important to have an up to date list cached on the phone prior to arrival at the airport. Based on itinerary data, GET the list of iBeacons at the airports the passenger will be travelling through. It is recommended to get the list of all airports while the passenger is at a location not subject to data roaming charges.
- Setup geographical region monitoring for the Airport.
- On arrival at the airport, setup iBeacon region monitoring for the UUID and/or majorIds of the beacons relevant to your use case(s).
- When the passenger's phone comes into proximity of a beacon, it will be woken up. The app can then do some 'Ranging' to identify the details of the beacons in proximity (the UUID/major/minor) and these use these values to GET further details about that beacon.
- Query the registry to get full details of the beacon from the registry.
- Stop iBeacon region monitoring when the passenger departs the airport.
- As part of the crowd sourced health monitoring system, the applicaiton should also POST a
Crowd sourced health monitoring
All applications using the Common-use iBeacon registry must contribute to keeping the service active & healthy. This is done by reporting the beacons observed by your application during the day of travel. Your app should store in collection the iBeacons observed (regardless of wether the iBeacon was utilised in a usecase) and periodically POST this data to the registry. It is recommended that this data is POSTed to the Registry at conclusion of day of travel.
The registry will use this data to flag when iBeacons are no longer observed. The missing iBeacon can then be replaced, keeping the overall system healthy.
Beacon Registry SDK
To simplify calling the REST APIs, there is a SDK available on https://github.com/sitalab/beaconRegistry