click the image to access the tool (for registered users)
The whole set of Snap4City API also called Smart City API. They are listed and well documented in SWAGGER https://www.km4city.org/swagger/external/ as reported in the above image (https://www.km4city.org/swagger/external/ ) . In addition, they have been tested and validated by using standard tools. Please note that also the internal API are documented in Swagger, and this information is accessible from https://www.km4city.org/swagger/internal/
Snap4City for Developers
(Dur: 5' 00)
(Dur: 16' 43'')
The updated Snap4City mobile development App Kit as open source for developing mobile and web App using Cordoba Apache is accessible on GitHUB from:
ServiceMap can be accessed from the main menu: "Knowledge and maps--> ServiceMap". Please note that the ServiceMap may be different for each Organization and city to faciliate the positioning of the map in the center of the geo area of the organization. On the other hand, the Smart City API can be generalized by invoking in the final application the SUPER federated Smart City API with the same API call to create Web and Mobile Applications that are independent on the Organization.
The set of Snap4City API includes the following main API that may have a value for the city developers:
- Advanced Smart City API described in mode details below. These APIs are also accessible as IOT MicroServices block for IOT Applications as described in https://www.km4city.org/iot-micro-doc/user.html, and https://www.km4city.org/iot-micro-doc/index.html (as example the full documentation is accessible only from inside the IOT Application)
- IOT Device Registration API: which can be used to register IOT devices to the IOT Directory, also accessible as IOT MicroServices block for IOT Applications
- Notificator API: to get informed about notifications defined in the Notificator and City Dashboard, also accessible as IOT MicroServices block for IOT Applications
- DISCES Scheduler API: for monitoring and controlling back office processes of data ingestion and analytics, also accessible as IOT MicroServices block for IOT Applications, for developers
- Km4City Web App API, also called MicroApplications, these application can be called as API Rest as well and can be integrated into City Dashboards, so that directly from the Dashboard Builder and/or from the IOT applications you create
- Resource Manager API, also called ProcessLoader API: they can be used to save and search Resources managed by the Resource Manager (https://processloader.snap4city.org ), they can be IOT Applications, ETL processes, Data Analytics Processes, Dashboard, etc. They can be saved and retrieve from the API so that the other tools can use the Resource Manager as show case of their instances, to share and promote they work.
- Sensor API: it is a strange name for their usage. In effect are API that the mobile phone and other devices can use to communicate to the back office about their status, position, etc. It is also used to get back suggestions, hints, assistance, soundages, etc.
The updated Snap4City mobile development App Kit as open source example for developing mobile and web Apps using cordoba apache accessible on GitHUB from:
The Advanced Smart City API can be used to develop Web (HTML5) and Mobile Apps and provides support for a number of services:
- Search data: by text, near, along line, POI, etc. resolving text to GPS and formal city nodes model, resolving from GPS to street civic number, etc.
- Empowering the city users: collecting data from end users’ bidirectional data flow; votes, comments, images;
- Access to event information provided that they are loaded into the storage with some ETL or NodeRED process;
- accessing to info and service on Public Mobility: busstops, public transport lines (bus, train, and ferry), public routes, public transport position, arrivel time, etc.;
- accessing to info and service on Private Mobility: routing, parking recovery;
- accessing to Cultural and Touristic information, POI;
- accessing to health services & Environmental info;
- requesting routing: car, vehicle, multimodal exploiting pedestrian and any public transport, if any;
- requesting Suggestions;
- requesting Personal Assistant hints, provided that you have an Assistant installed in the solution;
- subscription/request of a Snap4City Applications;
- Sharing knowledge among cities
- providing feedback about services
- IOT device Discovery
- IOT sensor/actuator Discovery by ValueType and/or ValueUnit
Snap4City APIs support real time data streams, on demand and event driven. Real time open data are managed in the full stack from IOT Device/Brokers, IOT Applications and Dashboard such as via: WebSockets, MQTT, etc. The real time stream can be managed at level of IOT Device/Application, Data Analytics and directly on Dashboards with WebSockets. In addition, the so called Sensor API for Mobile Phone and other devices can be used to communicate to the back office about their status, position, etc. It is also used to get back suggestions, hints, assistance, soundages, etc.
Please note that some of the following links could be accessible only for registered users.
Snap4City Smart City API:
- Advanced Smart City API: https://www.snap4city.org/download/video/Km4City_Smart_City_API_Guideline_version_1_Sii-Mobility.pdf
- Tutorial for App developers using Advanced Smart City API: https://www.disit.org/7044
- Documentation in Swagger: https://www.km4city.org/swagger/external/index.html and https://www.km4city.org/swagger/internal/index.html
- Testing in Postman: https://documenter.getpostman.com/view/4177198/km4city-api/RW83QsX5
- Web page here on testing Snap4City API: https://www.snap4city.org/drupal/node/70
Web/Mobile MicroApplication services:
The updated Snap4City mobile development App Kit as open source for developing mobile and web App using cordoba apache is accessible on GitHUB from:
- User manual:https://www.snap4city.org/download/docs/video/Km4city%20Web%20App%20APIv0-4.pdf
- Web App Km4City as HTML5 app on web: https://www.km4city.org/webapp-new/
- Km4City mobile App are on stores such as: Google Play, Apple Store, etc.