Intro
If a standalone or JavaScript Integrated Shop does not fulfill your requirements and you absolutely must have a custom shop this tutorial aims to be a starting point for your journey.
Example
Before we start you can take a look at a working (minimal) example that we have built in order to demonstrate the capabilities of the Public Shop API: https://github.com/spreadshirt/shop-api-example-integration. It shows a draft of a shop system written in php that might be helpful to understand the (list-page -> detail-page -> add-to-basket) workflow.
Prerequisites
We have to stress that you have to have a certain amount of time and technical knowledge in order to build your own shop based on the Public Shop API.
The following topics will not be covered by this tutorial and will be treated as given
- A Spreadshop with one or more design which you configured in the PartnerArea
- An Spreadshirt API Key
HTML and CSS knowledge
PHP and/or Javascript knowledge
Basic understanding about HTTP and "REST Resources" (in combination often called API)
Recommended approach
Manage your assets in the Partner Area
After you have created your Spreadshop you are ready to manage your assets at any time in the Partner Area. This is the only supported way to manage your shops, designs and products.
Product data import
While it is possible to build a shop entirely using the Public Shop API as single source it is not recommended. You will not be able to introduce all kinds of filtering and sorting options because these are NOT built into the Public Shop API.
That means that you should (periodically) fetch all sellables via the Public Shop API and import them to YOUR database. Once you have imported this data you can build a frontend. The only thing that should require direct API access based on customer action is the Basket API.
Required resources:
- Sellables
- Baskets
ProductType (optional)
Optional resources:
- Product Type based navigation can be built using ProductType Departments and Categories
- For localization see Country, Language and Currency (also see Price Formatting Guide)
- If you want to display correct shipping information you should study the Shipping Types documentation
Updating Data
There is no Public API available for uploading or updating ideas or sellables. This should be done via Partner Area.
Note that not only the content you upload in the Partner Area, but also the shop settings affect the output of the sellable resources. For example, enabling model images affects the image URLs returned by the API.
Basket handling and checkout
Please see the baskets resource documentation on how to create and update Spreadshirt API Baskets.