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. | ||
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 | |||
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. | ||
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 | * ((( | ||
![]() |
44.1 | 19 | (% class="auto-cursor-target" %) |
![]() |
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" %) | ||
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 illegetimate. | ||
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. | ||
48 | * 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. | ||
49 | * Timestamps are returned in ISO8601 format. | ||
50 | |||
51 | = Next Steps = | ||
52 | |||
![]() |
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**. |
![]() |
52.1 | 54 | |
![]() |
53.1 | 55 | Another [[tutorial>>doc:Migration Tutorial]] explains how to adjust your existing implementation to the upcoming **partner area migration**. |
![]() |
44.1 | 56 | |
![]() |
52.1 | 57 | \\ |
![]() |
44.1 | 58 | |
![]() |
52.1 | 59 | = [[doc:Legal Information]] = |
60 | |||
![]() |
44.1 | 61 | (% class="auto-cursor-target" %) |
62 | \\ |