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 would be added before call signature, i.e., it would then be considered a 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 would be added before call signature, i.e., it would then be considered a 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 kinds of data in the same request, provided they are closely related: 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.

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

Using the Shutterfly Open API

What are the Terms of Use for the Shutterfly Open API?

Please read the Terms of Use document for full details. If at any point there is a conflict between its language and language on the website, the Terms of Use document should be considered the final word.

The latest document is here: http://www.shutterfly.com/downloads/ShutterflyOpenApiTermsOfUse.pdf

Shutterfly reserves the right to change the Terms of Use at any time.

Registering your application and operating under the Terms of Use on this site does not constitute a commercial use agreement with Shutterfly. An application that operates under the basic Terms of Use is subject to a cap on the number of calls it can make to the Shutterfly Open API.

How do I obtain a Commercial Use license?

If you wish to use the Shutterfly Open API for a commercial purpose, you must ask Shutterfly for approval. The terms and conditions must be approved and negotiated with Shutterfly's business development team. Apply using the "Request approval for Commercial Use" link on your app list.

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

The Shutterfly Open API is designed for self-service by the developer (you). Shutterfly does not promise to assist you. If you need assistance, e-mail us at DeveloperHelp@shutterfly.com and we will try our best.

© 1999-2014 Shutterfly, Inc. All rights reserved.