Test Case Title |
TC5.18 - Snap4City API are documented in Swagger, and tested in Postman |
Goal |
I can: Access to documenting of Snap4City API in Swagger. Access to the testing engine of the Snap4City API in Postman. |
Prerequisites |
Access to internet to get access at documentation in Swagger and testing in Postman. The following functionalities are available only for specific Snap4city users with specific privileges. |
Expected successful result |
Evidence of the fact that Snap4City API are well documented and tested. |
Steps |
The Snap4City API are divided in two main areas:
- Internal: the API that are used for communication among the modules of the platform
- https://www.km4city.org/swagger/internal/index.html
- snap4city.org --> Development Tools --> Docs: Swagger Internal API
- External: the API which are used to communicate with mobiles Applications, devices, third party elements and services, etc.
- https://www.km4city.org/swagger/external/index.html
- snap4city.org --> Development Tools --> Docs: Swagger External API
The Internal Snap4City APIs include:
- IOT device registration API: registration of the devices from the IOT devices itself. The devices can be registered from IOT Applications in NodeRED or directly from 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
- 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 which is a strange name for their nature. In effect, these 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.
- Event Logger API: which allow to log any traffic flow data into a common repository for traffic back office analysis and AMMA dashboard.
- Ownership API: a service for registering the user ownerships of the Snap4City resources, data, IoT devices, dashboard, IOT applications, microservices, dashboard, etc.
- Data manager API: data management API, to save personal data into the safer as “MyPersonalData”, “MyAnnotations”, “keys and info of the peripheral devices”, etc.