Place Orders
Overview
The Shirtigo Cockpit API supports two order workflows. Choose the one that best fits your business model.
1. Order a Product
Create products upfront, then reference their SKUs when placing orders.
Best for: Fashion Brands with Limited Styles
- Keeps your account organized
- Enables detailed statistics and reporting
- Products can sync to integrations like Shopify
How it works:
- Create products in advance via the API
- Get product variant SKUs via:
GET /projects/{project-reference}/products?include=projectProductColors
- Reference the SKU when placing orders
Note: Include
projectProductColors
to retrieve SKU details.
Example Payload:
{
"delivery": {
"company": "Example Company AG",
"firstname": "John",
"lastname": "Doe",
"street": "Example Street 10",
"postcode": "12345",
"city": "Exampletown",
"country": "DE"
},
"products": [
{
"sku": "YOUR_PRODUCT_SKU_001",
"amount": 2
}
]
}
2. Order a Customized Base Product
Submit processing details with each order using a base_product_sku
.
Best for: Customization Businesses with Unique Designs
- No pre-creation required
- Dynamic customization per order
- Ideal for print-on-demand workflows
How it works:
- Match our
base_product_sku
orbrand_product_sku
with your blank products - Find SKUs via the Catalog API or download the full catalog (Excel)
- Include processing details in each order
Example Payload:
{
"delivery": {
"company": "Example Company AG",
"firstname": "John",
"lastname": "Doe",
"street": "Example Street 10",
"postcode": "12345",
"city": "Exampletown",
"country": "DE"
},
"sender": {
"company": "Example Company AG",
"firstname": "John",
"lastname": "Doe",
"street": "Sample Street 5",
"postcode": "12345",
"city": "Exampletown",
"country": "DE"
},
"products": [
{
"base_product_sku": "STTU169_Black_XXL",
"amount": 1,
"processings": [
{
"processingarea_type": "front",
"processingmethod": "dtg",
"design_url": "https://cdn.example.com/designs/custom_print.png",
"width": 300,
"height": 38,
"ignore_validation": true
}
]
}
]
}
Order Requirements
To place an order, you must provide:
-
Delivery Address (
delivery
) – Required The destination for the shipment. -
Sender Address (
sender
) – Optional If not provided, the default account address is used. Must be a valid physical address in Germany (shipment drop-off location). -
Product List (
products
) – Required Provide one of the following formats:amount + sku
amount + base_product_sku + processings
-
Documents (
documents
) – Optional Additional order documents can be included:- Merchant Invoice: Added for customs processing.
- Delivery Receipt: Custom receipt (requires activation by key account).
- Return Label: Pre-generated return label (requires activation by key account).
- Available in DIN A4 (return sheet + label) or DIN A6 (shipping label only).
- Shipping Label: User provided shipping label (only available for enterprise customers).
Preventing Duplicate Orders
To prevent accidental duplicate orders, we strongly recommend setting:
"external_reference"
– A unique reference for the order."check_unique_external_reference": true
– Ensures that no orders exist for the given reference.
Processing Information (processings
Object)
The processings
object specifies the processing details (e.g., printing or embroidery).
Fields
Field | Description |
---|---|
processingarea_type | Defines which area of the product (e.g., front, back) will be processed. |
width / height | Dimensions in millimeters. |
design_reference | A pre-rendered design that has been created upfront. |
design_url | A URL linking directly to your design image. Ensure that the image is returned and not embedded in HTML. |
force_position | When set to true , ensures the provided positioning is used exactly as specified, without automatic adjustments. |
offset_top | Controls the vertical offset from the top in millimeters. Higher values move the design downward. |
offset_center | Controls the horizontal offset from the center in millimeters. |
Processing Options
Cropping
ignore_validation
: Accepts files that do not meet the minimum resolution (1000px width or height). ⚠️ Note: The check is applied after cropping.
Extracting Size & Position
extract_size_and_position
: Extracts print dimensions and positioning from the transferred file.- Assumes the file matches the base product processing area and is created at 300 DPI.
- You can override
offset_top
andoffset_center
.
Resizing
resize_to_processingarea
: Resizes the design to fit the processing area.- First, reduces
offset_top
. - Then, reduces the design dimensions if necessary.
- First, reduces
Print Positioning Guidelines
For consistent and accurate print positioning across orders, consider these important details:
-
Size Considerations: Processing area dimensions of a baseproduct are based on size L products. For smaller sizes (S, M), the maximum print size may be automatically reduced.
-
Positioning Tolerance: Due to manual textile handling, expect a standard tolerance of ±20mm in positioning.
-
Precise Control: For exact placement control:
- Set
force_position: true
- Specify both
offset_top
andoffset_center
- Ensure values account for the ±20mm tolerance
- Set
Order API Reference
To see the complete API documentation for placing an order, including request and response examples, refer to:
➡️ Place an Order – API Reference
Shipping Options
- If no shipping method is provided, the most economical option is automatically selected.
- If activated for your account, you can choose the shipping carrier and product manually.
- This option is only available for selected customers and must be activated by your key account manager.
This guide helps you understand and implement the Shirtigo Cockpit Order API effectively. For further details, refer to the official API documentation.