Shutterfly Open API  |  FAQ


Application Development

How can my application do an HTTP PUT?

Many programming languages let you set the HTTP Method on a call. If yours does not, build the PUT content and URL anyway, but then POST it with this added as an HTTP header:

X-HTTP-Method-Override: PUT

The Shutterfly Open API will then interpret your POST as if it were a PUT.

Note: If headers are inconvenient, you can make it an added URL parameter, "X-HTTP-Method-Override=PUT". The parameter should be added before call signature, i.e., it should be considered part of the set of parameters that are being signed.

How can my application do an HTTP DELETE?

Many programming languages let you set the HTTP Method on a call. If yours does not, build the DELETE content and URL anyway, but then POST it with this added as an HTTP header:

X-HTTP-Method-Override: DELETE

The Shutterfly Open API will then interpret your POST as if it were a DELETE.

Note: If headers are inconvenient, you can make it an added URL parameter, "X-HTTP-Method-Override=DELETE". The parameter should be added before call signature, i.e., it should be considered part of the set of parameters that are being signed.

What character encoding does Shutterfly accept?

All API data should be encoded using UTF-8.

What is this time format I see in the API documentation?

Shutterfly uses timestamps formatted in ISO-8601 format. All input timestamps must conform to this standard, as will Shutterfly output timestamps. This is of particular note for the call signature timestamp, which must be correctly formatted ISO-8601 to result in a correct call signature.

What is this category-term parameter I see in the API documentation?

Category terms allow you to request two "levels" of data in the same request, for example a user and the folders associated with that user. Please refer to this documentation for more details.

Why am I getting album data when I request user info? Why am I getting image data when I request album info?

These are legacy issues that we will rectify. Please refer to this documentation (specifically the "Limitations" section) for more details.

An API is giving me a 4xx response code, like 400. How do I figure out the real problem?

A 4xx error code normally comes with additional text in the HTTP response body, which is an error message helping you understand the problem. Please look at it.

An API is giving me a 5xx response code, like 500. How do I figure out the real problem?

A 5xx error code means a Shutterfly system error. Wait a few minutes, then retry the API call. If the problem persists, ask for help at developerhelp@shutterfly.com.

Does the Shutterfly Open API have a Test / Preview / Beta environment?

Yes, we have a Beta environment. You can use it as a testing "sandbox", or to preview new features. If you find that you cannot debug a certain problem without Shutterfly's help, we can usually move faster if you are on Beta. Please note:

  • Beta is firewall-protected. To gain access, send an e-mail to developerhelp@shutterfly.com with the IP address(es) you want to test from.
  • Beta and Production are two separate environments. You would need to create separate Shutterfly accounts and app IDs on each. Beta does not know what you have on Production, and Production does not know what you have on Beta.

Would my application hit different hostnames, when using Shutterfly's Beta environment?

Of course. The following table shows you the Production hostname, followed by the Beta equivalent.

shutterfly.com (by itself) - for Beta, substitute: beta.shutterfly.com
up3.shutterfly.com - for Beta, substitute: up.beta.shutterfly.com
ws.shutterfly.com - for Beta, substitute: ws.beta.shutterfly.com
www.shutterfly.com - for Beta, substitute: www.beta.shutterfly.com

Other

What is commercial use?

Shutterfly can designate an application as a "commercial use approved" app. Initially, when you create an application it is NOT approved for commerical use and you should not be distributing it for any commerical application. In practical terms, not being approved for commercial use means that your application may encounter call throttling - we have a ceiling on the number of calls a non-commercial can make over some time period.

Once your application is ready and you want to start using it in earnest, apply for commerical use. The process is very easy - just shoot us an email at developerhelp@shutterfly.com with an explanation of what your application is and what APIs it will be using. Be sure to include your appid as well so that we get the right one!

I can't find the answer to my question. Who can I talk to?

Send an e-mail to developerhelp@shutterfly.com.

© Copyright Shutterfly 1999-2009. All rights reserved.