DEPRECATED for 2.0
New Article: https://portal.arcavis.ch/help-article/154
Introduction
The Arcavis-API is setup as RESTful Webservice and sends and receives JSON-Content.
The API can be accessed with the following URL. (Web-API-Module must be licensed).
https://yourpage.arcavis.ch/api/
The Resources accept the following HTTP Methods
- GET to getdata
- POST to create/update new data
- PUT to change existing data
- DELETE to delete data
Not for every resource all methods are available. Helper-Ressources usually only have GET-Methods to obtain values and corresponding keys.
Documentation
The Documentation is generated with Swagger, you can access it via
https://yourpage.arcavis.ch/swagger
Authorization
Authentication and Authorization is done via HTTP Header
Authorization: Basic d2ViYXBpOjEyMzQ1Ng==
Since these credentials are not encrypted, the API should only be accessed via HTTPS Channel.
Create a user in Arcavis with the Role "Web-API" and use the username and password to create the authentication token. To do this, you need to encode a string (Base 64 Encoding) with the following content: "username:password". This can be done with https://www.base64encode.org for example.
Basic return object
The return object of any API-Call is a JSON object with the following structure:
| Field | Type | Description |
| Result | Value | This could contain a Integer, a Boolean, a JSON Object or a List of JSON Objects |
| IsSuccessful | Boolean | True if the operation was successful. |
| Message | String | Contains additional information about the success of the operation. |
Example
{
"Result": 12968,
"IsSuccessful": true,
"Message": ""
}
Sync return object
Additionaly to the field above, the return objects for all diff-sets have the following fields.
Diff sets are used to only fetch data since a given time.
| Field | Type | Description |
| DataAgeTicks | Long | The datetime of when the data was fetched |
| DeletedIds | List<object> | The List of deleted Ids since the provided date |
Example
{
"DataAgeTicks": 636458124504177200,
"Result": [],
"IsSuccessful": true,
"Message": "",
"DeletedIds": [
58
]
}Paged return object
If the results are paged, the return object will have the following fields (additionaly to the ones above).
Paging helps to speed up data fetching for a large result set. It can only be used for the Articles resource.
| Field | Type | Description |
| TotalPages | Integer | The number of total pages to be expected |
| Page | Integer | The current page displayed |
| PageSize | Integer | The number of results per page |
Example
{
"TotalPages": 395,
"Page": 1,
"PageSize": 10,
"Result": [],
"IsSuccessful": true,
"Message": ""
}