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
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": 5481.531952011595, "name": "name", "description": "description", "currency": "currency", "id": 2845, "preSelected": true }], "pages": 6290, "pricelistsCount": 5995, "pageSize": 7837, "page": 2981 }
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": 61.89347506719955, "name": "name", "description": "description", "currency": "currency", "id": 1487, "preSelected": false }], "pages": 2291, "pricelistsCount": 6921, "pageSize": 1414, "page": 1611 }
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", "name": "name", "description": "description", "currency": "currency", "preSelected": true }
Successfull response:
{ "code": "code", "rate": 3706.062936566121, "name": "name", "description": "description", "currency": "currency", "id": 1505, "preSelected": true }
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": 3571.74377993877, "name": "name", "description": "description", "currency": "currency", "id": 3953, "preSelected": false }
Successfull response:
{ "code": "code", "rate": 2911.6654946015087, "name": "name", "description": "description", "currency": "currency", "id": 3349, "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": 9334, "pageSize": 7460, "pricesCount": 5282, "page": 4081, "prices": [{ "listId": 5970, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 6548 }
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": 6083, "pageSize": 4160, "pricesCount": 2105, "page": 1891, "prices": [{ "listId": 9632, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 979 }
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": 2122, "pageSize": 1777, "pricesCount": 188, "page": 5303, "prices": [{ "listId": 3123, "price": "0", "articleId": "articleId", "fromQuantity": "0", "listExternalId": "listExternalId" }], "since": 6661 }
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
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
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
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 | 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 |