Megaventory API v2017a

<back to all web services

DiscountUpdate

Inserts a discount or updates a current discount.Uses your API Key and applies a mvRecordAction value on an mvDiscount object. We can insert the mvDiscount object we specified using "Insert" as our mvRecordAction. We can update a current discount using "Update", we can insert a discount if it doesn't already exist, update a discount if it does exist using "InsertOrUpdate" and we can insert new fields or update non-empty fields of the discount using "InsertOrUpdateNonEmptyFields". Optionally, you can use mvInsertUpdateDeleteSourceApplication when an external application ( eg Magento ) is the one that triggers the DiscountUpdate call. Only the DiscountDescription can be changed during the update.

Examples:



A.

Insert a discount.

Value:

{
           "mvDiscount": {
              "DiscountID": 9,
              "DiscountName": "Summer Discount",
              "DiscountDescription": "Time for a swim",
              "DiscountValue": 4
           },
           "mvRecordAction": "Insert",
           "mvInsertUpdateDeleteSourceApplication": "WooCommerce"
        }


Response:

 {
           "mvDiscount": {
              "DiscountID": 9,
              "DiscountName": "Summer Discount",
              "DiscountDescription": "Time for a swim",
              "DiscountValue": 4
           },
           "ResponseStatus": {
              "ErrorCode": "0"
           },
           "entityID": 9
        } 

B.



Lets try to change the value and the name of a discount.

Value:

{
           "mvDiscount": {
              "DiscountID": 9,
              "DiscountName": "Start of Summer season",
              "DiscountValue": 7.5
           },
           "mvRecordAction": "InsertOrUpdate"
        }


Response:

 {
           "ResponseStatus": {
              "ErrorCode": "500",
              "Message": "Only the DiscountDescription can be changed during the update. Update Failed"
           },
           "entityID": 0,
           "InternalErrorCode": "OnlyDiscountDescriptionUpdatable"
        }

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

HTTP + SOAP12

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

POST /soap12 HTTP/1.1 
Host: api.megaventory.com 
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>

<DiscountUpdate xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Megaventory.APIEndpoints.Operations">
  <APIKEY>String</APIKEY>
  <mvDiscount xmlns:d2p1="https://api.megaventory.com/types">
    <d2p1:DiscountID>0</d2p1:DiscountID>
    <d2p1:DiscountName>String</d2p1:DiscountName>
    <d2p1:DiscountDescription>String</d2p1:DiscountDescription>
    <d2p1:DiscountValue>0.00</d2p1:DiscountValue>
  </mvDiscount>
  <mvRecordAction>Insert</mvRecordAction>
  <mvInsertUpdateDeleteSourceApplication>String</mvInsertUpdateDeleteSourceApplication>
</DiscountUpdate>

    </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>

<DiscountUpdateResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Megaventory.APIEndpoints.Operations">
  <mvDiscount xmlns:d2p1="https://api.megaventory.com/types">
    <d2p1:DiscountID>0</d2p1:DiscountID>
    <d2p1:DiscountName>String</d2p1:DiscountName>
    <d2p1:DiscountDescription>String</d2p1:DiscountDescription>
    <d2p1:DiscountValue>0.00</d2p1:DiscountValue>
  </mvDiscount>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
      </d2p1:ResponseError>
    </d2p1:Errors>
  </ResponseStatus>
  <entityID>0</entityID>
  <InternalErrorCode>String</InternalErrorCode>
</DiscountUpdateResponse>

    </soap12:Body>
</soap12:Envelope>