Shirtigo Cockpit API API Reference
API for the Shirtigo Cockpit application. The API supports API-Key as well as OAuth2 authentication. The API-key / access token has to be presented in the Authentication
header such as Authentication: Bearer [key]
. Additionally, it is recommended to set the Accept: application/json
header. API Clients for several languages are available on github:
https://github.com/shirtigo
API Endpoint
https://cockpit.shirtigo.de/api
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: https
Version: 1.0.0
Authentication
cockpit_apikey
This API supports access via an API key. A key can be obtained from the integrations dashboard. The key must be presented in the 'Authorization' header, e.g. 'Authorization: Bearer [key]'.
cockpit_oauth
This API supports OAuth2 with the authorization-code flow. A detailed tutorial on this topic can be found
here. Note that the endpoint is /oauth/
, not /api/oauth/
as indicated here in the documentation.
oauth
This section contains endpoints related to the OAuth2 implementation.
Request access token
This endpoint constitutes the second step of the OAuth2 authorization flow, obtaining an access token from the access code. This is done on the client side and does not require any user interaction.
Grant type
Code received in callback from /oauth/authorize
Client ID (from registration)
Client Secret (from registration)
Success, token issued.
Error.
Error, invalid client (client ID or secret are wrong).
Response Example (200 OK)
{
"expires_in": 31536000,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjVjZj...",
"refresh_token": "tYI1iHjH7lGBLlBi+VD6uYYCn3pZo8Do/BSmcgzwTOuZ+f7v/z...",
"token_type": "Bearer"
}
Response Example (400 Bad Request)
{
"hint": "string",
"message": "string",
"error": "string"
}
Response Example (401 Unauthorized)
{
"hint": "string",
"message": "string",
"error": "string"
}
user
Endpoints in this section control data of the currently logged in user profile.
Update sender address
Update sender address fields of currently authenticated user.
- sender_lastname: string (up to 20 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_firstname: string (up to 20 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_street: string (up to 35 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_postcode: string (3 to 9 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_city: string (up to 30 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_country: string
-
Update sender address
Update sender address fields of currently authenticated user.
- sender_company_name: string (up to 30 chars)
-
Update sender address
Update sender address fields of currently authenticated user.
Request Example
{
"sender_lastname": "string",
"sender_firstname": "string",
"sender_street": "string",
"sender_postcode": "string",
"sender_city": "string",
"sender_country": "string",
"sender_company_name": "string"
}
User information updated.
Validation of inputs failed.
cockpit_apikey | |
cockpit_oauth | write-user |
Update user advanced
Update advanced user settings.
- default_product_packaging_reference: string
-
Update user advanced
Update advanced user settings.
- receives_mail_order_shipped: boolean
-
Update user advanced
Update advanced user settings.
- add_delivery_receipt: boolean
-
Update user advanced
Update advanced user settings.
- use_tracking_world: boolean
-
Update user advanced
Update advanced user settings.
- default_imprint_reference: string
-
Update user advanced
Update advanced user settings.
- receives_mail_order_placed: boolean
-
Update user advanced
Update advanced user settings.
- use_tracking_de: boolean
-
Update user advanced
Update advanced user settings.
- use_custom_product_name: boolean
-
Update user advanced
Update advanced user settings.
- default_second_packin_reference: string
-
Update user advanced
Update advanced user settings.
- customs_email: string
-
Update user advanced
Update advanced user settings.
- locale: string
-
Update user advanced
Update advanced user settings.
- default_first_packin_reference: string
-
Update user advanced
Update advanced user settings.
- default_label_reference: string
-
Update user advanced
Update advanced user settings.
- default_order_packaging_reference: string
-
Update user advanced
Update advanced user settings.
- use_tracking_eu: boolean
-
Update user advanced
Update advanced user settings.
- default_hangtag_reference: string
-
Update user advanced
Update advanced user settings.
- accounting_email: string
-
Update user advanced
Update advanced user settings.
- delivery_receipt_note: string
-
Update user advanced
Update advanced user settings.
Request Example
{
"default_product_packaging_reference": "string",
"receives_mail_order_shipped": "boolean",
"add_delivery_receipt": "boolean",
"use_tracking_world": "boolean",
"default_imprint_reference": "string",
"receives_mail_order_placed": "boolean",
"use_tracking_de": "boolean",
"use_custom_product_name": "boolean",
"default_second_packin_reference": "string",
"customs_email": "string",
"locale": "string",
"default_first_packin_reference": "string",
"default_label_reference": "string",
"default_order_packaging_reference": "string",
"use_tracking_eu": "boolean",
"default_hangtag_reference": "string",
"accounting_email": "string",
"delivery_receipt_note": "string"
}
User information updated.
Validation of inputs failed.
cockpit_apikey | |
cockpit_oauth | write-user |
Delete a sticker assigned to your account or integration
The endpoint returns an empty array with exit code 200.
Unique integration identifier
Success, sticker was deleted
cockpit_apikey | |
cockpit_oauth | write-user |
Update user information
Update (some) fields of the currently authenticated user profile.
- country: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- firstname: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- lastname: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- company_name: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- city: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- postcode: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- phone: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- street: string
-
Update user information
Update (some) fields of the currently authenticated user profile.
- is_business: boolean
-
Update user information
Update (some) fields of the currently authenticated user profile.
Request Example
{
"country": "string",
"firstname": "string",
"lastname": "string",
"company_name": "string",
"city": "string",
"postcode": "string",
"phone": "string",
"street": "string",
"is_business": "boolean"
}
User information updated.
Validation of inputs failed.
cockpit_apikey | |
cockpit_oauth | write-user |
Get user information
Retrieve information about the currently authenticated user.
Success
Response Example (200 OK)
{
"sender_title": "string",
"sender_lastname": "string",
"sender_firstname": "string",
"display_name": "Max Mustermann",
"city": "Köln",
"postcode": "12345",
"phone": "004930123456",
"default_delivery_receipt_logo_reference": "ABC123",
"is_business": "true",
"sender_company_name": "string",
"title": "Dr.",
"lastname": "Mustermann",
"sender_street": "string",
"default_second_packin_reference": "ABC123",
"sender_city": "string",
"is_billing_valid": true,
"is_auto_onhold": true,
"default_first_packin_reference": "ABC123",
"email": "mustermann@example.com",
"country": "Deutschland",
"sender_state": "string",
"integrations": [
{
"id": 111,
"add_delivery_receipt": true,
"image_type": "png",
"is_auto_pull_orders": "true",
"expires_in": "2018-01-01 12:34:56",
"default_delivery_receipt_logo_reference": "ABC123",
"default_product_packaging_reference": "ABC123",
"app": "shopify",
"image_quality": "high",
"default_order_packaging_reference": "ABC123",
"default_label_reference": "ABC123",
"default_sticker_reference": "ABC123",
"name": "my-cool-shirtstore.myshopify.com",
"default_imprint_reference": "ABC123",
"use_custom_product_name": "true",
"default_second_packin_reference": "ABC123",
"sticker_logo": "https://example.com/custom_logo.png",
"is_pull_orders": "true",
"reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
"delivery_receipt_logo": "https://example.com/custom_logo.png",
"default_first_packin_reference": "ABC123",
"default_hangtag_reference": "ABC123",
"delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order"
}
],
"use_custom_product_name": "true",
"has_orders": true,
"firstname": "Max",
"sender_type": "string",
"sticker_logo": "https://example.com/custom_logo.png",
"delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
"street": "Musterstraße 12",
"sender_postcode": "string",
"company_name": "Shirtigo GmbH",
"updated_at": "2017-01-01 12:34:56",
"delivery_receipt_logo": "https://example.com/custom_logo.png",
"integration_count": 2,
"default_hangtag_reference": "ABC123",
"sender_country": "string",
"user_group": {
"id": 1,
"type": "premium",
"created_at": "2017-01-01 12:34:56",
"quantity": 1000,
"cockpit_discount": 20,
"updated_at": "2017-01-01 12:34:56"
},
"add_delivery_receipt": true
}
cockpit_apikey | |
cockpit_oauth | read-user |
Get balance for current user
Return a Money object for the users current balance
Success
Response Example (200 OK)
Upload a sticker to be used on the delivery receipt for your customers
Upload a sticker to your user account which is printed on packaging for your customers to increase the branding of your fulfillment
The file needs to be a png with 560px x 560px (width x height).
The endpoint returns an empty array with exit code 200.
Design file
Success, sticker was uploaded
Error, image file does not meet requirements
cockpit_apikey | |
cockpit_oauth | write-user |
Get all transactions
Retrieve all accounting transactions issued by the currently authenticated user. The result will be paginated, meta information is included in the response.
Page number
Items per page
Search query
Property to order by
Order direction
Days to show (default: all)
Action to filter for (default: none)
Success
Response Example (200 OK)
{
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "invoice",
"created_at": "2017-01-01 12:34:56",
"vat_rate": 19,
"payment_reference": "Kreditkarte",
"status_title": "Erstattung",
"order": {
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png"
}
}
]
}
]
}
}
}
]
}
Upload a logo to be used on the delivery receipt for your customers
Upload a logo to your user account which is printed on the delivery receipt for your customers to increase the branding of your fulfillment
The file needs to be a png with 900px x 385px (width x height).
The endpoint returns an empty array with exit code 200.
Design file
Success, delivery receipt logo was uploaded
Error, image file does not meet requirements
cockpit_apikey | |
cockpit_oauth | write-user |
Delete a Logo assigned to your account or integration
The endpoint returns an empty array with exit code 200.
Unique integration identifier
Success, delivery receipt logo was deleted
cockpit_apikey | |
cockpit_oauth | write-user |
design
Endpoints in this section manipulate (create, view, modify) designs by the currently logged in user.
Create design from file
Create a new design from the submitted file.
The file must be at least 1000px in width or height and must be formatted either as PNG- or JPEG raster image.
The endpoint returns the created design.
Design file
Success, all file has been processed
Error, image file does not meet requirements
Response Example (200 OK)
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
cockpit_apikey | |
cockpit_oauth | write-design |
Delete design
Only designs by the currently authenticated user may be deleted.
Unique design identifier
Success, design deleted
Design not found
cockpit_apikey | |
cockpit_oauth | write-design |
Get design
Retrieve information about a single design. Only searches designs that are available to the currently authenticated user.
Unique design identifier
Success
Design not found
Response Example (200 OK)
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
cockpit_apikey | |
cockpit_oauth | read-design |
Update design
Update a single design based on the parameters given in the form body.
- name: string
-
Update design
Update a single design based on the parameters given in the form body.
Unique design identifier
Request Example
{
"name": "string"
}
Success
Design not found
Response Example (200 OK)
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
cockpit_apikey | |
cockpit_oauth | write-design |
Get all designs
Retrieve a paginated list of available designs of the currently authenticated user.
Success
Response Example (200 OK)
{
"data": [
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
]
}
cockpit_apikey | |
cockpit_oauth | read-design |
Create design from URL
Create a new design from the submitted URL.
The endpoint returns the created design.
- url: string
-
Design file URL
Request Example
{
"url": "string"
}
Success, URL has been processed
Error, URL / image file does not meet requirements
Response Example (200 OK)
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
cockpit_apikey | |
cockpit_oauth | write-design |
Create design from base64-encoded data
Create a new design from the base64-encoded data
The endpoint returns the created design.
- data: string
-
Base64-encoded data
- original_filename: string
-
Original file name (optional)
Request Example
{
"data": "string",
"original_filename": "string"
}
Success, URL has been processed
Error, URL / image file does not meet requirements
Response Example (200 OK)
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
cockpit_apikey | |
cockpit_oauth | write-design |
product
Endpoints in this section retrieve products available to the currently logged in user.
Synchronize integrations
Trigger synchronization for all requested integrations for this product. The synchronization is performed in the background. Its status can be observed by querying the active_integration_syncs field in the product response.
- integrations: object[]
-
Integration ids
Numerical product identifier
Request Example
{
"integrations": [
null
]
}
Success, all integrations processed
cockpit_apikey | |
cockpit_oauth | write-project |
Create provisional product
Retrieve information for a draft product
Identifier of desired base product
Success
Response Example (200 OK)
{
"name": "Base product XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"description": "string",
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean",
"description": "string"
}
}
cockpit_apikey | |
cockpit_oauth | read-project |
Create a CampaignProduct
Add a product to a project from the catalog of available base products.
- base_product_id: integer
-
Identifier of desired base product
- custom_name: string
-
Set a custom name for this product, will be filled with a generated placeholder of the form '{project_name} - {product_name}' if not set
- colors: integer[]
-
List of colors ids
- sort_position: integer
-
Set a sort position for this product within its project
- project_id: string
-
Identifier of existing product
- price: integer
-
Price in Euro-cents
Request Example
{
"base_product_id": 25,
"custom_name": "My fancy product name",
"colors": [
"212,239"
],
"sort_position": "1",
"project_id": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"price": "1999"
}
Success
Project or base product not found
Requirements not fulfilled
Response Example (200 OK)
{
"data": [
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {}
}
}
]
}
cockpit_apikey | |
cockpit_oauth | write-project |
Get all products
Only return products where rendering is finished.
Success
Response Example (200 OK)
{
"data": [
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {}
}
}
]
}
cockpit_apikey | |
cockpit_oauth | read-project |
Delete product
Numerical product identifier
Success, product deleted
Product not found
cockpit_apikey | |
cockpit_oauth | write-project |
Get product
Retrieve information on a single product.
Numerical product identifier
Success
Product not found
Response Example (200 OK)
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
}
}
}
cockpit_apikey | |
cockpit_oauth | read-project |
Update product
Update names, descriptions, prices and add/delete a product of the authenticated user.
- custom_name: string
-
Product name
- colors: integer[]
-
List of color ids
- sort_position: integer
-
Set a sort position for this product within its project
- description: string
-
Short description
- delete_unmentioned_colors: bool
-
Set to true if colors which are stored but do not appear in the request should be deleted. Default: false
- price: integer
-
Gross product price in Euro-cents
Numerical product identifier
Request Example
{
"custom_name": "My cool product",
"colors": [
"integer"
],
"sort_position": "1",
"description": "string",
"delete_unmentioned_colors": "bool",
"price": 400
}
Success
Product not found
Response Example (200 OK)
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
}
}
}
cockpit_apikey | |
cockpit_oauth | write-project |
base-product
Endpoints in this section retrieve base products available during product creation.
List available categories
Success
Response Example (200 OK)
{
"data": [
{
"id": 10,
"name": "Unisex-Shirts",
"sort_position": 1
}
]
}
Get all base products
Retrieve a list of available base products. Optionally, a category can be passed for filtering.
Filter by category identifier (default: any)
Success
Response Example (200 OK)
{
"data": [
{
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean",
"description": "string"
}
]
}
Get base product
Retrieve information on a single base product.
Numerical base product identifier
Success
Product not found
Response Example (200 OK)
{
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean",
"description": "string"
}
project
Endpoints in this section manipulate (create, view, modify) projects of the currently logged in user.
Delete project
Delete the selected project.
Unique project identifier
Success, project deleted
Project not found
Project could not be dleted due to problems to delete product integrations
Get project
Retrieve information about a single project. Only searches projects that are available to the currently authenticated user.
Unique project identifier
Success
Project not found
Response Example (200 OK)
{
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
cockpit_apikey | |
cockpit_oauth | read-project |
Update project
Change information about a project
- name: string
-
Project name
Unique project identifier
Request Example
{
"name": "My cool project"
}
Success
Project not found
Response Example (200 OK)
{
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
cockpit_apikey | |
cockpit_oauth | read-project |
Update processing
Update processing information on a single campaign.
Unique project identifier
Processing site to remove
Processing position to remove
Request Example
{
"position": "center",
"offset_center": 0,
"method": "print",
"area": "front",
"design": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"offset_top": 50,
"width": 200
}
Success
Project not found
cockpit_apikey | |
cockpit_oauth | write-campaign |
Remove processing
Remove processing from specified processing area.
Unique project identifier
Processing site to remove
Processing position to remove
Success
Campaign or processing not found
cockpit_apikey | |
cockpit_oauth | write-project |
Publish project
Publish project draft. To be eligible for publication, a project must have at least one product and one print attached to it.
Unique project identifier
Success, project transferred
Project not found
Requirements not fulfilled
cockpit_apikey | |
cockpit_oauth | write-project |
Get products for a project
Retrieve information about the products for a single project. Only searches projects that are available to the currently authenticated user.
Unique project identifier
Success
Project not found
Response Example (200 OK)
[
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123
}
}
}
]
cockpit_apikey | |
cockpit_oauth | read-project |
Synchronize integrations
Trigger synchronization with all integrations defined for this campaign. The synchronization is performed in the background. Its status can be observed by querying for the attribute "status". It has the following enum-values:
- 'is_queuing',
- 'is_syncing',
- 'is_completed'
- 'has_errors'
- integrations: object[]
-
Integration ids
Unique project identifier
Request Example
{
"integrations": [
null
]
}
Success, all integrations processed
cockpit_apikey | |
cockpit_oauth | write-project |
Create Project
Create a new project and return the inserted information. Associate the project with the currently authenticated user.
- name: string
-
Project name
Request Example
{
"name": "My cool project"
}
Success
Response Example (200 OK)
{
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
cockpit_apikey | |
cockpit_oauth | write-project |
Get all projects
Retrieve all projects available for the currently authenticated user. The projects are automatically paginated, meta information is included in the response.
Current page
Number of items per page
Column used to sort the results. You can sort by: name, reference, url, default_preview_position, created_at, updated_at
Direction for sorting
Success
Response Example (200 OK)
{
"data": [
{
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
],
"meta": {
"pagination": {
"per_page": 10,
"count": 10,
"links": {
"next": "string",
"previous": "string"
},
"total": 32,
"current_page": 2,
"total_pages": 4
}
}
}
cockpit_apikey | |
cockpit_oauth | read-project |
Add processing
Add processing information to a single campaign.
Unique project identifier
Request Example
{
"position": "center",
"offset_center": 0,
"method": "print",
"area": "front",
"design": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"offset_top": 50,
"width": 200
}
Success
Project not found
cockpit_apikey | |
cockpit_oauth | write-project |
order
Endpoints in this section retrieve information about issued orders.
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered billing method. The sender information is optional, if not provided, the current user information will be used.
- packins: object[]
-
Selected packins (optional)
- is_onhold: boolean
-
Indicates if order is automatically pushed to production (default = false)
- sender: OrderAddress
-
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered billing method. The sender information is optional, if not provided, the current user information will be used.
- delivery: OrderAddress
-
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered billing method. The sender information is optional, if not provided, the current user information will be used.
- products: object[]
-
Selected products
- delivery_receipt_logo_reference: string
-
Logo printed on delivery receipt (optional)
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to delivery (default = true)
- delivery_receipt_note: string
-
Custom note printed on delivery receipt
Request Example
{
"packins": [
{
"product_packaging_reference": "A12345",
"sticker_reference": "A12345",
"order_packaging_reference": "A12345",
"imprint_reference": "A12345",
"hangtag_reference": "A12345",
"second_packin_reference": "A12345",
"label_reference": "A12345",
"first_packin_reference": "A12345"
}
],
"is_onhold": "true",
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"products": [
{
"amount": 1,
"colorId": 326,
"sizeId": 1,
"productId": 235
}
],
"delivery_receipt_logo_reference": "ABC123",
"add_delivery_receipt": "true",
"delivery_receipt_note": "Use Voucher XYZ for a 10% discount."
}
Success, order has been created
Unauthorized (no credentials or not eligible for ordering)
Validation failed, details in response body
Response Example (201 Created)
{
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
]
},
"shipping": {
"type": "delivery",
"created_at": "2017-01-01 12:34:56"
}
}
cockpit_apikey | |
cockpit_oauth | write-order |
Get all orders
Retrieve all orders issued by the currently authenticated user. The result will be paginated, meta information is included in the response.
Page number
Filter by order status id
Items per page
Search query
Property to order by
Order direction
Days to show (default: all)
Secondary filter level (e.g. filter reprint orders)
Success
Response Example (200 OK)
{
"data": [
{
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
]
},
"shipping": {
"type": "delivery"
}
}
]
}
cockpit_apikey | |
cockpit_oauth | read-order |
Calculate price
Calculate the full price (incl. shipping and taxes) for the selected order candidate. This can be done before ordering. The parameters are the same as to the "Create Order" endpoint.
- packins: object[]
-
Selected packins (optional)
- is_onhold: boolean
-
Indicates if order is automatically pushed to production (default = false)
- sender: OrderAddress
-
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered billing method. The sender information is optional, if not provided, the current user information will be used.
- delivery: OrderAddress
-
Create order
Submit a new order for the currently authenticated user. The user must have at least one registered billing method. The sender information is optional, if not provided, the current user information will be used.
- products: object[]
-
Selected products
- delivery_receipt_logo_reference: string
-
Logo printed on delivery receipt (optional)
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to delivery (default = true)
- delivery_receipt_note: string
-
Custom note printed on delivery receipt
Request Example
{
"packins": [
{
"product_packaging_reference": "A12345",
"sticker_reference": "A12345",
"order_packaging_reference": "A12345",
"imprint_reference": "A12345",
"hangtag_reference": "A12345",
"second_packin_reference": "A12345",
"label_reference": "A12345",
"first_packin_reference": "A12345"
}
],
"is_onhold": "true",
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"products": [
{
"amount": 1,
"colorId": 326,
"sizeId": 1,
"productId": 235
}
],
"delivery_receipt_logo_reference": "ABC123",
"add_delivery_receipt": "true",
"delivery_receipt_note": "Use Voucher XYZ for a 10% discount."
}
Success, price has been calculated
Validation failed, details in response body
Response Example (200 OK)
{
"included_tax_rate": 19
}
Release onhold
Orders with Flag Onhold will not be send to production until flag is released. Only Orders having completely rendered Images can be released.
Success, orderProduct customized
cockpit_apikey | |
cockpit_oauth | write-project |
Set onhold
Orders with Flag Onhold will not be send to production until flag is released. Orders can be set to onhold until they are pushed to production
Success, orderProduct customized
cockpit_apikey | |
cockpit_oauth | write-project |
Retry payment
Set the order payment method to the current user's payment method and retry credit card capture.
Alphanumerical order identifier
Success, order has been paid.
Payment failed (either duplicate payment or an error occured).
cockpit_apikey | |
cockpit_oauth | read-order |
Get coupon info
Retrieve information about a single order coupon.
Alphanumerical coupon identifier as provided to the customer
Success
Coupon not found
Response Example (200 OK)
cockpit_apikey | |
cockpit_oauth | read-order |
Get order
Retrieve information about a single order. Only orders visible by the currently authenticated user may be retrieved.
Alphanumerical order identifier
Success
Order not found
Response Example (200 OK)
{
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
]
},
"shipping": {
"type": "delivery",
"created_at": "2017-01-01 12:34:56"
}
}
cockpit_apikey | |
cockpit_oauth | read-order |
Create order comment
Creates a new comment for a given order. Expects the comment text.
Alphanumerical order identifier
Success, comment has been created.
Order not found
cockpit_apikey | |
cockpit_oauth | write-order |
Cancel order
Set the order status to canceled.
Alphanumerical order identifier
Success, order has been canceled.
Order not found
cockpit_apikey | |
cockpit_oauth | write-order |
Create Quick-Order
Create a design, a product and place an order - in a single step.
- packins: object[]
-
Selected packins (optional)
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to delivery (default = true)
- sender: OrderAddress
-
Create Quick-Order
Create a design, a product and place an order - in a single step.
- delivery_receipt_logo_reference: string
-
Logo printed on delivery receipt (optional)
- jobs: object[]
-
Processing jobs
- delivery: OrderAddress
-
Create Quick-Order
Create a design, a product and place an order - in a single step.
- delivery_receipt_note: string
-
Custom note printed on delivery receipt
Request Example
{
"packins": [
{
"product_packaging_reference": "A12345",
"sticker_reference": "A12345",
"order_packaging_reference": "A12345",
"imprint_reference": "A12345",
"hangtag_reference": "A12345",
"second_packin_reference": "A12345",
"label_reference": "A12345",
"first_packin_reference": "A12345"
}
],
"add_delivery_receipt": "true",
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery_receipt_logo_reference": "ABC123",
"jobs": [
{
"base_products": [
{
"id": 235,
"colors": [
{
"id": 326,
"sizes": [
{
"id": 1,
"amount": "integer"
}
]
}
]
}
],
"processings": [
{
"position": "center",
"offset_center": 0,
"method": "print",
"area": "front",
"design": {
"url": "https://myurl/myimage.png"
},
"offset_top": 50,
"width": 200
}
]
}
],
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery_receipt_note": "Use Voucher XYZ for a 10% discount."
}
Success, order has been created
Unauthorized (no credentials or not eligible for ordering)
Validation failed, details in response body
Response Example (201 Created)
{
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
]
},
"shipping": {
"type": "delivery",
"created_at": "2017-01-01 12:34:56"
}
}
cockpit_apikey | |
cockpit_oauth | write-order |
other
This section contains miscellaneous endpoints.
Get selling statistics
Retrieve statistics about the current user's sales. This endpoint reports the number of sales and the total net amount for four different reporting periods: Last 24 hours, last 7 days, last 30 days and total.
Success
Response Example (200 OK)
{
"total_amount": 36,
"today_amount": 1,
"week_amount": 3,
"month_amount": 14
}
Get delivery targets
Retrieve a list of valid delivery target countries. The result is presented as associative array: The array keys consist of upper-case two-letter country codes, the corresponding values are the human readable country names.
Success
Response Example (200 OK)
{
"data": [
{
"name": "Germany",
"iso": "DE"
}
]
}
Calculate production cost
Calculate the net production cost for a given product, set of print areas and color information. The VAT rate rate is preliminary, the final rate depends on the shipping target, involvement of business customers and other factors.
- is_colored: boolean
-
Is this a color print?
- printareas: integer[]
-
Desired print areas
- product_id: integer
-
Desired base product
Request Example
{
"is_colored": true,
"printareas": [
"integer"
],
"product_id": 375
}
Success
Product not found
Response Example (200 OK)
UserIntegration
Get order-reference Get shirtigo order reference for given integrationId and integration orderId
Success, orderProduct customized
cockpit_apikey | |
cockpit_oauth | write-project |
orderProduct
Customize OrderProduct
Customize an existing OrderProduct for the currently authenticated user.
Reference of design
Processingarea to be customized. 1 = front, 2 = back
Width of design in millimeter
Offset to collar in millimeter
x-shift to centerline in millimeter
Success, orderProduct customized
cockpit_apikey | |
cockpit_oauth | write-project |
Schema Definitions
Design: object
- name: string
-
Design Name
- colors: integer
-
Total number of colors in the color palette
- filetype: string
-
Extension of the design file name
- filename: string
-
Design file name
- updated_at: string
-
Timestamp of last update
- width: integer
-
Width of the design file in pixels
- complementary_color: string
-
Complementary color
- created_at: string
-
Timestamp of creation
- height: integer
-
Height of the design file in pixels
- reference: string
-
Unique identifier of this design
- original_file: string
-
URL to full resolution image
- palette: string[]
-
List of hex-codes of representative colors
- preview: string
-
URL to preview image
- is_dark: boolean
-
Is this a design with dark colors?
- is_processed: boolean
-
Has the design been rendered?
Example
{
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
}
Product: object
- id: integer
-
Numeric identifier of this product
- name: string
-
Product name
- sizechart_image: string
-
URL of the product size table image
- short_description: string
-
Short description
- shipping_category: integer
-
Shipping category
- category: string
-
Category name
- original_name: string
-
Base product name
- price: object
-
Pricing information
- colors: object
-
Color information
- processing_areas: object
-
Available processing areas
- category_id: integer
-
Numerical category identifier
- sales_price: object
-
Pricing information on sales
- images: object
-
Product images
- manufacturer: ProductManufacturer
-
Manufacturer information
- is_active: boolean
-
Activation status. Base products may not be available for orders in rare cases.
- description: string
-
Detailed description
Example
{
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean",
"description": "string"
}
OAuthServerException: object
- hint: string
-
A helper hint.
- message: string
-
Human readable error message.
- error: string
-
Machine readable error type.
Example
{
"hint": "string",
"message": "string",
"error": "string"
}
Country: object
- name: string
-
Country name
- iso: string
-
Two-letter identifier according to ISO 3166-1
Example
{
"name": "Germany",
"iso": "DE"
}
OrderRelation: object
- status_key: string
-
Number of products
- status: string
-
Human readable order status
- created_at: string
-
Timestamp of creation
- total_items: integer
-
Total number of items in the order
- reference: string
-
Unique identifier of this order
- gross_price: Money
-
Total gross price of this order
- updated_at: string
-
Timestamp of last update
- vat_amount: Money
-
VAT amount
- net_price: Money
-
Total net price of this order
- vat_rate: integer
-
VAT rate in percent
Example
{
"status_key": "",
"status": "Bestellung offen",
"created_at": "2017-01-01 12:34:56",
"total_items": 5,
"reference": "ABCDXY1",
"updated_at": "2017-01-01 12:34:56",
"vat_rate": 19
}
Order: object
- status: string
-
Human readable order status
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to order
- total_items: integer
-
Total number of items in the order
- orderStatusEntries: object
-
Array of status messages associated with this order
- sender: OrderAddress
-
Sender address
- packins: object
-
Array of packins and hangtags in this order
- gross_price: Money
-
Total gross price of this order
- net_price: Money
-
Total net price of this order
- status_key: string
-
Number of products
- vat_rate: integer
-
VAT rate in percent
- delivery_receipt_logo_reference: string
-
Media reference for the logo added to delivery_receipt
- payments: object
-
Array of payments associated with this order
- bill: OrderAddress
-
Billing address
- delivery: OrderAddress
-
Delivery address
- use_custom_product_name: boolean
-
Use custom product name on delivery receipt
- products: object
-
Array of products in this order
- shipping: OrderShipping
-
Details on the shipping method, status and tracking (only present if order is being or has been shipped)
- vat_amount: Money
-
VAT amount
- updated_at: string
-
Timestamp of last update
- created_at: string
-
Timestamp of creation
- invoice_reference: string
-
Invoice reference
- reference: string
-
Unique identifier of this order
- fulfillment: object
-
Fulfillment details or
false
if no details are available - delivery_receipt_note: string
-
Custom note on delivery receipt
Example
{
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
]
},
"shipping": {
"type": "delivery",
"created_at": "2017-01-01 12:34:56",
"country_code": "DE"
}
}
ProductImage: object
- url: string
-
URL of the image file
- sort_position: integer
-
Numerical index used for sorting
Example
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
ProjectWithProducts:
Example
{
"products": [
{
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg"
}
]
}
}
],
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
ProductColor: object
- id: integer
-
Numerical identifier
- color: string
-
Color name
- is_colored: boolean
-
Is this a non trivial (b/w) color?
- sizes: object[]
-
Available sizes
- color_hex: string
-
Hexadecimal RGB color value
Example
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
CampaignProduct: object
- id: integer
-
Numerical identifier
- name: string
-
Product name
- colors: ProductColor
-
List of available colors
- sort_position: integer
-
Set a sort position for this product within its project
- description: string
-
Short description in HTML format
- custom_name: string
-
User defined product name
- is_available: boolean
-
Is the product available?
- integration_products: CampaignIntegrationProduct
-
List of integration products (e.g. products in shopify) for this products
- active_integration_syncs: CampaignProductIntegrationSync
-
List of currently active synchronizations with integrations
- base_product: Product
-
Base product
- project: string
-
Project reference
- updated_at: string
-
Timestamp of last update
- has_express: boolean
-
Is the product available for express processing?
- images: UtilProductImage
-
Product images
- project_name: string
-
Project name
- integration_sync_log: CampaignProductIntegrationSync
-
History of synchronizations with integrations for this product
- price: Money
-
Net price
- is_rendered: boolean
-
Has the product been rendered?
Example
{
"id": 123,
"name": "Base Product Name XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"sort_position": "1",
"description": "string",
"custom_name": "My cool product",
"is_available": true,
"integration_products": [
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
],
"active_integration_syncs": [
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
],
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean"
}
}
ProductDimensions: object
- height: integer
-
Height in mm
- size: string
-
Product size name
- width: integer
-
Width in mm
Example
{
"height": 500,
"size": "XL",
"width": 200
}
ProductProcessingArea: object
- width_in_mm: integer
-
Width of the printarea in millimeters
- template_height: integer
-
Default template height
- height: integer
-
Height of the printarea in pixels
- position_id: integer
-
Numerical identifier
- position_name: string
-
Name of the printarea
- template: string
-
Template
- printable_area_margin_from_top: integer
-
Distance between top and processable area top
- height_in_mm: integer
-
Height of the printarea in millimeters
- width: integer
-
Width of the printarea in pixels
- template_width: integer
-
Default template width
Example
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
OrderPackin: object
Example
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
CampaignIntegrationProduct: object
- updated_at: string
-
Timestamp of last update
- integration_product_id: string
-
The identifier used by the integration application
- integration_id: integer
-
The cockpit internal id of the used user integration
Example
{
"updated_at": "2017-01-01 12:34:56",
"integration_product_id": "9286211826",
"integration_id": 111
}
ProjectPrint: object
- position: string
-
Processing position
- height: integer
-
Design height in millimeters
- offset_center: integer
-
Horizontal offset from center in millimeters
- method: string
-
Processing method
- area: string
-
Processing site
- updated_at: string
-
Timestamp of last update
- design: Design
- offset_top: integer
-
Vertical offset from top in millimeters
- width: integer
-
Design width in millimeters
Example
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
Pagination: object
Pagination information
- per_page: integer
-
Default number of items per page
- count: integer
-
Number of items on current page
- links: object
-
URLs of adjacent pages
- total: integer
-
Total number of items
- current_page: integer
-
Index of current page
- total_pages: integer
-
Total number of pages
Example
{
"per_page": 10,
"count": 10,
"links": {
"next": "string",
"previous": "string"
},
"total": 32,
"current_page": 2,
"total_pages": 4
}
OrderPayment: object
- id: string
-
Unique transaction identifier
- status: string
-
Payment status
- updated_at: string
-
Timestamp of last update
- status_details: string
-
Payment error description (if there is any)
- type: string
-
Payment type
- net_amount: Money
-
Net price
- vat_amount: Money
-
VAT amount
- gross_amount: Money
-
Gross price
- vat_rate: integer
-
VAT rate in percent
Example
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
UserIntegration: object
- id: integer
-
The internal cockpit id of the used user integration
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to orders received via this intergrations
- image_type: string
-
Type of image transfered to external shop
- is_auto_pull_orders: boolean
-
Flag if automatically reimporting of orders is enabled.
- expires_in: string
-
Date of expire
- default_delivery_receipt_logo_reference: string
-
Default delivery receipt logo used for orders received via this intergrations (optional)
- default_product_packaging_reference: string
-
Default packaging used for all textil products of orders received via this intergrations (optional)
- app: string
-
Name of the integration application
- image_quality: string
-
Quality of image transfered to external shop
- default_order_packaging_reference: string
-
Default packging used for all orders received via this intergrations (optional)
- default_label_reference: string
-
Default label added to all textil products of orders received via this intergrations (optional)
- default_sticker_reference: string
-
Default sticker applied to packaging of orders received via this intergrations (optional)
- name: string
-
The name of the integration, i.e. the shop URL
- default_imprint_reference: string
-
Default imprinted added to all tagless textil products of orders received via this intergrations (optional)
- use_custom_product_name: boolean
-
Indicates if custom product name is used on delivery receipt
- default_second_packin_reference: string
-
Default second packin added to orders received via this intergrations (optional)
- sticker_logo: string
-
Url to custom sticker logo for orders received via this intergrations (optional)
- is_pull_orders: boolean
-
Flag if manually reimporting of orders is enabled.
- reference: uuid
-
Reference of the integration
- delivery_receipt_logo: string
-
Url to custom logo added to delivery slip for orders received via this intergrations (optional)
- default_first_packin_reference: string
-
Default first packin added to orders received via this intergrations (optional)
- default_hangtag_reference: string
-
Default hangtag added to all textil products of orders received via this intergrations (optional)
- delivery_receipt_note: string
-
Custom note on delivery receipt
Example
{
"id": 111,
"add_delivery_receipt": true,
"image_type": "png",
"is_auto_pull_orders": "true",
"expires_in": "2018-01-01 12:34:56",
"default_delivery_receipt_logo_reference": "ABC123",
"default_product_packaging_reference": "ABC123",
"app": "shopify",
"image_quality": "high",
"default_order_packaging_reference": "ABC123",
"default_label_reference": "ABC123",
"default_sticker_reference": "ABC123",
"name": "my-cool-shirtstore.myshopify.com",
"default_imprint_reference": "ABC123",
"use_custom_product_name": "true",
"default_second_packin_reference": "ABC123",
"sticker_logo": "https://example.com/custom_logo.png",
"is_pull_orders": "true",
"reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
"delivery_receipt_logo": "https://example.com/custom_logo.png",
"default_first_packin_reference": "ABC123",
"default_hangtag_reference": "ABC123",
"delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order"
}
ProductManufacturer: object
- id: integer
-
Numerical identifier
- name: string
-
Manufacturer name
Example
{
"id": 123,
"name": "Musterfirma"
}
Processing: object
Processing to apply
- position: string center
-
Processing position
- offset_center: integer
-
Horizontal offset from center in millimeters
- method: string center
-
Processing method
- area: string
-
Processing area
- design: string
-
Design reference
- offset_top: integer
-
Vertical offset from top in millimeters
- width: string 120
-
Design width in millimeters
Example
{
"position": "center",
"offset_center": 0,
"method": "print",
"area": "front",
"design": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"offset_top": 50,
"width": 200
}
Project: object
- name: string
-
Project name
- type: string
-
Type
- updated_at: string
-
Timestamp of last update
- reference: string
-
Unique identifier of this project
- is_syncing: array
-
Array with a list of all CampaignProductIntegrationSyncs of this campaign and its status, if it is currently syncing.
- status: string
-
Project status
- is_queueing: array
-
Array with a list of all CampaignProductIntegrationSyncs of this campaign and its status, if it is currently in queue.
- is_published: boolean
-
Has the project been published?
- processings: object
-
Processings associated with this project
- created_at: string
-
Timestamp of initial creation
- products_count: integer
-
Number of products
Example
{
"name": "My cool project",
"type": "ondemand",
"updated_at": "2017-01-01 12:34:56",
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"is_syncing": {
"12": true
},
"status": "Finalisiert",
"is_queueing": {
"12": true
},
"is_published": true,
"processings": {
"data": [
{
"position": "center",
"height": 300,
"offset_center": 0,
"method": "print",
"area": "front",
"updated_at": "2017-01-01 12:34:56",
"design": {
"name": "My cool design",
"colors": 5,
"filetype": "png",
"filename": "ABCDE",
"updated_at": "2017-01-01 12:34:56",
"width": 5000,
"complementary_color": "",
"created_at": "2017-01-01 12:34:56",
"height": 3000,
"reference": "9e7aba40-3bce-4639-9caa-9a9a0397cbff",
"original_file": "https://example.com/product.png",
"palette": [
"A20061",
"FFBC42",
"1C838A",
"021618",
"A3AAAB"
],
"preview": "https://example.com/product_prev.png",
"is_dark": true,
"is_processed": true
},
"offset_top": 50,
"width": 200
}
]
},
"created_at": "2017-01-01 12:34:56",
"products_count": 3
}
CampaignProductIntegrationSync: object
- in_queue: boolean
-
Is the current sync-process still in queue?
- updated_at: string
-
Timestamp of last update
- error: string
-
Error message
- integration_product_id: string
-
The identifier used by the integration application
- is_syncing: boolean
-
Is the product available?
- integration_id: integer
-
The cockpit internal id of the used user integration
- is_successful: boolean
-
Has the product been rendered?
- integration_name: string
-
Name of the integration application
Example
{
"in_queue": true,
"updated_at": "2017-01-01 12:34:56",
"error": "Invalid or missing auth.",
"integration_product_id": "9286211826",
"is_syncing": true,
"integration_id": 111,
"is_successful": true,
"integration_name": "shopify"
}
Payment: object
- id: string
-
Unique transaction identifier
- status: string
-
Payment type
- created_at: string
-
Timestamp of creation
- gross_amount: Money
-
Gross price
- vat_amount: Money
-
VAT amount
- net_amount: Money
-
Net price
- vat_rate: integer
-
VAT rate in percent
- payment_reference: string
-
Payment reference
- status_title: string
-
Payment description
- order: Order
-
Order
Example
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "invoice",
"created_at": "2017-01-01 12:34:56",
"vat_rate": 19,
"payment_reference": "Kreditkarte",
"status_title": "Erstattung",
"order": {
"status": "Bestellung offen",
"add_delivery_receipt": true,
"total_items": 5,
"orderStatusEntries": {
"data": [
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
]
},
"sender": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"packins": {
"data": [
{
"id": "integer",
"name": "Greeting card",
"net_total_price": 75,
"type": "hangtag",
"amount": 1
}
]
},
"status_key": "",
"vat_rate": 19,
"delivery_receipt_logo_reference": "A456HJ",
"payments": {
"data": [
{
"id": "d1364568-4b15-4706-89f1-2452efe1261d",
"status": "paid",
"updated_at": "2017-01-01 12:34:56",
"status_details": "An error occured.",
"type": "creditcard",
"vat_rate": 19
}
]
},
"bill": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"delivery": {
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
},
"use_custom_product_name": "true",
"products": {
"data": [
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black"
}
]
}
}
}
ProvisionalProduct: object
- name: string
-
Product name
- colors: ProductColor
-
List of available colors
- price: Money
-
Net price
- description: string
-
Short description
- base_product: Product
-
Base product
Example
{
"name": "Base product XY",
"colors": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
],
"description": "string",
"base_product": {
"id": 1,
"name": "Base product XY",
"sizechart_image": "string",
"short_description": "string",
"shipping_category": 1,
"category": "Unisex-Shirts",
"original_name": "T-Shirt",
"price": {
"data": [
{
"type": "generic"
}
]
},
"colors": {
"data": [
{
"id": 123,
"color": "Black",
"is_colored": true,
"sizes": [
{
"id": 67,
"is_onlocalstock": true,
"sort_position": 1,
"size": "XL",
"is_available": true
}
],
"color_hex": "#000000"
}
]
},
"processing_areas": {
"data": [
{
"width_in_mm": 100,
"template_height": 1000,
"height": 2000,
"position_id": 1,
"position_name": "front",
"template": "string",
"printable_area_margin_from_top": 0,
"height_in_mm": 100,
"width": 2000,
"template_width": 1000
}
]
},
"category_id": 5,
"sales_price": {
"data": [
{
"type": "generic"
}
]
},
"images": {
"data": [
{
"url": "https://www.example.com/image.jpg",
"sort_position": 1
}
]
},
"manufacturer": {
"id": 123,
"name": "Musterfirma"
},
"is_active": "boolean",
"description": "string"
}
}
OrderStatusEntry: object
- updated_at: string
-
Timestamp of last update
- status: string
-
Human readable status
- created_at: string
-
Timestamp of creation
- key: string
-
Order status key
- description: integer
-
Verbose status description
Example
{
"updated_at": "2017-01-01 12:34:56",
"status": "string",
"created_at": "2017-01-01 12:34:56",
"key": "string",
"description": "integer"
}
UserGroup: object
- id: integer
-
Numerical group identifier
- type: string
-
Group name
- created_at: string
-
Timestamp of creation
- quantity: integer
-
Required number of sold products
- cockpit_discount: integer
-
Discount in percent
- updated_at: string
-
Timestamp of last update
Example
{
"id": 1,
"type": "premium",
"created_at": "2017-01-01 12:34:56",
"quantity": 1000,
"cockpit_discount": 20,
"updated_at": "2017-01-01 12:34:56"
}
User: object
- sender_title: string
- sender_lastname: string
- sender_firstname: string
- display_name: string
-
Display name, e.g. first + last name
- city: string
-
City, used for billing
- postcode: string
-
ZIP code, used for billing
- phone: string
-
Phone nubmer
- default_delivery_receipt_logo_reference: string
-
Default delivery receipt logo used for orders placed via dashboard
- is_business: boolean
-
Is a business customer
- sender_company_name: string
- title: string
-
(Academical) title
- lastname: string
-
Last name
- sender_street: string
- default_second_packin_reference: string
-
Default second packin added to orders placed via dashboard (optional)
- sender_city: string
- is_billing_valid: boolean
-
Have billing options been filled out?
- is_auto_onhold: boolean
-
Indicates if order is automatically pushed to production (default = false)
- default_first_packin_reference: string
-
Default first packin added to orders placed via dashboard (optional)
- email: string
-
Email address
- country: string
-
Country, used for billing
- sender_state: string
- integrations: UserIntegration
-
List of integrations (connected applications) for this user
- use_custom_product_name: boolean
-
Indicates if custom product name is used on delivery receipt
- has_orders: boolean
-
Does user have orders?
- firstname: string
-
First name(s)
- sender_type: string full, company, legacy
- sticker_logo: string
-
Url to custom sticker logo for orders placed via dashboard (optional)
- delivery_receipt_note: string
-
Custom note on delivery receipt
- street: string
-
Street and number, used for billing
- sender_postcode: string
- company_name: string
-
Company name
- updated_at: string
-
Timestamp of last update
- delivery_receipt_logo: string
-
Url to custom logo added to delivery slip and shipping lable for orders placed via dashboard
- integration_count: number
-
Number of active integrations
- default_hangtag_reference: string
-
Default hangtag added to all textil products of orders placed via dashboard (optional)
- sender_country: string
- user_group: UserGroup
- add_delivery_receipt: boolean
-
Indicates if delivery receipt is added to orders received via this intergrations
Example
{
"sender_title": "string",
"sender_lastname": "string",
"sender_firstname": "string",
"display_name": "Max Mustermann",
"city": "Köln",
"postcode": "12345",
"phone": "004930123456",
"default_delivery_receipt_logo_reference": "ABC123",
"is_business": "true",
"sender_company_name": "string",
"title": "Dr.",
"lastname": "Mustermann",
"sender_street": "string",
"default_second_packin_reference": "ABC123",
"sender_city": "string",
"is_billing_valid": true,
"is_auto_onhold": true,
"default_first_packin_reference": "ABC123",
"email": "mustermann@example.com",
"country": "Deutschland",
"sender_state": "string",
"integrations": [
{
"id": 111,
"add_delivery_receipt": true,
"image_type": "png",
"is_auto_pull_orders": "true",
"expires_in": "2018-01-01 12:34:56",
"default_delivery_receipt_logo_reference": "ABC123",
"default_product_packaging_reference": "ABC123",
"app": "shopify",
"image_quality": "high",
"default_order_packaging_reference": "ABC123",
"default_label_reference": "ABC123",
"default_sticker_reference": "ABC123",
"name": "my-cool-shirtstore.myshopify.com",
"default_imprint_reference": "ABC123",
"use_custom_product_name": "true",
"default_second_packin_reference": "ABC123",
"sticker_logo": "https://example.com/custom_logo.png",
"is_pull_orders": "true",
"reference": "154e3f69-c081-4e20-8706-d1c7477e15c8",
"delivery_receipt_logo": "https://example.com/custom_logo.png",
"default_first_packin_reference": "ABC123",
"default_hangtag_reference": "ABC123",
"delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order"
}
],
"use_custom_product_name": "true",
"has_orders": true,
"firstname": "Max",
"sender_type": "string",
"sticker_logo": "https://example.com/custom_logo.png",
"delivery_receipt_note": "Use voucher XYZ and get a 10% discount for your next order",
"street": "Musterstraße 12",
"sender_postcode": "string",
"company_name": "Shirtigo GmbH",
"updated_at": "2017-01-01 12:34:56",
"delivery_receipt_logo": "https://example.com/custom_logo.png",
"integration_count": 2,
"default_hangtag_reference": "ABC123",
"sender_country": "string",
"user_group": {
"id": 1,
"type": "premium",
"created_at": "2017-01-01 12:34:56",
"quantity": 1000,
"cockpit_discount": 20,
"updated_at": "2017-01-01 12:34:56"
},
"add_delivery_receipt": true
}
UserPackin: object
- name: string
-
Packin name
- preview_path: string
-
Path to packin preview
- color_ids: string
-
Array of product color ids for which imprint or label will be applied
- initial_inventory: integer
-
Initial stock level of packin
- inventory: integer
-
Actual stock level of packin
- height_mm: integer
-
Height of the packin in millimeter
- size_id: integer
-
Product size ID for which imprint will be applied
- type: string
-
Packin type (packin or hangtag)
- position: string
-
Position of Label
- width_mm: integer
-
Width of the packin in millimeter
- reference: ABC123
-
Packin reference
- weight_gram: integer
-
Weight of one single packin in gram
- stocking_costs: Money
-
Daily costs for stocking packin
- is_active: boolean
-
Packins receives status is_active, when article is checked and warehoused
Example
{
"name": "Greetings card",
"preview_path": "https://s3.amazon.com/preview.png",
"color_ids": "['147','157']",
"initial_inventory": "1000",
"inventory": "1000",
"height_mm": "100",
"size_id": "3",
"type": "packin",
"position": "seam-left",
"width_mm": "100",
"reference": "ABC123",
"weight_gram": "10",
"stocking_costs": 50,
"is_active": "true"
}
UtilProductImage: object
- color: string
-
Color name
- urls: object
-
Product name
- area: string
-
Processing area name
Example
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
OrderShipping: object
- type: string
-
Shipping type
- cost: Money
-
Shipping price
- created_at: string
-
Timestamp of creation
- country_code: string
-
Two letter country code
- tracking_url: string
-
Carrier tracking URL
- tracking_code: string
-
Carrier tracking code
- updated_at: string
-
Timestamp of last update
- is_shipped: boolean
-
Has the order been shipped yet?
Example
{
"type": "delivery",
"created_at": "2017-01-01 12:34:56",
"country_code": "DE",
"tracking_url": "string",
"tracking_code": "string",
"updated_at": "2017-01-01 12:34:56",
"is_shipped": false
}
OrderComment: object
- id: integer
-
ID of the order comment
- created_at: string
-
Timestamp of creation
- comment: string
-
Text of the order comment
Example
{
"id": "integer",
"created_at": "2017-01-01 12:34:56",
"comment": "Great communication with customer"
}
ProductPrice: object
- type: string
-
Variant
- price: Money
-
Price
Example
{
"type": "generic"
}
OrderProduct: object
- id: integer
-
Product id
- name: string
-
Product name
- net_total_price: Money
-
Total price (net_unit_price*amount)
- size: string
-
Size name
- images: UtilProductImage
-
Available image URLs
- color: string
-
Color name
- amount: integer
-
Number of items
- net_unit_price: Money
-
Net unit price
- campaign_reference: string
-
Reference of the campaign
- campaign_product_id: int
-
ID of the campaign product
- campaign_name: string
-
Name of the campaign
Example
{
"id": "integer",
"name": "Base product XY",
"net_total_price": 1375,
"size": "XL",
"images": [
{
"color": "Red",
"urls": {
"large": "http://www.example.com/my-orders/large.png",
"small": "http://www.example.com/my-orders/small.png"
},
"area": "front"
}
],
"color": "Black",
"amount": 1,
"campaign_reference": "F7S33M2",
"campaign_product_id": "123",
"campaign_name": "Example Project"
}
OrderAddress: object
Address
- company: string
-
Company name
- country: string
-
A country iso-code (ISO 3166-1 alpha2) as listed in the /delivery-countries endpoint
- firstname: string
-
First name
- lastname: string
-
Last name
- city: string
-
City
- postcode: string
-
ZIP/area code
- street: string
-
Street and number
- title: string
-
(Academic) title
Example
{
"company": "Shirtigo GmbH",
"country": "DE",
"firstname": "Max",
"lastname": "Mustermann",
"city": "Köln",
"postcode": "12345",
"street": "Musterstraße 12",
"title": "Dr."
}