Spreadshirt Public Shop API Documentation
Preface
Spreadshirt provides several ways to offer an online shop experience to your customers and earn money through commission:
- The standalone Spreadshop (this, for example). This application is officially developed, hosted and maintained by Spreadshirt. Running a Spreadshop requires zero technical skills and is always the recommended approach.
- JavaScript integration (described here). If you have an existing website, you can embed a piece of JavaScript into it that manipulates your website in order to embed the Spreadshop into your site. This requires a decent understanding of HTML and CSS in order to resolve any conflicts between your site and the Spreadshop that may arise.
- CMS plugins for WordPress and others (currently just Joomla) that embed the JavaScript snippet mentioned in (2.) for you. If you run a website based on such CMS, these plugins can make your life a bit easier. An understanding of HTML and CSS is nonetheless important.
- An independent, custom built web application based on the Public Shop API described in this document. This interface is for web developers only (or people who can afford to hire one). Going for this approach is only feasible for people who have a solid understanding of server side & client side programming, HTTP, HTML and CSS.
Prerequisites
Spreadshirt runs a European and a North American platform that are independent from another. You need to:
- Choose a platform
- Register a Spreadshop:
- Visit this partner area page of the appropriate platform to retrieve your API Key:
Basics
- The API described here is loosely based on REST principles. This means among other things that all endpoints can be accessed via HTTPS and HTTP clients like curl or postman can be used directly to explore the API.
- The base url for all requests is https://api.spreadshirt.net for eu or https://api.spreadshirt.com for na. (This only applies to REST resources, images are retrieved from https://image.spreadshirtmedia.net or https://image.spreadshirtmedia.com.)
All requests have to be made with HTTP headers "Authorization" and "User-Agent". The authorization header must include your API key and the user agent header must include the name of your application, then its version, followed by a domain and a contact email address:
Header Key
Header Value Format
Example Header Value
Authorization
SprdAuth apiKey="<apikey>"
SprdAuth apiKey="dd30b4db-8cd6-4fb8-86b3-e680984b9e18"
User-Agent
<YourApplication>/<YourApplicationVersion> (https://www.yourdomain.com; yourname@yourdomain.com)
WordPress-Plugin/1.0 (https://www.deinblog.com; admin@deinblog.com)
Failing to provide this information may result in your requests getting blocked at any point in time because traffic of unknown source can be considered illegitimate.
- All requests should be performed with a ?mediaType=json query parameter to get the responses in the recommended JSON format. Leaving the parameter out may or may not result in a response in XML format which is harder to work with.
- All REST resources return HTTP status code 200 or 201 in case of successful requests. Status codes from the 4xx range indicate a mistake on your side while errors from the 5xx range indicate an error on ours.
- Timestamps are returned in ISO8601 format.
Next Steps
There is a tutorial available showing the use of this API in order to implement an own shop system.