Wiki source code of Spreadshirt Public Shop API Documentation
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
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. | ||
![]() |
57.1 | 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. |
![]() |
52.1 | 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 | |||
![]() |
58.1 | 12 | Spreadshirt runs a European and a North American platform that are independent from another. You need to: |
![]() |
52.1 | 13 | |
![]() |
58.1 | 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"]] | ||
![]() |
59.1 | 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"]] | ||
![]() |
58.1 | 21 | |
![]() |
52.1 | 22 | = Basics = |
23 | |||
![]() |
55.1 | 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. |
![]() |
52.1 | 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 | * ((( | ||
![]() |
44.1 | 27 | (% class="auto-cursor-target" %) |
![]() |
52.1 | 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" %) | ||
![]() |
55.1 | 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. |
![]() |
52.1 | 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. | ||
![]() |
55.1 | 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. |
![]() |
52.1 | 57 | * Timestamps are returned in ISO8601 format. |
58 | |||
59 | = Next Steps = | ||
60 | |||
![]() |
54.1 | 61 | 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**. |
![]() |
52.1 | 62 | |
63 | = [[doc:Legal Information]] = | ||
64 | |||
![]() |
44.1 | 65 | (% class="auto-cursor-target" %) |
66 | \\ |