Version 56.1 by Shop Team on 2019/10/18 09:07

Hide last authors
Shop Team 52.1 1 = Preface =
2
3 Spreadshirt provides several ways to offer an online shop experience to your customers and earn money through commission:
4
5 1. The standalone Spreadshop ([[this>>url:https://shop.spreadshirt.com/SpreadShop||rel="nofollow" shape="rect" class="external-link"]], 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.
6 1. JavaScript integration (described [[here>>url:https://help.spreadshirt.com/hc/en-us/articles/207487815-Website-Integration-with-JavaScript||rel="nofollow" shape="rect" class="external-link"]]). 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.
7 1. CMS plugins for [[WordPress>>url:https://wordpress.org/plugins/spreadshop/#developers||rel="nofollow" shape="rect" class="external-link"]] and others (currently just [[Joomla>>url:https://extensions.joomla.org/extension/spreadshop/||rel="nofollow" shape="rect" class="external-link"]]) 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.
8 1. 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.
9
10 = Prerequisites =
11
12 Spreadshirt runs a European and a North American platform that are independent from another. First, you need to register a Spreadshop on [[eu>>url:https://www.spreadshirt.net/start-selling-C5780||shape="rect"]] or [[na>>url:https://www.spreadshirt.com/start-selling-shirts-C3598||shape="rect"]]. Then, in order to use the API, you need to register an API Key on [[eu>>url:https://www.spreadshirt.net/userarea/-C7120||shape="rect"]] or [[na>>url:https://www.spreadshirt.com/userarea/-C6840||shape="rect"]].
13
14 = Basics =
15
Shop Team 55.1 16 * The API described here is loosely based on [[REST>>url:https://en.wikipedia.org/wiki/Representational_state_transfer||shape="rect"]] principles. This means among other things that all endpoints can be accessed via HTTPS and HTTP clients like [[curl>>url:https://curl.haxx.se/||shape="rect"]] or [[postman>>url:https://www.getpostman.com/||shape="rect"]] can be used directly to explore the API.
Shop Team 52.1 17 * The base url for all requests is [[https:~~/~~/api.spreadshirt.net>>url:https://api.spreadshirt.net||shape="rect"]] for eu or [[https:~~/~~/api.spreadshirt.com>>url:https://api.spreadshirt.com||shape="rect"]] for na. (This only applies to REST resources, images are retrieved from [[https:~~/~~/image.spreadshirtmedia.net>>url:https://image.spreadshirtmedia.net||shape="rect"]] or [[https:~~/~~/image.spreadshirtmedia.com>>url:https://image.spreadshirtmedia.com||shape="rect"]].)
18 * (((
jns 44.1 19 (% class="auto-cursor-target" %)
Shop Team 52.1 20 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:
21
22 |=(((
23 Header Key
24 )))|=(((
25 Header Value Format
26 )))|=(((
27 Example Header Value
28 )))
29 |(((
30 Authorization
31 )))|(((
32 SprdAuth apiKey="<apikey>"
33 )))|(((
34 SprdAuth apiKey="dd30b4db-8cd6-4fb8-86b3-e680984b9e18"
35 )))
36 |(((
37 User-Agent
38 )))|(((
39 <YourApplication>/<YourApplicationVersion> ([[https:~~/~~/www.yourdomain.com>>url:https://www.yourdomain.com/||shape="rect"]]; [[yourname@yourdomain.com>>mailto:yourname@yourdomain.com||shape="rect"]])
40 )))|(((
41 WordPress-Plugin/1.0 ([[https:~~/~~/www.deinblog.com>>url:https://www.deinblog.com/||shape="rect"]]; [[admin@deinblog.com>>mailto:admin@deinblog.com||shape="rect"]])
42 )))
43
44 (% class="auto-cursor-target" %)
Shop Team 55.1 45 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.
Shop Team 52.1 46 )))
47 * 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.
Shop Team 55.1 48 * 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.
Shop Team 52.1 49 * Timestamps are returned in ISO8601 format.
50
51 = Next Steps =
52
Shop Team 54.1 53 There is a [[tutorial>>doc:Build your own shop system]] available showing the use of this API in order to **implement an own shop system**.
Shop Team 52.1 54
Shop Team 56.1 55 Another [[tutorial>>doc:Migration Tutorial]] explains how to adjust your existing implementation in case it broke due to the **partner area migration**.
jns 44.1 56
Shop Team 52.1 57 \\
jns 44.1 58
Shop Team 52.1 59 = [[doc:Legal Information]] =
60
jns 44.1 61 (% class="auto-cursor-target" %)
62 \\