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.
- 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.
Spreadshirt runs a European and a North American platform that are independent from another. First, you need to register a Spreadshop on eu or na. Then, in order to use the API, you need to register an API Key on eu or na.
- 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; email@example.com) WordPress-Plugin/1.0 (https://www.deinblog.com; firstname.lastname@example.org)
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 illegetimate.
- 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 ressources 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.
A tutorial will be made available soon showing the use of this API in order to implement an own shop system.