The Shutterfly Pricing API provides estimated prices for Shutterfly product and shipping options. The returned prices are not guaranteed and may be subject to revision at order placement time.
Description
Call Signature
Application ID and call signature are required. Please see Call Signature documentation for more details.
Resource Path
This API uses the following resource path element:
- /pricing
Methods
- POST - Creates estimated prices for a given set of Shutterfly product and shipping options, submitted as entries in an Atom <feed>.
Scheme
httpHost
ws.shutterfly.com| Method | Endpoint example |
|---|---|
| POST | http://ws.shutterfly.com/pricing |
In the following Method detail sections, click on Method name to expand or collapse the detail.
Method: POST
Creates estimated prices for a given set of Shutterfly product and shipping options, submitted as entries in an Atom <feed>.
User authorization
Sample Input
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openfly="http://openfly.shutterfly.com/v1.0"
xmlns:sflyecom="http://openfly.shutterfly.com/ecom/v1.0">
<category term="pricing" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<entry>
<category term="recipient" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>1</sflyecom:ref>
<sflyecom:firstname>Kris</sflyecom:firstname>
<sflyecom:lastname>Kringle</sflyecom:lastname>
<sflyecom:address1>1 Santa Claus Lane</sflyecom:address1>
<sflyecom:address2></sflyecom:address2>
<sflyecom:city>North Pole</sflyecom:city>
<sflyecom:state>AK</sflyecom:state>
<sflyecom:postcode>99705</sflyecom:postcode>
<sflyecom:country>USA</sflyecom:country>
<sflyecom:shippingtype>1DAY</sflyecom:shippingtype>
</entry>
<entry>
<category term="item" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>4</sflyecom:ref>
<sflyecom:productdetail>
<sflyecom:print>
<sflyecom:finish>G</sflyecom:finish>
</sflyecom:print>
</sflyecom:productdetail>
<sflyecom:sku>5x7</sflyecom:sku>
<sflyecom:qty>10</sflyecom:qty>
<sflyecom:recipient>1</sflyecom:recipient>
</entry>
<entry>
<category term="item" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>5</sflyecom:ref>
<sflyecom:sku>MUG01</sflyecom:sku>
<sflyecom:qty>1</sflyecom:qty>
<sflyecom:recipient>1</sflyecom:recipient>
</entry>
</feed>
Submit the following as an Atom XML feed, as in the Sample Input.
feed
Submit the following as an Atom XML entry, as in the Sample Input.
recipient entry
A recipient - each address shipped to must contain separate recipient information. Note that at this time, only a single recipient per order is supported.
Submit the following as an Atom XML entry, as in the Sample Input.
item entry
An item to be ordered. Note: each unique combination is considered its own item and must have an entry defined. For example, 100 4x6 prints of the same image would be a single item, qty 100. In contrast, if each 4x6 was a different image, this is considered 100 different item entries. This same concept holds for any other variation - for example, print finish (Matte/Glossy), price, sku, etc.
Sample Output
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openfly="http://openfly.shutterfly.com/v1.0"
xmlns:sflyecom="http://openfly.shutterfly.com/ecom/v1.0">
<category term="pricing" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ordertotal>38.71</sflyecom:ordertotal>
<entry>
<category term="recipient" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>1</sflyecom:ref>
<sflyecom:firstname>Kris</sflyecom:firstname>
<sflyecom:lastname>Kringle</sflyecom:lastname>
<sflyecom:address1>1 Santa Claus Lane</sflyecom:address1>
<sflyecom:address2></sflyecom:address2>
<sflyecom:city>North Pole</sflyecom:city>
<sflyecom:state>AK</sflyecom:state>
<sflyecom:postcode>99705</sflyecom:postcode>
<sflyecom:country>USA</sflyecom:country>
<sflyecom:shippingtype>1DAY</sflyecom:shippingtype>
<sflyecom:productcost>21.09</sflyecom:productcost>
<sflyecom:shippingcost>15.99</sflyecom:shippingcost>
<sflyecom:tax>1.63</sflyecom:tax>
<sflyecom:discount>0.00</sflyecom:discount>
<sflyecom:recipienttotal>38.71</sflyecom:recipienttotal>
<sflyecom:shippingoptions>
<sflyecom:shippingoption name="STANDARD" cost="1.99" usualminshipping="3" usualmaxshipping="7"/>
<sflyecom:shippingoption name="PRIORITY" cost="5.99" usualminshipping="3" usualmaxshipping="5"/>
<sflyecom:shippingoption name="2DAY" cost="10.99" usualminshipping="2" usualmaxshipping="2"/>
<sflyecom:shippingoption name="1DAY" cost="15.99" usualminshipping="1" usualmaxshipping="1"/>
</sflyecom:shippingoptions>
</entry>
<entry>
<category term="item" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>5</sflyecom:ref>
<sflyecom:productdetail>
<sflyecom:print>
<sflyecom:finish>G</sflyecom:finish>
</sflyecom:print>
</sflyecom:productdetail>
<sflyecom:sku>5x7</sflyecom:sku>
<sflyecom:skudescription>5x7 print</sflyecom:skudescription>
<sflyecom:qty>10</sflyecom:qty>
<sflyecom:unitprice>0.99</sflyecom:unitprice>
<sflyecom:itemsubtotal>9.90</sflyecom:itemsubtotal>
<sflyecom:recipient>1</sflyecom:recipient>
</entry>
<entry>
<category term="item" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:ref>6</sflyecom:ref>
<sflyecom:sku>MUG01</sflyecom:sku>
<sflyecom:skudescription>14 oz black mug</sflyecom:skudescription>
<sflyecom:qty>1</sflyecom:qty>
<sflyecom:unitprice>11.19</sflyecom:unitprice>
<sflyecom:itemsubtotal>11.19</sflyecom:itemsubtotal>
<sflyecom:recipient>1</sflyecom:recipient>
</entry>
<entry>
<category term="shipment" scheme="http://openfly.shutterfly.com/ecom/v1.0" />
<sflyecom:shipment estimate="true"/>
<sflyecom:mindelivery>2008-01-10</sflyecom:mindelivery>
<sflyecom:maxdelivery>2008-01-12</sflyecom:maxdelivery>
<sflyecom:recipient>1</sflyecom:recipient>
<sflyecom:item>
<sflyecom:sku>5x7</sflyecom:sku>
<sflyecom:qty>10</sflyecom:qty>
</sflyecom:item>
<sflyecom:item>
<sflyecom:sku>MUG01</sflyecom:sku>
<sflyecom:qty>1</sflyecom:qty>
</sflyecom:item>
</entry>
</feed>
Output Feed
feed
recipient entry
item entry
Resulting item. Note that the pricing mechanism may change the order item as passed in due to a variety of circumstances. For example, say that a user has 15 free prints in their account. If that user orders quantity 20 of the same print, the item may likely be split into two items - one of qty 15, and one of qty 5.
shipment entry
Estimated shipment. Note that this is not a guarantee of quantity, content, or arrival time of shipments - this is our best estimate at the current time.
Error Codes
If there is no error, methods always return HTTP status code 200 (or 201 for a create operation). See Common Response Codes documentation.
This API has no specific error codes, only the common HTTP responses will be returned.