Parking APIs Introduction
Nwave provides four APIs to its clients. There are two main types of APIs – Push and Pull.
Data is retrieved by a client from the source in Pull APIs.
Data is sent by the source to a client in Push APIs.
Nwave’s APIs are based on three technologies
HTTP
AMQP
GraphQL
Type | Technology | API | Advantages | Disadvantages | Typical applications |
---|---|---|---|---|---|
Push | HTTP |
|
|
| |
AMQP |
|
|
| ||
Pull | HTTP |
|
|
| |
|
|
| |||
Push & Pull | GraphQL |
|
|
|
Â
HTTP Caller
Diagram:
HTTP Caller API is one of the simplest types of API but provides little functionality to users. This API sends HTTP requests to your configured endpoints. HTTP requests are formed based on raw sensor events. During downtime, Nwave’s cloud will make at up to 100 retries for each request which can lead to high traffic spikes.
More details about this API can be found here HTTP Caller.
RabbitMQ RTA & Sessions
Diagram:
Rabbit MQ is an enterprise-grade message bus that separates the application from transport layers. For example, RabbitMQ lets you set up messaging politics according to your preferences (e.g. you can configure a period and volume of message retention on a RabbitMQ server in case your service is offline).
Nwave provides two types of parking data through RabbitMQ:
RabbitMQ RTA (Real-Time Availability) gives you enriched parking occupancy information about every parking event. This lets you receive comprehensive application occupancy data for unmarked bays (when one car can occupy more than one sensor). | RabbitMQ Parking Session Logging saves your time and resources on developing and maintaining the code for storing occupancy history. RabbitMQ session is logging data which is already enriched by Nwave cloud (for marked and unmarked bays): session start, end time, session restoration in case of partial message loss and SDI data. |
More details about these API can be found here:RabbitMQ.
REST Occupancy
REST Occupancy API is the API for retrieving real-time parking availability through simple HTTP requests.
This API provides a wide spectrum of query filters. You can use this API directly in your Web and Mobile Apps to:
Display occupancy around a user on the map
Recommend the nearest available parking spaces
More details about this API can be found here: REST Occupancy API.
GraphQL Occupancy
GraphQL Occupancy API provides the same functionality as Occupancy REST API (see above). But there are a few differences, which are very significant for Mobile Apps and other low-latency applications.
GraphQL API provides real-time occupancy updates on end-user devices. The application is able to subscribe to occupancy changes within a specified geospatial area.
GraphQL API allows you to request specific fields of an object which can significantly reduce traffic and increase speed.
More details about this API can be found here: GraphQL Occupancy API.
Â
Â