Price List API

Retrieve and set product prices by partner, currency, and warehouse

Base URL

https://{tenant}.logzi.com/api/price_list/

Every request returns a JSON response. On success result.code == 1, on error result.code == 0. If neither product_id nor partnumber is provided to the get endpoint, the prices of all products are returned.

GET /api/price_list/get

Retrieve a product's price based on filter criteria. If neither product_id nor partnumber is provided, the prices of all products are returned.

Query parameters

ParameterTypeRequiredDescription
product_idintProduct identifier
company_idintCompany identifier
partner_idintFilter by partner-specific price
currency_idintCurrency identifier
store_idintWarehouse identifier
price_list_idintPrice list identifier

Example request

GET /api/price_list/get?product_id=5¤cy_id=1
X-API-KEY: {your_api_key}
GET /api/price_list/list

Paginated retrieval of price list entries with filtering options.

Query parameters

ParameterTypeRequiredDescription
list_offsetintPagination offset (default: 0)
list_countintNumber of records per page
list_conditionarrayFilter criteria as an associative array
list_paramsarrayAdditional query parameters

Example request

GET /api/price_list/list?list_offset=0&list_count=50
X-API-KEY: {your_api_key}
POST /api/price_list/save

Create or modify a price list entry. The product can be specified by product_id or partnumber (part number); one of the two is required. If an entry already exists for the combination of product, company, partner type and warehouse, it is updated, otherwise a new one is created. Both dot and comma are accepted as decimal separator.

POST fields - data object

FieldTypeRequiredDescription
product_idintProduct identifier. Required if partnumber is not provided
partnumberstringPart number (min. 3 characters). Required if product_id is not provided
idintPrice list entry identifier. Not required: the system identifies the existing record by product, company_id, partner_type_id and store_id (see below)
company_idintCompany identifier (default: 1)
partner_type_idintPartner type identifier for partner type specific prices. If omitted, the price is general
store_idintWarehouse identifier for warehouse specific prices. If omitted, the price is general
pricefloatNet selling price
currency_idintCurrency identifier of the selling price
tax_idintVAT rate identifier of the selling price
price_discountfloatDiscount in percent (%)
price_on_salefloatNet sale price
price_on_sale_date_enddatetimeExpiry date and time of the sale price (YYYY-MM-DD HH:MM:SS)
incoming_pricefloatNet purchase price
incoming_currency_idintCurrency identifier of the purchase price
incoming_tax_idintVAT rate identifier of the purchase price
incoming_cost_pricefloatPurchase cost price (purchase price increased by additional costs)
list_pricefloatNet list price
list_currency_idintCurrency identifier of the list price
list_tax_idintVAT rate identifier of the list price

Record identification

The system looks up the existing entry by the combination of product_id (or partnumber), company_id, partner_type_id and store_id. If partner_type_id or store_id is omitted, the general price (independent of partner type or warehouse) is saved. Only the fields included in the request are modified. On update, the data.id field of the response contains the identifier of the modified entry.

Example request

POST /api/price_list/save
X-API-KEY: {your_api_key}
Content-Type: application/json

{
  "data": {
    "product_id": 5,
    "company_id": 1,
    "partner_type_id": 2,
    "store_id": 1,
    "price": 9500,
    "currency_id": 1,
    "tax_id": 1,
    "price_discount": 5,
    "price_on_sale": 8900,
    "price_on_sale_date_end": "2026-12-31 23:59:59",
    "incoming_price": 6200,
    "incoming_currency_id": 1,
    "incoming_tax_id": 1,
    "incoming_cost_price": 6350,
    "list_price": 10500,
    "list_currency_id": 1,
    "list_tax_id": 1
  }
}
POST /api/price_list/save_avg

Record a product's average price.

POST fields - data object

FieldTypeRequiredDescription
product_idintProduct identifier
pricefloatAverage price to record

Example request

POST /api/price_list/save_avg
X-API-KEY: {your_api_key}
Content-Type: application/json

{ "data": { "product_id": 5, "price": 8750.50 } }
POST /api/price_list/delete

Delete a price list entry by identifier.

POST fields - data object

FieldTypeRequiredDescription
idintIdentifier of the price list entry to delete

Example request

POST /api/price_list/delete
X-API-KEY: {your_api_key}
Content-Type: application/json

{ "data": { "id": 12 } }

Get in touch with us

Interested in our software? Feel free to write to us!

Need help?

If you can't find the answer and need assistance

Create your account now,
pay later!

Try it free for 3 days, no risk, no obligation!