Rest API Get Data for Selected Documents - datawizio/pythonAPI GitHub Wiki

Resource /olap-report/ POST

Data for selected documents. Using the resource /olap-report/ you can get data on selected documents (receipts, inventory, purchases, receives, relocates from shop to shop/store, supplier refunds, stocktaking, incoming, losses), group the result by date, products, stores (shop_sender and shop_receiver for relocates document), brands, categories, suppliers and filter by date and shops.

POST-parameters:

Parameters Name Parametrs Type Available Values Default Values Description Required Parameter
format String "json", "api" "json" Server Response format No
documents String "doc_type", "group_by", "agg" - The name of the document on which to display data Yes
shops ID or List of ID - All Shops ID of the shops that will be selected No
date_from DateTime, String {%Y-%m-%d} - Client last upload date - 30 days Sampling start date No
date_to DateTime, String {%Y-%m-%d} - Client last upload date Sampling end date No
join Boolean - False Join tables into one No

Documents fields parameters:

Parameters Name Parameters Type Available Value Default Value Description Required Parameter
group_by String or List of Strings "date", "shop", "product", "product_name", "product_brand_id", "product_brand_name", "product_producer_name", "product_producer_id", "product_category_name", "product_category_id", "shop-cid" - Paramater by which data will be grouped Yes
agg "Key" : "Value" "agg_column" : "agg_func" - Data Aggregator Yes
agg_column String "qty (stock_qty and fact_qty for stocktaking)", "price (original_price for inventory)", "total_price (stock_total_price for inventory)", "margin_price_total(for receipts)" - "Key" parameters for data aggregator Yes
agg_func String "sum", "mean", "max", "min", "count" - "Value" parameters for data aggregator Yes

Response Parameters:

Field Name Field Type Must be in the answer Description
receipts List No Sampled Document
date String No Date for which the selection was made
receipts_qty Number No Receipts quantity
receipts_price Number No -
receipts_margin_price_total String No profit on receipts
shop Number No Shop ID for which the selection was made
receipt Number No Receipt number
receipts_total_price String No -
receipts_receipts_qty Number No -
receipts_original_price Number No -
product__name String No Product Name
product__brand__name String No Brand Name
product Number No -
product__brand__id Number No Brand ID
product__producer__id Number No Producer ID
product__producer__name String No Producer Name
product__category__id Number No Product category ID
product__category__name String No Product category name
shop_cid Number No -
inventory List No Sampled Document
inventory_qty Number No Inventory quantity
inventory_stock_total_price Number No Inventory stock total price
inventory_original_price Number No Inventory original price
purchases List No Sampled Document
purchases_qty Number No Purchases quantity
purchases_price Number No Purchases price
purchases_total_price Number No -
receives List No Sampled Document
receives_qty Number No Receives quantity
receives_price Number No Receives price
receives_total_price Number No Receives total price
relocates List No Sampled Document
shop_receiver String No Shop receiver
relocates_qty Number No -
relocates_price Number No -
relocates_total_price Number No -
supplier_refunds List No Sampled Document
supplier_refunds_qty Number No Supplier refunds quantity
supplier_refunds_price Number No -
supplier_refunds_total_price Number No -
stocktaking List No Sampled Document
stocktaking_stock_qty Number No -
stocktaking_fact_qty Number No -
incoming List No Sampled Document
incoming_qty Number No -
incoming_price Number No -
incoming_total_price Number No -
losses List No Sampled Document
losses_qty Number No -
losses_price Number No -
losses_total-price Number No -

Object Structure /olap_report/ :

{
    documents: {
      "doc_type": {
        "group_by": ["group_by_column", ..],
          "agg": {
            "agg_column": "agg_func",
            ...,
          },
      ...
    }
}

Resource example

Command: POST https://api.datawiz.io/api/v1/olap-report/

Suffixes ( analog parameter format ) :
  • .json - get response in JSON format
  • .api - get response in HTML format (test platform)
POST-parameters example :
{
  "receipts": {
    "group_by": ["date"],
    "agg": {
      "qty": "sum",
      "price": "sum",
      "total_price": "sum",
      "profit": "sum"
    }
  },
  "shops": [1,2,3],
  "date_from": "2018-03-23",
  "date_to": "2018-03-25"
}
Server Response:

HTTP 200 OK
Content-Type: application/json
Vary: Accept
Allow: POST, OPTIONS
{
    "results": {
        "receipts": [
            {
                "date": "2018-03-25",
                "receipts_qty": 11438.692,
                "receipts_price": 274991.0998,
                "receipts_total_price": 200185.3836
            },
            {
                "date": "2018-03-23",
                "receipts_qty": 13341.864,
                "receipts_price": 334983.9234,
                "receipts_total_price": 239404.1748
            },
            {
                "date": "2018-03-24",
                "receipts_qty": 13530.844,
                "receipts_price": 335788.225,
                "receipts_total_price": 257349.3462
            }
        ]
    }
}
⚠️ **GitHub.com Fallback** ⚠️