Volume Discount Creation/Update/Removal

A volume discount is an adjustment to the price of a product based on the quantity of that product in an order. By offering volume discounts, sellers are able to reward those who purchase a multiple quantity of goods.

Newegg Marketplace volume discount is designed as a 3-tier calculation. Volume discount creation/adjustment can only be submitted with the following rules:

  • Purchase Quantity: Minimum Purchase Quantity (If any) ≤ tier-1 < tier-2 < tier-3
  • Price per Product: Regular Selling Price > tier-1 > tier-2 > tier-3
  • Shipping setting: tier-1 ≥ tier-2 ≥ tier-3

To specify volume discount for item A as following:

  • Purchase quantity from 2 to 4 units, the unit price is $10.00.
  • Purchase quantity from 5 to 9, the unit price is $8.00.
  • Purchase quantity from 10 and above, the unit price is $5.00.

Volume Discount Structure:

Tier Quantity Price/ Product Examples of
Acceptable Shipping Setting
Examples of
Unacceptable Shipping Setting
1 2 $10.00 Default Default Default Free Default Free
2 5 $8.00 Default Default Free Default Free Default
3 10 $5.00 Default Free Free Default Default Free

Note:

  • Volume discount setting will not be available for customers if an ongoing promotion price is less than the 1st -tier unit price.
  • Only available for shipping destination as United States.

Resource URL

Newegg.com: https://api.newegg.com/marketplace/contentmgmt/item/volumediscount?sellerid={sellerid}
Neweggbusiness.com: https://api.newegg.com/marketplace/b2b/contentmgmt/item/volumediscount?sellerid={sellerid}
Newegg.ca: https://api.newegg.com/marketplace/can/contentmgmt/item/volumediscount?sellerid={sellerid}

Note: Please make sure your request URL is all in lower case (except for Seller ID) and cannot contain any blank spaces or line breaks.

Parameters

Name Required? Description
Seller ID Yes Your seller ID on Newegg Marketplace

Resource Information

HTTP Method Authentication? Request Formats Response Formats Rate Limited?
POST Required XML, Json XML, Json 100 request per hour

Request Body

Attribute Required? Format Description
OperationType Yes String Fixed value: SubmitVolumeDiscountRequest
SellerPartNumber No String Seller Part#
NeweggItemNumber No String NE Item#
VolumeActivation No String Available values:

  • True: Create or update volume discount
  • False: Delete volume discount
Priority Yes Integer Set the tier for the volume discount
Quantity Yes Integer Set the quantity for the tier’s volume discount
SellingPrice Yes Decimal Set the unit price for the tier’s volume discount
EnableFreeShipping Yes Integer Available values:

  • 0: Default
  • 1: Free

Schema: SubmitVolumeDiscountRequest.xsd

Example: XML, Request

POST https://api.newegg.com/marketplace/can/contentmgmt/item/volumediscount?sellerid={SellerID}
Authorization: 720ddc067f4d115bd544aff46bc75634
SecretKey: 21EC2020-3AEA-1069-A2DD-08002B30309D
Content-Type: application/xml
Accept: application/xml

<NeweggAPIRequest>
    <OperationType/>
    <RequestBody>
        <ItemVolumeDiscountInfo>
            <NeweggItemNumber>9SIA0010287920</NeweggItemNumber>
            <VolumeActivation>true</VolumeActivation>
            <DiscountSetting>
                <Tier>
                    <Priority>1</Priority>
                    <Quantity>12</Quantity>
                    <SellingPrice>110</SellingPrice>
                    <EnableFreeShipping>0</EnableFreeShipping>
                </Tier>
                <Tier>
                    <Priority>2</Priority>
                    <Quantity>20</Quantity>
                    <SellingPrice>105</SellingPrice>
                    <EnableFreeShipping>0</EnableFreeShipping>
                </Tier>
            </DiscountSetting>
        </ItemVolumeDiscountInfo>
    </RequestBody>
</NeweggAPIRequest>

Example: Json, Request

POST https://api.newegg.com/marketplace/can/contentmgmt/item/volumediscount?sellerid={SellerID}
Authorization: 720ddc067f4d115bd544aff46bc75634
SecretKey: 21EC2020-3AEA-1069-A2DD-08002B30309D
Content-Type: application/json
Accept: application/json

{
    "OperationType": "",
    "RequestBody": {
        "ItemVolumeDiscountInfo": {
            "NeweggItemNumber": "9SIA0010287920",
            "VolumeActivation": "true",
            "DiscountSetting": {
                "Tier": [
                    {
                        "Priority": "1",
                        "Quantity": "12",
                        "SellingPrice": "110",
                        "EnableFreeShipping": "0"
                    },
                    {
                        "Priority": "2",
                        "Quantity": "20",
                        "SellingPrice": "105",
                        "EnableFreeShipping": "0"
                    }
                ]
            }
        }
    }
}

Response Body

Attribute Format Description
IsSuccess String Identify the operation of Volume Discount requests successful
Fixed value: True
SellerID String Your seller ID
OperationType String Fixed value: SubmitVolumeDiscountResponse
SellerPartNumber String Seller Part#
NeweggItemNumber String NE Item#
Priority Integer The tier for the volume discount
Quantity Integer The quantity for the tier’s volume discount
SellingPrice Decimal The unit price for the tier’s volume discount
EnableFreeShipping Integer The shipping method for the tier’s volume discount

Schema: SubmitVolumeDiscountResponse.xsd

Example: XML, Response

<?xml version="1.0" encoding="utf-8"?>
<NeweggAPIResponse>
    <IsSuccess>true</IsSuccess>
    <OperationType>SubmitVolumeDiscountResponse</OperationType>
    <SellerID>a001</SellerID>
    <ResponseBody>
        <ItemVolumeDiscountInfo>
            <SellerPartNumber>B0147001</SellerPartNumber>
            <NeweggItemNumber>9SIA0010287920</NeweggItemNumber>
            <DiscountSetting>
                <Tier>
                    <Priority>1</Priority>
                    <Quantity>12</Quantity>
                    <SellingPrice>110</SellingPrice>
                    <EnableFreeShipping>0</EnableFreeShipping>
                </Tier>
                <Tier>
                    <Priority>2</Priority>
                    <Quantity>20</Quantity>
                    <SellingPrice>105</SellingPrice>
                    <EnableFreeShipping>0</EnableFreeShipping>
                </Tier>
            </DiscountSetting>
        </ItemVolumeDiscountInfo>
    </ResponseBody>
</NeweggAPIResponse>

Example: Json, Response

{
  "NeweggAPIResponse": {
    "IsSuccess": "true",
    "OperationType": "SubmitVolumeDiscountResponse",
    "SellerID": "a001",
    "ResponseBody": {
      "ItemVolumeDiscountInfo": {
        "SellerPartNumber": "B0147001",
        "NeweggItemNumber": "9SIA0010287920",
        "DiscountSetting": {
          "Tier": [
            {
              "Priority": "1",
              "Quantity": "12",
              "SellingPrice": "110",
              "EnableFreeShipping": "0"
            },
            {
              "Priority": "2",
              "Quantity": "20",
              "SellingPrice": "105",
              "EnableFreeShipping": "0"
            }
          ]
        }
      }
    }
  }
}

Request Failure Errors

For common HTTP error responses, please refer to Failed Response Error Code List.

Error Code Description
CT001 Invalid ItemNumber
CT002 Invalid SellerPartNumber
CT058 Invalid 1st tier quantity. Item has minimum quantity, the 1st tier quantity should be an integer and greater than or equal to minimum quantity [{0}]
CT059 Item number or seller part# is required.
CT060 Not found. The requested item does not have volume discount yet.
CT061 The volume quantity must following this condition: 1 pc < 1st Qty < 2nd Qty < 3rd Qty {0}.
CT062 The volume price must following this condition: general selling price > 1st Price > 2nd Price > 3rd Price {0}.
CT063 Invalid shipping method on {0}.
CT064 The tiers of volume discount are fractured please set from tier 1 one by one.
CT066 Item had been restricted, you cannot add volume discount.

Example: XML, Response

<?xml version="1.0" encoding="utf-8"?>
<Errors>
    <Error>
        <Code>CT001</Code>
        <Message>Invalid ItemNumber</Message>
    </Error>
</Errors>

Example: Json, Response

[
    {
        "Code": "CT001",
        "Message": "Invalid ItemNumber"
    }
]

 

Last updated: October 15, 2018