Suppliers | Get Supplier Catalog

Getting Supplier Catalog Data (Supplier Access)

This document outlines the procedure for retrieving a supplier's shared product catalog from https://<supplier_domain>/public_api/get_supplier_catalog/. This endpoint belongs to the supplier_access API section and is used by ProLasku accounts that have been granted product-list access by another ProLasku account (the supplier). Access is granted through the supplier directory + approval flow, and the credentials (API token username + token) are issued automatically at approval — the requesting account's Supplier import tool (Inventory > Tools) uses them server-side.

Supplier Catalog Data Retrieval

Endpoint and Method

  • Endpoint: https://<supplier_domain>/public_api/get_supplier_catalog/
  • Method: POST



Parameters | Payload

  • TOKEN (api_key): The supplier_access section API key. How to Create API Credentials.
  • username: The grant's API token username (auto-generated at approval — sup_…).
  • password: The grant's API token (40-char hex, auto-generated at approval).
  • account: The supplier's account ID (main admin id).
  • Pagination: up to 50 products per request.
    • start — starting row offset.
    • limit — number of rows (max 50).
  • Filters:
    • product_name — partial name match.
    • pid — comma-separated supplier product ids.
    • cid — comma-separated supplier category ids (only when the category permission is granted).
    • barcode — exact main barcode or box code.
  • lang — locale code for resolved name/category strings (e.g. fi_FI; falls back to the supplier's main language).


Permissions

The supplier grants each of the following individually at approval (or later from the customer profile). Fields whose permission is OFF are omitted from the response:

  • product_data (always on) — pid, product_name, barcode, boxcode, barcode_id, vat_percent, brand, multi_rows (barcode/boxcode rows only), in_stock_main_location.
  • product_images — images[] absolute URLs.
  • product_categories — category {cid, name}.
  • product_tags — tags[].
  • product_prices — price {net, gross, currency, custom} with the requesting customer's customized pricing applied.

Never exposed: stock quantities, stock locations/shelves, the supplier's purchase prices, discounts, or supplier references. The in-stock indicator is a boolean computed at the supplier's chosen main warehouse location only.


Rate Limit

Each grant allows 120 calls per minute (sliding window). Exceeding it returns HTTP 429 with RATE LIMITED - supplier access API call quota exceeded.


Example Response

{
  "INFO": {
    "start": 0, "limit": 50, "count": 1, "total_count": 543,
    "permissions": {"product_data":1,"product_images":1,"product_categories":1,"product_tags":0,"product_prices":1},
    "supplier": {"name":"Bakery Oy","domain":"bakery.example.fi","main_location":"Helsinki warehouse"}
  },
  "OUTPUT": [
    {
      "pid": 10281,
      "product_name": "Ruisleipä 500g",
      "barcode": "6410000011111",
      "barcode_id": 6,
      "boxcode": "6411100000019",
      "vat_percent": 14,
      "in_stock_main_location": true,
      "brand": {"bid": 3, "name": "Bakery Oy"},
      "multi_rows": [{"code":"6410000011128","boxcode":"6411100000019","row_num":1}],
      "images": [{"URL":"https://bakery.example.fi/uploads/products/big_ruis.jpg"}],
      "category": {"cid": 12, "name": "Bread"},
      "price": {"net": 2.5, "gross": 2.85, "currency": "EUR", "custom": false}
    }
  ]
}