Authentication
HTTPS / User Key Authentication
The SunFrog Solutions API uses User and API keys for authentication. Your username and key are provided when you create your API account.
All calls must be performed using https protocol. Regular, non-secure http requests will be rejected. API calls that do not use proper authentication keys will be rejected. Your user and key parameters should be passed in each request through the url as query string parameters, for example:Example Request URL
https://api.sunfrogsolutions.com/auth/?user=myusername&key=myapikey
As a general rule, requests that are made using GET will be read only. Requests made using POST are intended to update or submit data.
Post request JSON should be submitted via the http request body. Example JSON formatting is provided in the end point sections.
Staging Environment
Test calls can be made on our test environment, using the following URL:
https://devapi.sunfrogsolutions.com/auth/?user=myusername&key=myapikey
Live Environment
Live calls should be made on our live API server:
https://api.sunfrogsolutions.com/auth/?user=myusername&key=myapikey
Testing Authentication
You can test your authentication by sending a request to the AUTH endpoint. The AUTH endpoint will return true or a specific authentication error, if it fails. AUTH accepts POST and GET methods. AUTH endpoint syntax is noted above. No additional parameters are required.
End Points
Catalog
The catalog endpoint provides information on the available products and product variations (colors / sizes of a product), which are available through the SunFrog Solutions API.
/Catalog
Provides top-level product information.
Using the unfiltered version of this call will return
top level products available through the API. To obtain variant detail and costs, use the filtered
version of this call by sending the ProductStyleId as a URL parameter.
https://api.sunfrogsolutions.com/catalog/?user=myusername&key=myapikey
{
"products": [
{
"core": 1,
"productStyleId": 1306,
"coreQty": 2,
"lowCost": 3.9293,
"colorOptions": "OL102",
"typeName": "Ollie Cap - AD527",
"highCost": 5.5556,
"productOptions": [
{
"sizeName": "OS",
"productionCost": 4.00,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": null,
"sizeId": 23,
"stockQty": 0,
"sortOrder": 1,
"cost": 3.92,
"inventoryid": 25799,
"colorname": "Black",
"colorid": 20,
"altName": "One Size",
"hexcode": "#000000"
}
]
}
]
}
/Catalog?productStyleId
Provides option, size and cost information for a specified product. Using the filtered version of this call, you can obtain product colors, sizes and costs for each variant in the product group. The sizeid, colorid, and productStyleId are all parameters that are used when creating your products as well as when placing orders.
https://api.sunfrogsolutions.com/catalog/?user=myusername&key=myapikey&productStyleId=number
Parameter | Type |
---|---|
productStyleId | Numeric |
{
"products": [
{
"core": 1,
"coreQty": 28,
"lowCost": 2.35,
"colorOptions": 5000,
"typeName": "Heavy Cotton T-Shirt",
"highCost": 5.23,
"productOptions": [
{
"sizeName": "S",
"sortOrder": 2,
"cost": 2.35,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 2,
"altName": "S",
"hexcode": "#971b2f",
"gtin": 1234567989,
},
{
"sizeName": "M",
"sortOrder": 3,
"cost": 2.35,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 3,
"altName": "M",
"gtin": 1234567988,
"hexcode": "#971b2f"
},
{
"sizeName": "L",
"sortOrder": 4,
"cost": 2.35,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 4,
"altName": "L",
"gtin": 1234567987,
"hexcode": "#971b2f"
},
{
"sizeName": "XL",
"sortOrder": 5,
"cost": 2.35,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 5,
"altName": "XL",
"gtin": 1234567986,
"hexcode": "#971b2f"
},
{
"sizeName": "2XL",
"sortOrder": 6,
"cost": 4.15,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 6,
"altName": "XXL",
"gtin": 1234567985,
"hexcode": "#971b2f"
},
{
"sizeName": "3XL",
"sortOrder": 7,
"cost": 5.23,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 7,
"altName": "XXXL",
"gtin": 1234567984,
"hexcode": "#971b2f"
},
{
"sizeName": "4XL",
"sortOrder": 8,
"cost": 5.23,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 8,
"altName": "XXXXL",
"gtin": 1234567989,
"hexcode": "#971b2f"
},
{
"sizeName": "5XL",
"sortOrder": 9,
"cost": 5.23,
"colorname": "Antique Cherry Red",
"colorid": 3,
"sizeId": 9,
"altName": "XXXXXL",
"gtin": 1234567989,
"hexcode": "#971b2f"
}
],
"productStyleId": 8,
"artOwnerId": 0,
"manufacturer": "Gildan",
"styleDescription": "This heavy cotton t-shirt is made of durable, 5.3 oz, pre-shrunk, 100% cotton material and is perfect for a graphic print. This best-selling, classic fit is ideal for men and women who prefer a little more room in their shirt.
\r\nDue to product availability, cotton type may vary for 2XL, and 3XL sizes.
\r\nDark Heather is 50/50 cotton/polyester
\r\nSport Grey is 90/10 cotton/polyester
\r\nDouble-needle stitched neckline, bottom hem and sleeves
\r\nQuarter-turned
\r\nSeven-eighths inch seamless collar
\r\nShoulder-to-shoulder taping
"
}
]
}
Product
The products end point allows you to configure or retrive information on API user-created art and products. The product end point will return art and products that you have created through the manager or API.
/Product
Gets all configured products, or a specific product, if a publicArtId is passed as a parameter.
https://api.sunfrogsolutions.com/product/?user=myusername&key=myapikey
Parameter | Type |
---|---|
PublicArtId | Numeric (optional) |
{
"productlist": [
{
"productType": "pod",
"MockupID": 1414579704,
"mockupImage": "https://d2yrwu03yq0f9f.cloudfront.net/mp/126967/126967-1-200326010337220.jpg",
"description": "This is a great product!",
"title": "A Great Product",
"publicArtId": 157277998
},
{
"productType": "pod",
"MockupID": 1414579398,
"mockupImage": "https://d2yrwu03yq0f9f.cloudfront.net/mp/126967/126967-1-200326010300774.jpg"cre,
"description": "Nothing short of amazing.",
"title": "Amazing T-Shirt",
"publicArtId": 157277987
},
{
"productType": "pod",
"MockupID": 1414579397,
"mockupImage": "https://d2yrwu03yq0f9f.cloudfront.net/mp/126967/126967-1-200326120306368.jpg",
"description": "Best selling Tee!",
"title": "Green T-Shirt",
"publicArtId": 157277986
}
]
}
/Product
Creates a new product. Products created through this end point can be reused for different orders. Reusing your artwork will make your calls to the orders endpoint faster, as you do not need to recreate and upload your artwork with each individual order. We recommend using this method as it can expedite your orders through the production process.
Print locations and types are indicated by the productionApplicationLocationId and productApplicationTypeId. Values for these parameters are detailed in the "Creating Products" section.
https://api.sunfrogsolutions.com/product/?user=myusername&key=myapikey
Parameter | Type | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Art | Array / Struct | ||||||||||
|
|||||||||||
DefaultColor | Numeric or String | ||||||||||
DesignSKU | String (optional, user defined) | ||||||||||
productStyleId | Numeric | ||||||||||
GTIN | Numeric (optional, replaces productStyleId, DesignSku, DefaultColor) | ||||||||||
ProductDescription | String (optional) | ||||||||||
ProductTitle | String | ||||||||||
Product Type | String (POD / PS) | ||||||||||
RetailPrice | Numeric | ||||||||||
mfgSku | String (optional - in place of productStyleId, eg: 5000, 3001CVC) |
{
"productDescription": "A Product description",
"productType": "POD",
"defaultColor": "Black",
"productTitle": "A Basic Black T-Shirt",
"art": [
{
"colorCount": 999,
"mockupFile": "https://d2yrwu03yq0f9f.cloudfront.net/mp/126967/m_126967-front-200131020141651.jpg",
"productionApplicationTypeId": 1,
"productionApplicationLocationId": 1,
"artfile": "https://d2yrwu03yq0f9f.cloudfront.net/mp/126967/m_126967-front-200131020141651.jpg"
}
],
"retailPrice": 19,
"productStyleId": 8,
"designSku": "MySku1234"
}
{
"products": [
{
"core": 1,
"productStyleId": 8,
"coreQty": 109,
"lowCost": 2.1515,
"colorOptions": "5000",
"typeName": "Heavy Cotton T-Shirt",
"highCost": 5.4545,
"productOptions": [
{
"sizeName": "S",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 2,
"stockQty": 0,
"sortOrder": 2,
"cost": 2.151515343,
"inventoryid": 53997,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "S",
"hexcode": "#971b2f"
},
{
"sizeName": "M",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 3,
"stockQty": 0,
"sortOrder": 3,
"cost": 2.151515343,
"inventoryid": 53998,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "M",
"hexcode": "#971b2f"
},
{
"sizeName": "L",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 4,
"stockQty": 0,
"sortOrder": 4,
"cost": 2.151515343,
"inventoryid": 53999,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "L",
"hexcode": "#971b2f"
},
{
"sizeName": "XL",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 5,
"stockQty": 0,
"sortOrder": 5,
"cost": 2.151515343,
"inventoryid": 54000,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "XL",
"hexcode": "#971b2f"
},
{
"sizeName": "2XL",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 6,
"stockQty": 0,
"sortOrder": 6,
"cost": 4.303030686,
"inventoryid": 5,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "XXL",
"hexcode": "#971b2f"
},
{
"sizeName": "3XL",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 7,
"stockQty": 0,
"sortOrder": 7,
"cost": 5.45454594,
"inventoryid": 54001,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "XXXL",
"hexcode": "#971b2f"
},
{
"sizeName": "4XL",
"productionCost": 4,
"inventoryAlert": null,
"inStock": 0,
"restock_estimate": null,
"productionApplicationTypeId": 1,
"sizeId": 8,
"stockQty": 0,
"sortOrder": 8,
"cost": 5.45454594,
"inventoryid": 7,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "XXXXL",
"hexcode": "#971b2f"
},
{
"sizeName": "5XL",
"productionCost": 4,
"inventoryAlert": "Gildan 5000 Antique Cherry Red 5x out of stock until 04/13",
"inStock": 0,
"restock_estimate": "April, 13 2021 00:00:00",
"productionApplicationTypeId": 1,
"sizeId": 9,
"stockQty": 0,
"sortOrder": 9,
"cost": 5.45454594,
"inventoryid": 54002,
"colorname": "Antique Cherry Red",
"colorid": 3,
"altName": "XXXXXL",
"hexcode": "#971b2f"
}
]
}
]
}
/Product
Updates an existing product.
https://api.sunfrogsolutions.com/product/?user=myusername&key=myapikey
Parameter | Type |
---|---|
PublicArtId | Numeric |
ProductTitle | String (optional) |
Description | String (optional) |
{
"productTitle": "A New Title",
"description": "This is a new description",
"publicArtId": 123456789
}
{
"message":"Product Updated"
}
Orders
The orders end point allows you to submit orders, and retrieve existing order status.
/orders
Submits a new order, or an array of orders. Product identifiers can be provided in the following ways:
- Using an existing productid, size, color
- Using a barcode format
- By creating a new product at the time of order
Shipping methods can be indicated if you are using your own UPS, FedEx or USPS account. Alternate methods are only available if you are providing your own shipping. For a list of valid shipping codes, please contact our developers.
Optional parameters for using custom shipping methods are:
- ShipCarrier - UPS, FedEx, USPS, or DHL
- ShipMethod - String representing a valid shipping method associated with the designated carrier.
The following shipping methods are available to merchants who have configured custom shipping methods.
UPS Shipping Methods |
---|
Next Day Air |
2nd Day Air |
Ground |
Express |
Expedited |
Standard |
3 Day Select |
Next Day Air Saver |
UPS Next Day Air Early |
Express Plus |
2nd Day Air A.M. |
UPS Saver |
First Class Mail |
Priority Mail |
Expedited Mail Innovations |
Priority Mail Innovationsl |
Economy Mail Innovations |
UPS Access Point Economy |
UPS Today Standard |
UPS Today Dedicated Courier |
UPS Today Intercity |
UPS Today Express |
UPS Today Express Saver |
UPS Worldwide Express Freight |
FedEx Shipping Methods |
---|
FEDEX_GROUND |
FEDEX_2_DAY |
FEDEX_2_DAY_AM |
FEDEX_EXPRESS_SAVER |
STANDARD_OVERNIGHT |
FIRST_OVERNIGHT |
PRIORITY_OVERNIGHT |
INTERNATIONAL_ECONOMY |
INTERNATIONAL_FIRST |
INTERNATIONAL_PRIORITY |
GROND_HOME_DELIVERY |
SMART_POST |
USPS Shipping Methods |
---|
First Class |
Priority Mail |
Express Mail |
DHL Shipping Methods |
---|
PIY |
PKY |
PLT |
PLY |
GND |
EXP |
MAX |
https://api.sunfrogsolutions.com/orders/?user=myusername&key=myapikey
Parameter | Type | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
OrderId | String (optional) Reference to an external orderid. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QuoteOrder | True / False (optional) Returns order pricing without committing order. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | String | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Address1 | String | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Address2 | String (optional) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
City | String | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
State | String | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Country | String | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
String | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Phone | String (optional) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShipCarrier | String (optional - if setup with passthru shipping, eg: UPS / USPS / FEDEX) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShipMethod | String (optional - if setup with passthru shipping, eg: Economy Mail Innovations, 2nd Day Air) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Items | Array / Struct | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
{
"orders": [
{
"orderid": 12345
"postalcode": 10001,
"city": "New York",
"country": "US",
"phone": 1234567897,
"state": "NY",
"address1": "101 Main St.",
"email": "help@sunfrog.com",
"name": "Bob Customer",
"address2": "",
"items": [
{
"qty": 1,
"productStyleId": 8,
"colorId": 20,
"publicArtId": 157247895,
"sizeId": 3
}
]
}
]
}
{
"errors": [],
"orders": [
{
"customerOrderId": 123,
"shippingType": "",
"phone": 0000000000,
"state": "MI",
"items": [
{
"proofImageDir": "mp/126967/",
"mockupId": 1413825135,
"billingItemAddOns": [
{
"addonTitle": "DTG - [GT3]",
"productionApplicationTypeId": 1,
"productionApplicationLocationId": 1,
"addonCost": 7
}
],
"upc": "",
"sizeId": 4,
"costGarment": 2.35,
"costTotal": 9.35,
"productStyleId": 8,
"shippingTotal": 3.27,
"status": "Waiting",
"proofImage": "126967-front-200317050305118.jpg",
"altSizeName": "L",
"qty": 1,
"custom": "",
"colorId": 20,
"costProductionTotal": 7,
"publicArtId": 157247895,
"weight": 7.3,
"serviceType": "POD"
}
],
"email": "",
"iso3": "",
"iso2": "US",
"costTotal": 9.35,
"orderid": 123,
"shipWhere": "USPS 2-5 Days",
"country": "US",
"mailPiece": "Thick Envelopes",
"totalItems": 1,
"address1": "101 Main St.",
"weight": 14.6,
"shipTotal": 3.27,
"address2": "",
"postalcode": 10001,
"priorityProcessing": 0,
"serviceCode": "",
"costAddOns": 0,
"mailClass": "First Class",
"name": "Joe Customer",
"batchId": 2,
"city": "New York",
"publicOrderId": 20
}
],
"mode": "test",
"hasErrors": false
}
{
"orders": [
{
"address1": "1234 Main St.",
"email": "some@email.com",
"name": "Joe Customer",
"address2": ""
"postalcode": 10001,
"orderid": 456,
"city": "New York",
"country": "US",
"phone": 1234567890,
"state": "NY",
"items": [
{
"productStyleId": 204,
"sizeName": "L",
"product": {
"productDescription": "Amazing Sweatshirt!",
"productTitle": "Sweatshirt",
"art": [
{
"mockupFile": "https://s3.amazonaws.com/artfiles.sunfrog.com/1538/126967/126967-front-191230101247244.png",
"productionApplicationTypeId": 1,
"productionApplicationLocationId": 1,
"artfile": "https://s3.amazonaws.com/artfiles.sunfrog.com/1538/126967/126967-front-191230101247244.png"
}
],
"retailPrice": 29.99,
"designSku": ""
},
"qty": 1,
"colorId": 20
}
]
}
]
}
{
"errors": [],
"orders": [
{
"customerOrderId": 123,
"shippingType": "",
"phone": 0000000000,
"state": "MI",
"items": [
{
"sizeName": "L",
"proofImageDir": "",
"mockupId": 8742,
"billingItemAddOns": "",
"upc": "",
"sizeId": 4,
"costGarment": 10.08,
"costTotal": 10.08,
"productStyleId": 204,
"shippingTotal": 6.19,
"status": "Waiting",
"proofImage": "126967-front-191230101247244.png",
"altSizeName": "L",
"product": {
"productDescription": "Amazing Sweatshirt!",
"productType": "POD",
"defaultColor": 20,
"productStyleId": 204,
"productTitle": "Sweatshirt that amazes",
"art": [
{
"colorCount": 999,
"mockupFile": "https://s3.amazonaws.com/artfiles.sunfrog.com/1538/126967/126967-front-191230101247244.png",
"productionApplicationTypeId": 1,
"productionApplicationLocationId": 1,
"artfile": "https://s3.amazonaws.com/artfiles.sunfrog.com/1538/126967/126967-front-191230101247244.png"
}
],
"merchantid": 10243,
"retailPrice": 29.99,
"artownerid": 126967,
"designSku": ""
},
"qty": 1,
"custom": "",
"colorId": 20,
"costProductionTotal": 0,
"publicArtId": 43,
"weight": 22,
"serviceType": "POD"
}
],
"email": "",
"iso3": "",
"iso2": "US",
"costTotal": 10.08,
"orderid": 123,
"shipWhere": "USPS 2-3 Days",
"country": "US",
"mailPiece": "Thick Envelopes",
"totalItems": 1,
"address1": "101 Main St.",
"weight": 44,
"shipTotal": 6.19,
"address2": "",
"postalcode": 10001,
"priorityProcessing": 0,
"serviceCode": "",
"costAddOns": 0,
"mailClass": "Priority",
"name": "Joe Customer",
"batchId": 2,
"city": "New York",
"publicOrderId": 19
}
],
"mode": "test",
"hasErrors": false
}
Orders that fail validation are returned in an array, with either a reference to the submitted orderid, or number of the order as incremented in the submitted json structure.
{
"errors": [
{
"orderid": 123,
"errors": [
{
"message": "Invalid Art Id"
}
]
}
],
"orders": [],
"mode": "test",
"hasErrors": true
}
/orders?publicOrderId=numeric
Gets the status of an order by PublicOrderId.
This endpoint can also be configured as a webhook callback to signal when an order has shipped. To enable this feature, contact our development / sales team.
https://api.sunfrogsolutions.com/orders/?user=myusername&key=myapikey&publicOrderId=numeric
{
"orders": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"orderComplete": 1,
"orderId": 2005413265457,
"publicOrderId": 30,
"orderItems": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"publicOrderItemId": 30,
"itemStatus": "Complete",
"shipMethod": "Priority",
"trackingNumber": 123456
}
]
}
],
"mode": "test",
"hasErrors": false
}
/orders?OrderId=numeric
Gets the status of an order by OrderId. This will search an order based on a client supplied OrderId.
https://api.sunfrogsolutions.com/orders/?user=myusername&key=myapikey&OrderId=numeric
{
"orders": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"orderComplete": 1,
"orderId": 2005413265457,
"publicOrderId": 30,
"orderItems": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"publicOrderItemId": 30,
"itemStatus": "Complete",
"shipMethod": "Priority",
"trackingNumber": 123456
}
]
}
],
"mode": "test",
"hasErrors": false
}
/orders?OrderItemId=numeric
Gets the status of an order by OrderItemId. This will search an order based on a client supplied OrderItemId.
https://api.sunfrogsolutions.com/orders/?user=myusername&key=myapikey&OrderItemId=numeric
{
"orders": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"orderComplete": 1,
"orderId": 2005413265457,
"publicOrderId": 30,
"orderItems": [
{
"receivedDate": "2020-04-02T13:56:31.150",
"publicOrderItemId": 30,
"itemStatus": "Complete",
"shipMethod": "Priority",
"trackingNumber": 123456
}
]
}
],
"mode": "test",
"hasErrors": false
}
Workflow
Creating Products
Products can be preconfigured using the product endpoint. Using a preconfigured product is generally recommended, as it can speed up the process for sending orders through the API, and also makes your artwork reusable on subsequent orders. It can also make the production process more efficient, as your artwork may have already been prepared for print by our team.
Product Types
Product type is indicated by the productStyleId when adding new pre-configured products, or when placing orders.
You can obtain the id for the style of product either through the catalog end point, or in the Build and Price section of the SunFrog Solutions Manager.
Alternate Mappings
Product type, color and size strings can be provided in alternate formats if configured through the CSV mappings section of the SunFrog Solutions manager. Alternate mappings take precedence over standard product mappings.
The mapping option is disabled by default. Contact your sales representitive to enable this option.
ProductStyleId in JSON
ProductStyleId in Manager
Positioning Artwork
Artwork is positioned by assigning it a location id, which corresponds to the print location on a garment or product.
Application print locations and associated id's are found on the right.
Clothing Locations
productionApplicationLocationId | Type |
1 | Front |
2 | Back |
5 | Front Left Pocket |
Drinkware Positioning
Application print locations and associated id's are found on the right.
Drinkware Locations
productionApplicationLocationId | Type |
1 | Front |
2 | Back |
Footware Positioning
Application print locations and associated id's are found on the right.
Footware Locations
productionApplicationLocationId | Type |
24 | Top Left |
23 | Top Right |
26 | Side Left |
27 | Side Right |
28 | Foot Left |
29 | Foot Right |
Headwear Positioning
Application print locations and associated id's are found on the right.
Drinkware Locations
productionApplicationLocationId | Type |
1 | Front |
Stickers & Wall Art Positioning
Application print locations and associated id's are found on the right.
Drinkware Locations
productionApplicationLocationId | Type |
1 | Front |
Print Types
The method of print is indicated by the application type id. This must be provided when creating new products.
Types may vary depending on the product blank that the artwork is printed on.
Print types and associated id's are found on the right.
Print Types
ProductionApplicationTypeId | Type |
---|---|
1 | GT3 |
2 | Embroidery |
3 | Decal/Sticker |
10 | Sublimation [Drinkware] |
13 | Hang Tag |
14 | Laser [Drinkware] |
16 | Heat Transfer |
17 | Size Tag |
21 | Hem Tagging |
22 | Ultra Violet |
26 | Hem Tag [Headwear] |
27 | GTX |
31 | DTG [Socks] |
33 | DTF [Suede] |
34 | Sublimation [Flag] |
35 | Leather |
36 | Screen [Pocket] |
37 | Embroidery 3D |
38 | Ultra Violet [Sign] |
40 | License Tagging |
43 | Ultra Violet [Rampant] |
45 | Ultra Violet [iSlide Tonal] |
46 | DTF |
49 | Ultra Violet [iSlide] |
50 | Sublimation [Socks] |
54 | Blank Garment |
55 | DTF [Sleeve] |
56 | PVC Heat Transfer |
57 | Q3 Fee |
58 | Q4 Fee |
59 | Sublimation [General] |
Product artwork (artfile) and mockup image (mockupFile), an example rendering of the final product, are provided via URL when submitting to the API.
After a new product is created, the response JSON will include the PublicArtId parameter. This can be used when submitting orders or updating your product.
Submitting Orders
Orders are submitted via the order endpoint. The orders endpoint can accept an array of orders, so you may submit multiple orders per call. The optional OrderId parameter can be used as a reference to the original order in your own system.
Order Items
Items in your order are also sent as an array, allowing you to send multiple items per order. The type of products submitted with your order are indicated by the productStyleId parameter.
Artwork associated with each item can be indicated by providing the publicArtId parameter, or by submitting new artwork in the order parameters itself. Both methods are documented in the product endpoint section
When an order has been submitted successfully, the parameter publicOrderId is returned with the order. This is a reference to the orderId within the SunFrog Solutions system. The publicOrderId can be referenced when checking order status.
Order Errors
If an error is encountered during the order submission process, a JSON structure will be returned indicating the errors which were found within each order. If the order batch was submitted with multiple orders, successful orders will be submitted to production, and orders with errors will be returned with the errors indicated. A reference to each order error will be indicated by either the line number, or the optional OrderId parameter, if provided.
Optional Order Validation
Optional order configurations can be applied at your account level by one of our administrators. These additional parameters will allow for the following:
- Optional OrderId Duplication Prevention - When enabled, if an orderId is sent in via the JSON request, and a matching orderId exists
under your account, the order will be rejected in the return errors JSON structure.
- Optional ItemId Duplication Prevention - When enabled, if an orderId is sent in via the JSON request, and a matching orderItemId
exists under your account, the orderitem will appear in the warnings JSON. The remainder of the order will be submitted. This allows
for programattic submission of split orders, ensuring that previously submitted orderItems are not submitted when a partial order is resubmitted.
If no valid items exist when a duplicate match occurs, the entire order will be rejected and returned in the errors JSON response.
Checking Order Status
Order status will be available once an order has been submitted via the API for production. Individual order status can be obtained by using GET and providing the publicOrderId. If an order has shipped, the tracking number and ship date will be returned with the response JSON.
Order Statuses
Deleted |
Hold |
Printed |
Refund |
Shipped |
Waiting |
Item Statuses
Hold |
On Order |
Out of Stock |
Printed |
In-Progress |
Refunded |
Shipped |
Waiting |
Cubed |
Caught |
Produced |
Packaging |
Deleted |
Expedite |