Skip to main content

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:

  1. Create products in advance via the API
  2. Get product variant SKUs via:
    GET /projects/{project-reference}/products?include=projectProductColors
  3. 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:

  1. Match our base_product_sku or brand_product_sku with your blank products
  2. Find SKUs via the Catalog API or download the full catalog (Excel)
  3. 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

FieldDescription
processingarea_typeDefines which area of the product (e.g., front, back) will be processed.
width / heightDimensions in millimeters.
design_referenceA pre-rendered design that has been created upfront.
design_urlA URL linking directly to your design image. Ensure that the image is returned and not embedded in HTML.
force_positionWhen set to true, ensures the provided positioning is used exactly as specified, without automatic adjustments.
offset_topControls the vertical offset from the top in millimeters. Higher values move the design downward.
offset_centerControls 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 and offset_center.

Resizing

  • resize_to_processingarea: Resizes the design to fit the processing area.
    • First, reduces offset_top.
    • Then, reduces the design dimensions if necessary.

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:

    1. Set force_position: true
    2. Specify both offset_top and offset_center
    3. Ensure values account for the ±20mm tolerance

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.