Software interface¶
Integration of external applications with the Tabella can be implemented in three different ways, that allows to utilize the data stored by Tabella.
Tabella SQL Export
Tabella Web Service
Tabella SQL Export¶
Tabella SQL Export is a licensed feature to write out data existing in Tabella to an external database.
Database tables and explanations:
chart_of_accounts = Chart of accounts and reports
chart_of_accounts_calc = Screen calculations
companies = Companies (excl. G_C, _SpecRep or Payroll-cubes)
companies_dimension_details
companies_dimensions = What dimensions company is using, i.e. the relations between companies and dimensions.
companies_transactions = Transactions
dimensions = Dimensions’ codes and hierarchies (= hierarchies and groupings)
form_data = Forms, if in use
groups = User groups
log = Export log
preferences = General Tabella’s definitions, e.g. active period
saldos = Actual, budget and forecast
users = Users
Tabella Web Service -interface¶
The Tabella Web Service software interface allows to read data existing in Tabella. The interface works one-way, meaning the data can be read only - not write. Web Service works as an Rest architecture (Representational State Transfer) that is built on HTTP protocol. Server responses are given in JSON format.
JSON Webkit Token is used for user authentication (JWT). For this authentication, the software sends login information using the HTTP-POST method, to the target server in JSON format. After successful authentication, the server returns an access key (access_token). The access key expires in 15 minutes, during which, by using the access key, requests can be made for the interface. After the expiration time has expired, the access key is invalidated, and the interface requires re-authentication.
Learn more about using the interface in OpenAPI 3.0 format, see the documentation: https://app.swaggerhub.com/apis/tabella/Tabella-Rest-API
Note
As a function in Tabella Cloud environment only.
Curl program example
$ curl -H "Content-Type: application/json" -X POST -d '{"username":"test-user","password":"test-pass"}' https://api.tabella.fi/v1/auth/login
<< {"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODk2NTQ2NTUsIm5iZiI6MTU4OTY1NDY1NSwianRpIjoiNzBlZTE0ZGItNDQ2OS00YmI0LWI5N2QtNzhiMDdhYzM5YTljIiwiZXhwIjoxNTg5NjU1NTU1LCJpZGVudGl0eSI6InRlc3QiLCJmcmVzaCI6ZmFsc2UsInR5cGUiOiJhY2Nlc3MifQ.op_3aIFXRZyYjfdWf-qvUPFfwAlqWQBpAyuSpS6gdJQ"}
$ export ACCESS="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODk2NTQ2NTUsIm5iZiI6MTU4OTY1NDY1NSwianRpIjoiNzBlZTE0ZGItNDQ2OS00YmI0LWI5N2QtNzhiMDdhYzM5YTljIiwiZXhwIjoxNTg5NjU1NTU1LCJpZGVudGl0eSI6InRlc3QiLCJmcmVzaCI6ZmFsc2UsInR5cGUiOiJhY2Nlc3MifQ.op_3aIFXRZyYjfdWf-qvUPFfwAlqWQBpAyuSpS6gdJQ"
$ curl -H "Authorization: Bearer $ACCESS" https://api.tabella.fi/v1/stats
<< {"logged_in_as":"test-user"}
$ curl -H "Authorization: Bearer $ACCESS" https://api.tabella.fi/v1/tenantlist
<< {"tenants": ...
Python program example
1import requests
2import json
3from pprint import pprint
4
5def auth():
6 login = requests.post('https://api.tabella.fi/v1/auth/login', json = {"username":"test-user","password":"test-pass"})
7 r = json.loads(login.text)
8 return r["access_token"]
9
10def stats(access_token):
11 r = requests.get('https://api.tabella.fi/v1/stats', headers={'Authorization': 'Bearer '+access_token})
12 return json.loads(r.text)
13
14def tenantlist(access_token):
15 r = requests.get('https://api.tabella.fi/v1/tenantlist', headers={'Authorization': 'Bearer '+access_token})
16 return json.loads(r.text)
17
18access_token = auth() # Authentication
19
20stats = stats(access_token) # Get stats
21pprint(stats)
22
23tenantlist = tenantlist(access_token)
24pprint(tenantlist)