Megaventory API v2017a

<back to all web services

PricingRuleGet

The following routes are available for this service:
GET POST/PricingRule/PricingRuleGetGets information on existing pricing rulesUses your API Key and some Filters in an array format and returns the search results using the given filters. Optionally, you can use ReturnTopNRecords to limit the number of the results to the specified number (omit, or add ReturnTopNRecords = -1 to get all the available results). The ReturnTopNRecords chooses the top records in a PricingRuleID descending order.

Examples:



A.

Get the first pricing rule with PricingRuleBasePrice equals to DefaultSalesPrice (as mvPricingRule object).

Value:

{
"Filters": [
      {
         "FieldName": "PricingRuleBasePrice",
         "SearchOperator": "Equals",
         "SearchValue": "DefaultSalesPrice"
      }
   ],
   "ReturnTopNRecords": 1
}


Response:

{
   "mvPricingRules": [
    {
      "PricingRuleID": 162,
      "PricingRuleName": "Sales Pricing Rule",
      "PricingRuleCurrency": "EUR",
      "PricingRuleBasePrice": "DefaultSalesPrice",
      "PricingRuleSpExchangeRate": 2,
      "PricingRuleAddPercent": 0.2,
      "PricingRuleAddFixedAmount": 0.2,
      "PricingRuleUnitPriceRoundingDigits": 0.2,
      "PricingRuleDefaultDiscountId": 0,
      "PricingRuleDefaultTaxId": 0,
      "PricingRuleSpecificEntities": false,
      "PricingRuleSpecificProducts": false,
      "PricingRuleSpecificProductCategories": false,
      "PricingRuleStartDate": "/Date(1576360800000-0000)/",
      "PricingRuleEndDate": "/Date(1577224800000-0000)/",
      "PricingRuleMinQty": 5,
      "PricingRuleMaxQty": 25,
      "PricingRuleDateModified": "/Date(1576840387477-0000)/",
      "PricingRuleDateCreated": "/Date(1576840387477-0000)/",
      "PricingRuleUsedByModule": 1
    }
  ],
  "ResponseStatus": {
    "ErrorCode": "0"
  }
}


B.

Returns the Pricing Rules whose exchange rate is less than 2 and whose currency is not EUR.
We can add two Filters by using the AndOr operator as shown below:

Value:

{
   "Filters": [
      {
         "FieldName": "PricingRuleCurrency",
         "SearchOperator": "NotEquals",
         "SearchValue": "EUR"
      },
      {
         "AndOr": "And",
         "FieldName": "PricingRuleSpExchangeRate",
         "SearchOperator": "LessThan",
         "SearchValue": 2
      }
   ]
}


Response:

{
   "mvPricingRules": [
      {
         "PricingRuleID": 172,
         "PricingRuleName": "AverageCostPrice",
         "PricingRuleCurrency": "USD",
         "PricingRuleBasePrice": "AverageCostPrice",
         "PricingRuleSpExchangeRate": 1.5,
         "PricingRuleAddPercent": 12,
         "PricingRuleAddFixedAmount": 0,
         "PricingRuleUnitPriceRoundingDigits": 0.2,
         "PricingRuleDefaultDiscountId": 0,
         "PricingRuleDefaultTaxId": 0,
         "PricingRuleSpecificEntities": false,
         "PricingRuleSpecificProducts": false,
         "PricingRuleSpecificProductCategories": false,
         "PricingRuleStartDate": "/Date(1578088800000-0000)/",
         "PricingRuleEndDate": "/Date(1578607200000-0000)/",
         "PricingRuleMinQty": 5,
         "PricingRuleMaxQty": 100,
         "PricingRuleDateModified": "/Date(1576841132287-0000)/",
         "PricingRuleDateCreated": "/Date(1576841132287-0000)/",
         "PricingRuleUsedByModule": 1
      },
      {
         "PricingRuleID": 164,
         "PricingRuleName": "SalesPricingRule",
         "PricingRuleCurrency": "USD",
         "PricingRuleBasePrice": "DefaultSalesPrice",
         "PricingRuleSpExchangeRate": 0.5,
         "PricingRuleAddPercent": 0,
         "PricingRuleAddFixedAmount": 0,
         "PricingRuleUnitPriceRoundingDigits": 0.2,
         "PricingRuleDefaultDiscountId": 0,
         "PricingRuleDefaultTaxId": 0,
         "PricingRuleSpecificEntities": false,
         "PricingRuleSpecificProducts": false,
         "PricingRuleSpecificProductCategories": false,
         "PricingRuleStartDate": "/Date(1576360800000-0000)/",
         "PricingRuleEndDate": "/Date(1577224800000-0000)/",
         "PricingRuleMinQty": 5,
         "PricingRuleMaxQty": 25,
         "PricingRuleDateModified": "/Date(1576840935637-0000)/",
         "PricingRuleDateCreated": "/Date(1576840935637-0000)/",
         "PricingRuleUsedByModule": 1
      }
    ],
    "ResponseStatus": {
        "ErrorCode": "0"
    }
}

To override the Content-type in your clients HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/PricingRuleGet HTTP/1.1 
Host: api.megaventory.com 
Content-Type: text/jsv
Content-Length: length

{
	Filters: 
	[
		{
			AndOr: And,
			Group: Undefined,
			FieldName: String,
			SearchOperator: Undefined,
			SearchValue: String
		}
	],
	ReturnTopNRecords: 0,
	APIKEY: String,
	showDeleted: showOnlyUndeleted
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	mvPricingRules: 
	[
		{
			PricingRuleID: 0,
			PricingRuleName: String,
			PricingRuleCurrency: String,
			PricingRuleBasePrice: DefaultSalesPrice,
			PricingRuleSpExchangeRate: 0,
			PricingRuleAddPercent: 0,
			PricingRuleAddFixedAmount: 0,
			PricingRuleUnitPriceRoundingDigits: 0,
			PricingRuleDefaultDiscountId: 0,
			PricingRuleDefaultTaxId: 0,
			PricingRuleSpecificEntities: False,
			PricingRuleSpecificProducts: False,
			PricingRuleSpecificProductCategories: False,
			PricingRuleStartDate: 0001-01-01,
			PricingRuleEndDate: 0001-01-01,
			PricingRuleMinQty: 0,
			PricingRuleMaxQty: 0,
			PricingRuleDateModified: 0001-01-01,
			PricingRuleDateCreated: 0001-01-01,
			PricingRuleUsedByModule: 0
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String
			}
		]
	},
	InternalErrorCode: String
}