Version 59.3 by Shop Team on 2023/02/13 22:55

Show last authors
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.spreadshop.com/hc/en-us/articles/360010529039-Website-Integration-with-JavaScript||shape="rect"]]). 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. You need to:
13
14 * Choose a platform
15 * Register a Spreadshop:
16 ** Europe: [[here>>url:https://www.spreadshirt.net/start-selling-C5780||shape="rect"]]
17 ** North America: [[here>>url:https://www.spreadshirt.com/start-selling-shirts-C3598||shape="rect"]]
18 * Visit this partner area page of the appropriate platform to retrieve your API Key:
19 ** Europe: [[here>>url:https://partner.spreadshirt.net/apiKey||shape="rect"]]
20 ** North America: [[here>>url:https://partner.spreadshirt.com/apiKey||shape="rect"]]
21
22 = Basics =
23
24 * 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.
25 * 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"]].)
26 * (((
27 (% class="auto-cursor-target" %)
28 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:
29
30 |=(((
31 Header Key
32 )))|=(((
33 Header Value Format
34 )))|=(((
35 Example Header Value
36 )))
37 |(((
38 Authorization
39 )))|(((
40 SprdAuth apiKey="<apikey>"
41 )))|(((
42 SprdAuth apiKey="dd30b4db-8cd6-4fb8-86b3-e680984b9e18"
43 )))
44 |(((
45 User-Agent
46 )))|(((
47 <YourApplication>/<YourApplicationVersion> ([[https:~~/~~/www.yourdomain.com>>url:https://www.yourdomain.com/||shape="rect"]]; [[yourname@yourdomain.com>>mailto:yourname@yourdomain.com||shape="rect"]])
48 )))|(((
49 WordPress-Plugin/1.0 ([[https:~~/~~/www.deinblog.com>>url:https://www.deinblog.com/||shape="rect"]]; [[admin@deinblog.com>>mailto:admin@deinblog.com||shape="rect"]])
50 )))
51
52 (% class="auto-cursor-target" %)
53 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.
54 )))
55 * 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.
56 * 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.
57 * Timestamps are returned in ISO8601 format.
58
59 = Next Steps =
60
61 There is a [[tutorial>>doc:API.Build your own shop system]] available showing the use of this API in order to **implement an own shop system**.
62
63 = [[doc:API.Legal Information]] =
64
65 (% class="auto-cursor-target" %)
66 \\