How To  |  Order


Placing an order via webservice APIs is a four step process:

  1. Pricing
  2. Order
  3. Upload
  4. Update order

We'll go through each step in turn.

Pricing

The first step is to get a pricing quote from Shutterfly using our pricing API. At this point, we do not need all the information about the order - only information that could affect the overall pricing. For example, we of course need to know what Shutterfly SKU you'd like to order and in what quantity. In addition, though, we'll need to know what address to send the items to in order to give accurate tax and shipping quotations.

In response to your pricing inquiry, Shutterfly will provide a pricing quotation, including of course prices but also a couple of other interesting things:

Shipping Options
Shutterfly will provide all of the shipping options available for this recipient, including cost and normal shipping types. Please be aware that not all addresses will support all shipping types. For example, we cannot ship Next Day to the United Kingdom or to a P.O. Box.
Shipping Estimate
In the pricing response, we will also provide some estimated shipments - what boxes we think we'll split this order up into, including what goes in each box and when the boxes should arrive. These are just preliminary estimates - actual shipments could change for a variety of reasons, but this is a useful piece of information to set expectations correctly, as the estimates take into account processing time as well as shipping time.

Limitations

  1. We are only supporting a single recipient per order. If you need to ship to multiple recipients you'll need to place multiple orders at this time.
  2. We are not supporting many features available on the website, including discounts and credits currently stored in a user's account.
  3. Only a limited list of sku's are currently supported. See the pricing API for a full listing of supported skus.

Order

Once you have a pricing quotation in hand, you are ready to actually place the order using our order API. At this point, we'll need some more information, including credit card information, billing information (can be a repeat of credit card information data), etc.

In addition, we'll need to know what images are to be placed on each item. You can use the same image on multiple items, but each item must be unique - that is, if you need 100 4x6's but each have a different image on them, that is 100 items each with quantity 1. If you need that same 100 4x6's all with the same image, that is a single item quantity 100.

Limitations

  1. We are not supporting images already stored in a Shutterfly album at this time. Each image ordered through this API needs to be uploaded subsequently to order placement.
  2. We only support credit card as payment for orders placed through the webservice API.

Upload

As part of the order result, Shutterfly will specify the location to upload ordered images. The order upload process looks very similar to our general upload process, but it is a single image only - each image in the order output will contain its own unique URL to POST the image to. Note that this does NOT upload the image into an album - it is considered to be for the order only. This allows these images to be the full, rendered image including any externally applied cropping or effects. If you would like to upload into an album as well, please use the normal upload process, preferably with the raw image - uncropped, no effects, etc.

Once all images are uploaded into the order, we are ready to get it processing! If you are unsure whether all images have been successfully uploaded or not, we provide an order image query API that will tell you Shutterfly's state for all images in this order.

Limitations

  1. There is only a limited time - currently 12 hours - to upload all images within the order. At the end of this time, Shutterfly will consider the order abandoned and will not be able to process the order even if images are subsequently uploaded.

Update order

Once all images have been successfully uploaded, you must set the order to processing using our order state API. This step ensures that Shutterfly and you both agree that all images are uploaded. Otherwise, were there a discrepancy for some reason, it could be the case that Shutterfly never processes an order that the client believes is ready - perhaps we do not agree that a particular image was successfully uploaded for some unknown reason. So by explicitly telling Shutterfly "ok, go!" we have a positive step to ensure orders are processed correctly.

On that note, please check the result of this update - if we were unable to honor the process due to missing images, you will need to call the order image API to see what images Shutterfly does not believe are ready.

Upon successful order update, the order is going! At this point the order will progress through the Shutterfly system the same as any other order placed on the website or the like. The customer will receive email updates on order confirmation, shipment, etc.

© Copyright Shutterfly 1999-2009. All rights reserved.