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.
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.
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
Body:
Successfull response:
{"pricelists": [{ "code": "code", "rate": 2528.473857928062, "name": "name", "description": "description", "currency": "currency", "id": 1640, "preSelected": false }]}
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": 9472.847791570708, "name": "name", "description": "description", "currency": "currency", "id": 1807, "preSelected": true }]}
Add pricelist
POSTUrl: /lists
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Add a new pricelist
Body:
{ "code": "code", "rate": 6410.876350260745, "name": "name", "description": "description", "currency": "currency" }
Successfull response:
{ "code": "code", "rate": 5085.22352687148, "name": "name", "description": "description", "currency": "currency", "id": 1278, "preSelected": false }
Update pricelist
PUTUrl: /lists/{id}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Update an existing pricelist
Body:
{ "code": "code", "exchangeRate": 8873.05189416687, "name": "name", "description": "description", "currency": "currency", "id": 8047, "preSelected": true }
Successfull response:
{ "code": "code", "rate": 588.8342400162471, "name": "name", "description": "description", "currency": "currency", "id": 3797, "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 |
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": 2303, "pageSize": 1640, "pricesCount": 1616, "page": 7879, "prices": [{ "listId": 423, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 1014 }
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": 244, "pageSize": 3338, "pricesCount": 7779, "page": 3086, "prices": [{ "listId": 1542, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 9914 }
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": 6471, "pageSize": 9657, "pricesCount": 6031, "page": 1168, "prices": [{ "listId": 3560, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 9533 }
Add price
POSTUrl: /lists/{id}/prices
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Add a new price for a pricelist and article
Update prices for article
PUTUrl: /article/{article_id}
Headers:
Accept: application/json or application/xml
Content-type: 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
Update prices
PUTUrl: /list
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Update a list of prices. Input is a list of ArticlePrices
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
Content-type: application/json or application/xml
Update a price for a specific pricelist and article
Delete price
DELETEUrl: /lists/{id}/article/{article_id}/prices/{from}
Headers:
Accept: application/json or application/xml
Content-type: 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 | 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,W | |||||
preSelected | boolean | R |
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 |
---|---|---|---|---|---|---|---|
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 |