Goto APIs

Roles API

General:

Basics:

Base-URL: https://capi.lagerkoll.com/v1/roles/
Parameters in the url should all be encoded and all data sent should be UTF-8

MAX number of requests per minute is set to 200.
When the limit is hit an error with code 429 is returned, with the header "Retry-After" containing the number of seconds you have to wait for your next request.

Headers:

There are 2 ways to be authenticated when using this API. in both ways you add headers to the request.
1) Use an API-key together with store-id. This would be used when communicating machine to machine and no real person is involved. The API-key is available from where you activated the API. The store-id is also available in the same place.
2) Use a user_id and user_token together with a store-id. You get these values from the login-request. The values are connected to a person and are gained when an actual login to the system has been made.
store: <<STORE>>
user_id: <<USER_ID>>
user_token: <<USER_TOKEN>>
api_key: <<API_KEY>>
Accept: application/json
Content-Type: application/json

Errors:

Code Description
900001 Credentials don't match
900101 Common error
900429 Too many requests
908001 Error getting role
908002 Error creating role
908003 Error updating role
{
  "errorCode" : 900101,
  "errorMessage" : "Something went wrong on the server",
  "errorField" : null,
  "errorData" : null
}

Roles API:

Role

Get roles

GETUrl:
Headers:
Accept: application/json or application/xml
Get list of roles
Body:
Successfull response:

{"roles": [{ "storeGroupId": 7935, "paths": {}, "name": "name", "id": 9257, "fields": {}, "portal": "portal", "users": 897 }]}

Get role

GETUrl: /{role_id}
Headers:
Accept: application/json or application/xml
Get role by id
Body:
Successfull response:

{"roles": [{ "storeGroupId": 553, "paths": {}, "name": "name", "id": 3738, "fields": {}, "portal": "portal", "users": 1386 }]}

Add role

POSTUrl:
Headers:
Accept: application/json or application/xml
Add new role
Body:

{ "paths": {}, "name": "name", "fields": {}, "portal": "portal" }
Successfull response:

{"roles": [{ "storeGroupId": 8924, "paths": {}, "name": "name", "id": 8313, "fields": {}, "portal": "portal", "users": 1276 }]}

Update role

PUTUrl: /{role_id}
Headers:
Accept: application/json or application/xml
Update existing role
Body:

{ "storeGroupId": 2855, "paths": {}, "name": "name", "id": 2133, "fields": {}, "portal": "portal", "users": 6231 }
Successfull response:

{"roles": [{ "storeGroupId": 2923, "paths": {}, "name": "name", "id": 7656, "fields": {}, "portal": "portal", "users": 3668 }]}

Delete role

DELETEUrl: /{role_id}
Headers:
Accept: application/json or application/xml
Delete existing role
Body:
Successfull response:

Classes:

Role

Field Type Description Default Mandatory Accepted values Example values Access
id Long R
storeGroupId Long R
name String R,W
paths ArrayList List of paths role has access to R,W
fields HashMap List of objects and fields that is filtered out when sending data to api and request data from api R,W
portal String What part of Lagerkoll is the role used ADMIN, SHOP R,W
users int Number of users connected to role R

RolesResponse

Field Type Description Default Mandatory Accepted values Example values Access
roles List R