Goto APIs

Prices API

General:

Basics:

Base-URL: https://capi.lagerkoll.com/v1/prices/
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
900301 Error when getting a pricelist
900302 Error when creating a pricelist
900303 Error when updating a pricelist
900304 Error when deleting a pricelist
900305 Error when getting a single price
900311 Error when getting prices
900312 Error when creating a price
900313 Error when updating a price
900314 Error when deleting a price
{
  "errorCode" : 900101,
  "errorMessage" : "Something went wrong on the server",
  "errorField" : null,
  "errorData" : null
}

Prices API:

Pricelists

Get pricelists

GETUrl: /lists
Headers:
Accept: application/json or application/xml
Get a list of pricelists

Valid parameters:

Parameter Description Default value Allowed values
query
page 0
limit 25
order asc
sort_column code id, code, name, currency

Body:
Successfull response:

{ "pricelists": [{ "code": "code", "rate": 9092.986669610851, "name": "name", "description": "description", "currency": "currency", "id": 4993, "preSelected": true }], "pages": 4223, "pricelistsCount": 8990, "pageSize": 8861, "page": 5197 }

Get pricelist

GETUrl: /lists/{id}
Headers:
Accept: application/json or application/xml
Get a single pricelist based in pricelist id

Valid parameters:

Parameter Description Default value Allowed values
default_if_missing true

Body:
Successfull response:

{ "pricelists": [{ "code": "code", "rate": 802.7239247558937, "name": "name", "description": "description", "currency": "currency", "id": 773, "preSelected": false }], "pages": 1592, "pricelistsCount": 8478, "pageSize": 6617, "page": 3165 }

Add pricelist

POSTUrl: /lists
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Add a new pricelist
Body:

{ "code": "code", "name": "name", "description": "description", "currency": "currency", "preSelected": true }
Successfull response:

{ "code": "code", "rate": 3758.8323247901135, "name": "name", "description": "description", "currency": "currency", "id": 3731, "preSelected": false }

Update pricelist

PUTUrl: /lists/{id}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Update an existing pricelist
Body:

{ "code": "code", "exchangeRate": 284.21431346357775, "name": "name", "description": "description", "currency": "currency", "id": 8103, "preSelected": true }
Successfull response:

{ "code": "code", "rate": 9893.559249533351, "name": "name", "description": "description", "currency": "currency", "id": 1031, "preSelected": false }

Delete pricelist

DELETEUrl: /lists/{id}
Headers:
Accept: application/json or application/xml
Delete an existing pricelist
Body:
Successfull response:

Prices

Calculate price

GETUrl: /lists/{list_id}/article/{article_id : .+}/amount/{amount}/price
Headers:
Accept: application/json or application/xml
Calculate price for a specific pricelist, article and amount

Valid parameters:

Parameter Description Default value Allowed values
price
store If checking prices for a customer order where article is from another store, pass that store
get_default_sales_price true

Body:
Successfull response:

{"price": 5616.779536425386}

Get prices

GETUrl: /lists/{id}/prices
Headers:
Accept: application/json or application/xml
Get a list of prices for a specific pricelist

Valid parameters:

Parameter Description Default value Allowed values
since 0
page 0
limit 100

Body:
Successfull response:

{ "pages": 5609, "pageSize": 4585, "pricesCount": 958, "page": 1377, "prices": [{ "listId": 9035, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 9666 }

Get prices for list and article

GETUrl: /lists/{id}/article/{article_id}/prices
Headers:
Accept: application/json or application/xml
Get a list of prices for a specific pricelist and article

Valid parameters:

Parameter Description Default value Allowed values
since 0
page 0
limit 100

Body:
Successfull response:

{ "pages": 7930, "pageSize": 6203, "pricesCount": 3775, "page": 7015, "prices": [{ "listId": 1931, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 1457 }

Get prices for article

GETUrl: /article/{article_id}/prices
Headers:
Accept: application/json or application/xml
Get a list of prices for a specific article

Valid parameters:

Parameter Description Default value Allowed values
since 0
page 0
limit 100

Body:
Successfull response:

{ "pages": 9651, "pageSize": 3614, "pricesCount": 9677, "page": 4169, "prices": [{ "listId": 391, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 2822 }

Add price

POSTUrl: /lists/{id}/prices
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Add a new price for a pricelist and article
Body:

{ "listId": 2291, "price": "0", "articleId": "articleId", "fromQuantity": "0" }
Successfull response:

{ "listId": 1703, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }

Update prices

PUTUrl: /list
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Update a list of prices. Input is a list of ArticlePrices
Body:
Successfull response:

Update price for article in list

PUTUrl: /lists/{id}/article/{article_id}/prices/{from}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Update a price for a specific pricelist and article
Body:

{ "listId": 5755, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }
Successfull response:

{ "listId": 6300, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }

Update prices for article

PUTUrl: /article/{article_id}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Update a list of prices for a specific article. Input is a list of Prices
Body:
Successfull response:

{ "listId": 8308, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }

Delete price

DELETEUrl: /lists/{id}/article/{article_id}/prices/{from}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Delete a price on an article in a pricelist
Body:
Successfull response:

Classes:

CalculatePriceResponse

Field Type Description Default Mandatory Accepted values Example values Access
price Double R

Price

Field Type Description Default Mandatory Accepted values Example values Access
listId Long Write only with POST Post R,W
listExternalId String External id of pricelist R
articleId String Write only with POST Post R,W
fromQuantity double Write only with POST 0 R,W
price Double To remove a price, send null to server 0 R,W

Pricelist

Field Type Description Default Mandatory Accepted values Example values Access
id long R
code String Write only with POST Post R,W
name String Write only with POST Post R,W
description String Post R,W
currency String R,W
rate double R
preSelected boolean R,W

PricelistRequest

Field Type Description Default Mandatory Accepted values Example values Access
id long R
code String Write only with POST Post R,W
name String Write only with POST Post R,W
description String Post R,W
currency String R,W
preSelected Boolean Set this pricelist as the default and preselected pricelist. Only one pricelist can be set as default, so the previous one will have its flag reset R,W
exchangeRate Double R

PricelistsResponse

Field Type Description Default Mandatory Accepted values Example values Access
page int R
pages int R
pageSize int R
pricelistsCount int R
pricelists List R

PricesResponse

Field Type Description Default Mandatory Accepted values Example values Access
page int R
pages int R
pageSize int R
pricesCount int R
since long R
prices List R