The Product Type Model (API Terminology Explained #2)

In my last blog post in the series “API Terminology Explained”, I explained the difference between product type, product and article. In this blog post, I will give you more details on our product type model.

Understanding the Product Type Model

In our terminology, a product type represents the pure piece or apparel, e.g. a T-shirt, as we get it from our supplier, e.g. American Apparel. A typical product type, e.g. a yellow T-shirt from American Apparel in size M, is illustrated in the picture above.  A product type has the following characteristics:

  • Core data: Each product type has a set of core data, such as name description and price.
  • Appearances: A product type has one or more appearances. An appearance describes a pattern/color combination for a piece of apparel, e.g. a yellow T-shirt (no pattern/yellow color) or a camouflage T-shirt (camouflage pattern/light green and dark green as colors). It’s important to understand that we are not able to print with each available print type, e.g. flock, flex or digital direct, on each available product type. Therefore, we define for each appearance, which print types are allowed.
  • Sizes: A product type has one or more sizes, such as S, M or L. Please note, that size information may vary between different product types. Sizes for adults are for example different from sizes for babys or kids.
  • StockStates: Each product type provides stock state information for all allowed appearance/size combinations. We tell you for each combination, whether we have that in stock or not. Continue reading “The Product Type Model (API Terminology Explained #2)”

Spreadshirt API v1 Explained

In this blog post, I will give you a short overview on the features provided by API v1, the technology behind API v1, the different parts of API v1 and the relationship to existing APIs.

API v1 is one part of our strategy to provide Customized Apparel as a Service (CAaaS) that I described in my previous blog post “Customized Apparel as a Service (CAaaS) at Spreadshirt”. Please note, that API v1 is right now Alpha, that means URL structures and XML payload might still change during the next releases. However, API v1 should be stable enough to allow you to build your first applications based on it. We will also keep you up to date on possible changes and new releases on this blog.

API Features

Today, API v1 provides the following features:

  • Retrieve images for designs, products, product types, print types, etc.,
  • Retrieve data for designs, products, articles, product types, print types, etc.,
  • Create baskets and forward to Spreadshirt HTML checkout and
  • Store and retrieve widget configurations.

For the next releases, we plan to provide the following features:

  • Design upload and product creation,
  • Design and article search for marketplace and
  • Better basket integration.

Continue reading “Spreadshirt API v1 Explained”

Problems with Image API Urls

We recently discovered a problem with queries in our Image API URLs. Unfortunately, our CDN provider – one of the big ones on the market – is not able to deliver images for URLs that contain queries in HTTP GET requests and vary the image appearance, e.g. the product color or image size, with that query. So URLs like

might not work correctly, because after a certain time the CDN delivers the wrong cached image for the given query parameters.

We asked our CDN provider to solve that problem, but apparently they are unable or unwilling to do so. The odd thing is that queries in URLs that return XML data work apparently. The reason for the problem seems to be an old Squid version for delivering image data in Europe. But we don’t know exactly.

Anyway, the workaround for the described problem is, that you put the query parameters in a comma-separated list behind the id, like,height=100,width=100.png,height=200,width=200.png

Martin Breest
Platform Evangelist launched based on Spreadshirt API v1 Alpha

Recently, our partner Christoph Eicke launched his new and shiny shop You can see a screenshot of his shop’s start page below.

Hm, you’d say: “What’s so special on that?”. Well, Christoph created his custom shop based on our Spreadshirt API v1 (which is still alpha but works apparently already). And that is quite cool.

So what did he do? Christoph wrote his web application which contains the whole presentation logic based on Ruby on Rails. He basically used our API

  • to retrieve article lists,
  • to retrieve inventory data,
  • to create and update baskets and
  • get a redirect link for our HTML checkout.

If you go to Christoph’s shop and play around a little bit, you will see that everything runs quite smoothly and that the basket/ HTML checkout integration works quite well.

Christoph’s custom shop for presenting shop articles is only one example for a whole set of new use cases that can be satisfied using our new and shiny API v1.

Martin Breest
Platform Evangelist

RESTful Web Service Presentation

I recently held a presentation for a couple of our Spreadshirt engineers about our view on “RESTful Web Services” in general and the functionality provided by Spreadshirt’s REST API in special. In case you are interested, click on the image below to open the presentation.

Martin Breest
Platform Evangelist

The Difference between Article, Product and Product Type (API Terminology Explained #1)

In this blog post, I will try to clarify what the difference between article, product and product type is. The picture below visualizes the difference quite well.

Visualization of the difference between article, product and product type
Visualization of the difference between article, product and product type

A product type represents the pure t-shirt as we get it from our supplier, e.g. American Apparel. It is available in different colors (aka appearances) and sizes. A product type has also different views, i.e. front back, arm, on which are print areas. Print areas are those areas on a product type on which designs and text can be placed.

A product represents a product type with one or more designs or text on one or multiple the print areas. When a design or text is placed on a print area a configuration evolves. The price of a product is calculated using the price of the product type, the price of the used designs, and the price of the different colors used for printing.

An article represents a product that is placed in a specific shop with a fixed price tag on it. The price is the price of the product plus the commission that the shop operater added on top of that.

Using the API, article, product and product type can be retrieved using the below described URLs and have the following relationship. Let’s examine it, using article 7371156.

Continue reading “The Difference between Article, Product and Product Type (API Terminology Explained #1)”

First API v1 Sample Apps available at SourceForge

We created today a new project called spreadshirtapps at SourceForge. The goal is to provide sample code for different programming languages, such as Java, PHP, Ruby on Rails, and different application types, such as custom shops, widgets and integrations, to you in order to help you to make use of the API and to create cool, fancy and innovative applications.

You can checkout the already available code from:
svn co spreadshirtapps

Please note, that API v1 is currently under development (which means alpha) and that we will provide a first public beta next year. However, if you want to try it out and need an APIKey for example, contact us a developer(at)

Update on API v1 Development

We at Spreadshirt are currently working hard on providing a new cool and fancy REST interface that will allow you to create custom shops, widgets and integrations. We hope to provide a public beta of API v1 next year. However, you can check the current progress (which is still alpha) today, as we recently had an intermediate release. You can get an overview over the currently provided functionality by going to:

If you want to write some sample apps against API v1, use the provided wadl to generate the required glue code:

Please note, that API v1 is under development and the interface is not 100% stable yet. This means, that url patterns and xml payload might change. If you are interested and want to start your development based on API v1 contact us at developer(at)

Customized Apparel as a Service (CAaaS) at Spreadshirt

Since 2001, we at Spreadshirt are selling customized apparel over the internet to our customers. We started with allowing our partners to open shops on our platform and to sell their own merchandising articles to their customers. Later, we transformed this to offering shops for selling customized apparel in general.

For our partners, we not only hosted their shops but we also offer a lot of value-added services. We handled for example their orders, produced and delivered them on demand, provided our customer service to their customers, helped them with their legal issues, did their accounting and so on. In short, we handled pretty much everything for our partners besides designing an appealing shop and promoting the shop in the target customer group with the means that we provide to them.

Later, we further improved the customization part by allowing our customers to create their individual piece of customized apparel with our online designer, producing the piece of customized apparel on-demand within no time in our production facilities and delivering it to their home the next day. We of course also made the designer available to our partners.

We also allowed the creative ones among our customer, we call them designers, to create designs and place them on our marketplace with a price tag on it, in order to earn money in case one of our customers used this design on his piece of customized apparel. We also further improved this idea by starting design contests.

Current Challenges – Provide more Flexibility

Recently, more and more partners want to break out of the restricted means of presenting their shop with our means and hosting it. They want to present their shop with their means, promote it with their means and host it on their machines and only want to use our service for providing the required data, doing the on-demand production and delivery and doing the accounting and payment stuff. Other partners want to create their own advertisement banners, widgets (Facebook, etc.) or web application plugins (WordPress, etc.) and only need access to the required data.

Another group of partners wants to realize innovative business ideas around customized apparel like for example printing news headlines or photos on a t-shirt. These guys are basically looking for someone that provides the fulfillment as a service to them, which means everything from order processing, on-demand production, delivery, accounting and so on. They are looking for “a printer for apparel on the internet” with full service attached.

Just another group of partners wants to provide their own design marketplaces to their customers, be a shop reseller and hosting shops for their customers or copy our design contest and provide the same model to their designer community.

What they are all looking for is what we call Customized Apparel as a Service (CAaaS)
Continue reading “Customized Apparel as a Service (CAaaS) at Spreadshirt”