APIs » History » Version 2
Philippe May, 05/04/2021 11:35
| 1 | 1 | Philippe May | h1. APIs |
|---|---|---|---|
| 2 | 1 | Philippe May | |
| 3 | 1 | Philippe May | Gisaf's web interface uses server's APIs, that can also be used for third party software integration, eg. for retrieving data from the database with HTTP requests. |
| 4 | 1 | Philippe May | |
| 5 | 1 | Philippe May | The APIs use 2 technologies: json REST stores and Graphql. |
| 6 | 1 | Philippe May | |
| 7 | 2 | Philippe May | This page is a work-in-progress documentation effort. Refer to source code for a comprehensive and up to date API list and usage: |
| 8 | 1 | Philippe May | |
| 9 | 1 | Philippe May | * https://redmine.auroville.org.in/projects/gisaf/repository/revisions/master/entry/gisaf/api.py |
| 10 | 1 | Philippe May | * https://redmine.auroville.org.in/projects/gisaf/repository/revisions/master/entry/gisaf/graphql_api.py |
| 11 | 1 | Philippe May | |
| 12 | 2 | Philippe May | It's also easy to track the HTTP requests in use by the web site, using standard web development tools like those embedded in all modern browsers. |
| 13 | 2 | Philippe May | |
| 14 | 2 | Philippe May | |
| 15 | 1 | Philippe May | h2. Json stores |
| 16 | 1 | Philippe May | |
| 17 | 1 | Philippe May | h3. Getting record values from devices |
| 18 | 1 | Philippe May | |
| 19 | 1 | Philippe May | For the custom models that define time-based values, eg. fetched from "IoT" enabled devices such as weather stations or other sensors, the generic HTTP request scheme is: |
| 20 | 1 | Philippe May | |
| 21 | 1 | Philippe May | <pre> |
| 22 | 2 | Philippe May | <http_request_prefix>/api/<store>/values/<value>?<parameters> |
| 23 | 1 | Philippe May | </pre> |
| 24 | 2 | Philippe May | |
| 25 | 2 | Philippe May | Where: |
| 26 | 2 | Philippe May | |
| 27 | 2 | Philippe May | * http_request_prefix: base URI base of the site (eg. "https://gis.auroville.org.in") |
| 28 | 2 | Philippe May | * store: name of the store of the geographical feature (eg. "avsm_misc.weather_station") |
| 29 | 2 | Philippe May | * value: name of the value for the store (eg. "temperature") |
| 30 | 2 | Philippe May | * parameters: URL-encoded query string, see below for details. |
| 31 | 2 | Philippe May | |
| 32 | 2 | Philippe May | h4. Parameters |