SpecialItemData fields in tandem allows you to create very complex and sophisticated remote carting functions for your store. Because there are multiple ways of using our remote carting functionality (all of which can benefit from this article), we are going to take a platform agnostic approach. For example, when referencing itemtype parameter with a value of “discount”, depending which remote carting method you are using, there are different ways of implementing this.
If you are using the link method, your link might look like this:
<a href=”www.mystore.com/addtocart.aspx?itemtype=discount”> Click Here! </a>
However, when using the form method, your form html could contain:
<form method=”POST” action=” www.mystore.com/addtocart.aspx”>
<input type=”hidden” name=”itemtype” value=”discount”>
Of course, all of the above methods need more information add an item to the cart. However, for the rest of the article, instead of trying tackle any particular one or all methods for every example, the information will just be referred to as the parameter (shown as “itemtype”, if you refer to the examples above) and the value (shown as “discount” in the examples above).
As mentioned previously, the
SpecialItemData parameters are designed to be used together such that you can pass very complex configuration information to the storefront. In the
ItemType you specify what type of information is going to be passed while the
SpecialItemData contains the actual information to be used.
The following is a list of the possible values that can be passed to the
ItemType parameter. and how it will affect what can be passed
ItemType- Denotes that the current item being passed is a regular item. This is the same as not passing the
SpecialItemData- Anything supplied here will be ignored.
ItemType- Marks the item to be considered as information only for admin users. It is not shown to customers.
SpecialItemData- Whatever is passed here will be stored to the comments sections of the order and can be seen from the View Order or Edit Order screen by admins only.
ItemType- Indicates that this item should be treated as an error message.
SpecialItemData- The information passed here will be displayed to the user as an error message on the cart page.
ItemType- Specifies that the item contains information about overriding the tax rate
SpecialItemData- pass in a number to use it as the tax rate for the cart. For example, pass .07 in order to charge 7% tax on the order.
ItemType- Denotes that the current item is considered a percentage rate discount.
SpecialItemData- This should be your discount configuration. It must be a whole number such as 50 for a 50% discount, etc. If this is used, the item description will be displayed as the name of the discount.
ItemType- Denotes that the current item is considered a flat rate discount.
SpecialItemData- This option is similar to passing Discount except that it applies a flat dollar amount discount to the order. So in this case, the information passed will be the dollar amount to subtract from the order total, such as 50 for $50 dollars, 24.75 for $24.75 off, etc. If this is used, the item description will be displayed as the name of the discount.
ItemType- Passing this actually enables passing quantity discounts, sometimes refered to as advanced pricing or quantity break pricing.
SpecialItemData- This should contain the formula for the quantity breaks. This differs slightly in that this item type is applied to actual cart items, although it only works for phantom items (e.g. items that are not in the catalog, so you won't want to pass an ItemID or an existing Item Number). In this instance, instead of adding a separate cart item, you would flag an actual cart item as the DiscountChange type if you wanted to embed quantity discounts. The supported formulas for creating these types of discounts is as follows:
1. When the quantity is changed to 5, change the price to 95% of the original price
2. When the quantity is changed to 6 or more, change the price to 80% of the original price
1. When the quantity is changed to 10 or more, subtract $2 from the original unit price
2. When the quantity is changed to 20 or more, subtract $5 from the original unit price
1. When the quantity is changed to 10 or more, change the unit price to $9.50
2. When the quantity is changed to 15 or more, change the unit price to $8.50
3. When the quantity is changed to 20 or more, change the unit price to $7.50
ItemType- Specifying shipping as the type of item will allow you to create a formula for calculating the the shipping price
SpecialItemDatashould contain that formula. The syntax for this formula is as follows:
base+0.00- Use the standard cart shipping calculation (so essentially no effect)
base+10.00- Add $10 to the cart calculated shipping cost
base+-5.00- Subtract $5 from the cart calculated shipping cost
base*3- Multiply the cart calculated shipping cost by 3
base*2+5.00- Double the cart calculated shipping cost and add $5 to that
base*3+-10.00- Triple the cart calculated shipping cost and subtract $10 from that
flat10.00 or 10.00- Charge a flat $10 shipping
subtotal*3.5+10.00- Multiply the order subtotal by 3.5 and add $10 to that
subtotal*10- Multiply the order subtotal by $10 and use that as the shipping
omit- Do not charge shipping