Skip to main content

Product Deployment Guide

This comprehensive guide walks you through deploying products to Etsy, TikTok Shop, and Amazon using the Dodgeprint API.

Quick Overview

The deployment process involves gathering required IDs from various endpoints, then submitting a deployment request. The deployment happens asynchronously and typically completes in 5-15 seconds.

Supported Platforms

Currently supported: Etsy, TikTok Shop, Amazon Coming soon: Shopify, Dodgeprint Marketplace


Deployment Workflow

Follow this phase to phase workflow to successfully deploy your products:

Deployment Workflow


Platform Requirements

Each platform requires different fields in your deployment request:

Etsy Etsy Requirements

FieldRequiredDescription
shipping_profile_id✅ YesEtsy shipping profile ID
return_policy_id✅ YesEtsy return policy ID
when_made✅ YesWhen item was made: made_to_order, 2020_2025, 2010_2019, before_2010
who_made✅ YesWho made it: i_did, collective, someone_else
is_supply✅ YesIs this a craft supply? (boolean)
tagsNoProduct tags (max 13, each ≤20 chars)
shop_section_idNoShop section ID
personalization_idNoPersonalization template ID

Complete Etsy Payload Example

{
"type": "insert",
"site_id": 6529,
"content_id": 2414,
"selected": [1635986],
"variants": {
"id": 4028,
"headers": [
{"key": "variant0", "name": "Size"},
{"key": "variant1", "name": "Color"}
],
"childs": [
{
"id": 505660,
"variant0": "24x36 inch",
"variant1": "Black",
"price": 45.99,
"quantity": 100
},
{
"id": 505661,
"variant0": "18x24 inch",
"variant1": "White",
"price": 35.99,
"quantity": 150
}
],
"category": {
"id": 2197,
"taxonomy_id": "1027"
}
},
"shipping_profile_id": 6811,
"return_policy_id": 5,
"tags": ["Canvas Print", "Wall Art", "Custom"],
"when_made": "made_to_order",
"who_made": "i_did",
"is_supply": false,
"shop_section_id": 28745001,
"personalization_id": 1,
"listing_type": "physical"
}

Key Points:

  • shipping_profile_id & return_policy_id: Required for physical products (get from respective APIs)
  • tags: Max 13 tags, each must be ≤20 characters
  • when_made, who_made, is_supply: Required by Etsy for all listings

TikTok TikTok Shop Requirements

FieldRequiredDescription
content_id✅ YesContent template ID (REQUIRED for TikTok)
warehouses✅ YesWarehouse identifier (e.g., WAREHOUSE_US)
variants✅ YesProduct variants with prices & quantities

Complete TikTok Shop Payload Example

{
"type": "insert",
"site_id": 7832,
"content_id": 2414,
"selected": [1635986],
"warehouses": "WAREHOUSE_US",
"variants": {
"id": 4028,
"headers": [
{"key": "variant0", "name": "Size"},
{"key": "variant1", "name": "Color"}
],
"childs": [
{
"id": 505660,
"variant0": "24x36 inch",
"variant1": "Black",
"price": 45.99,
"quantity": 100
},
{
"id": 505661,
"variant0": "18x24 inch",
"variant1": "White",
"price": 35.99,
"quantity": 150
}
],
"category": {
"id": 2197,
"taxonomy_id": "1027"
}
},
"listing_type": "physical"
}

Key Points:

  • content_id: REQUIRED for TikTok (unlike other platforms where it's optional)
  • warehouses: REQUIRED - Must match your TikTok Shop warehouse settings
  • All variants must have valid price and quantity values
  • TikTok has strict content guidelines - ensure descriptions comply

Amazon Amazon Requirements

FieldRequiredDescription
product_definitions✅ YesProduct definition type (e.g., SHIRT, SHOES)
bullet_point✅ YesBullet point template identifier
product_type✅ YesAmazon product type
brandsNoBrand information with origin_id
generic_keywordNoKeywords for Amazon search optimization

Complete Amazon Payload Example

{
"type": "insert",
"site_id": 8945,
"content_id": 2414,
"selected": [1635986],
"variants": {
"id": 4028,
"headers": [
{"key": "variant0", "name": "Size"},
{"key": "variant1", "name": "Color"}
],
"childs": [
{
"id": 505660,
"variant0": "Small",
"variant1": "Black",
"price": 45.99,
"quantity": 100
},
{
"id": 505661,
"variant0": "Medium",
"variant1": "White",
"price": 45.99,
"quantity": 150
}
],
"category": {
"id": 2197,
"taxonomy_id": "1027"
}
},
"product_definitions": "SHIRT",
"bullet_point": "bullet_template_1",
"product_type": "SHIRT",
"generic_keyword": "cotton t-shirt casual wear comfortable",
"brands": [
{
"origin_id": "BRAND123"
}
],
"product_attributes": [],
"shipping_package_template_id": 1,
"listing_type": "physical"
}

Key Points:

  • product_definitions & product_type: REQUIRED - Must match Amazon's product taxonomy
  • bullet_point: REQUIRED - Used for the key features section on Amazon listings
  • generic_keyword: Optional but recommended for improving Amazon search ranking
  • brands: Optional - Important for Amazon Brand Registry benefits

Step-by-Step Instructions

Step 1: Get Site ID

First, retrieve the site ID for your connected e-commerce platform.

Platform IDs

When filtering sites by platform, use these platform_id values:

  • Etsy: platform_id=1
  • TikTok: platform_id=4
  • Amazon: platform_id=5
  • Shopify: platform_id=6
# Example: Get Etsy sites
curl -X GET "https://api.dodgeprint.com/api/v1/sites?platform_id=1" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Workspace-Id: 359"

Response:

{
"success": true,
"data": [
{
"id": 6529,
"name": "My Etsy Shop",
"platform_id": 1,
"platform_name": "Etsy",
"shop_id": "12345678",
"shop_name": "MyShop",
"is_active": true,
"created_at": "2025-01-15 10:30:45"
}
]
}

Extract: site_id = 6529


Step 2: Get Product ID

Retrieve products from your catalog to get the product ID you want to deploy.

curl -X GET "https://api.dodgeprint.com/api/v1/products?limit=10" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Workspace-Id: 359"

Response:

{
"success": true,
"data": [
{
"id": 1635986,
"name": "Custom Canvas Print",
"sku": "CANVAS-001",
"status": "active"
}
]
}

Extract: product_id = 1635986


Step 3: Get Variant Group Data

Retrieve the complete variant structure for your product. This data will be copied directly into the deployment request.

curl -X GET "https://api.dodgeprint.com/api/v1/group-variants/4028" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Workspace-Id: 359"

Response:

{
"success": true,
"data": {
"id": 4028,
"headers": [
{
"key": "variant0",
"name": "Size"
},
{
"key": "variant1",
"name": "Color"
}
],
"childs": [
{
"id": 505660,
"variant0": "24x36 inch",
"variant1": "Black",
"price": 45.99,
"quantity": 100
},
{
"id": 505661,
"variant0": "18x24 inch",
"variant1": "White",
"price": 35.99,
"quantity": 150
}
],
"category": {
"id": 2197,
"taxonomy_id": "1027"
}
}
}

Extract: Copy the entire data object - you'll use this as the variants field in deployment.


Step 4: Get Content Template (if needed)

When is this required?
  • TikTok Shop:REQUIRED - Must provide content_id
  • Etsy: ⚠️ Optional - Can use content template or leave blank
  • Amazon: ⚠️ Optional - Can use content template or leave blank
curl -X GET "https://api.dodgeprint.com/api/v1/contents" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Workspace-Id: 359"

Response:

{
"success": true,
"data": [
{
"id": 2414,
"name": "Standard Product Description Template",
"content": "<p>High quality product...</p>"
}
]
}

Extract: content_id = 2414


Step 5: Deploy Product

Now submit the deployment request with all the gathered data.

Example: Etsy Deployment

curl -X POST "https://api.dodgeprint.com/api/v1/deploy-product" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Workspace-Id: 359" \
-H "Content-Type: application/json" \
-d '{
"type": "insert",
"site_id": 6529,
"content_id": 2414,
"selected": [1635986],
"variants": {
"id": 4028,
"headers": [
{"key": "variant0", "name": "Size"},
{"key": "variant1", "name": "Color"}
],
"childs": [
{
"id": 505660,
"variant0": "24x36 inch",
"variant1": "Black",
"price": 45.99,
"quantity": 100
}
],
"category": {
"id": 2197,
"taxonomy_id": "1027"
}
},
"shipping_profile_id": 6811,
"return_policy_id": 5,
"tags": ["Canvas Print", "Wall Art", "Custom"],
"when_made": "made_to_order",
"who_made": "i_did",
"is_supply": false
}'

Success Response:

{
"success": true,
"message": "Product deployment initiated successfully",
"data": {
"product_on_site_id": 123456,
"status": "pending",
"estimated_time": "5-15 seconds"
}
}

Step 6: Wait for Completion

The deployment happens asynchronously. Wait 5-15 seconds, then check the deployment status or verify on the platform directly.


Common Issues & Solutions

Error Code Reference

Error CodeDescriptionSolution
400Missing required fieldsCheck platform requirements table above
400Platform not supportedVerify platform is Etsy, TikTok, or Amazon
403Invalid workspaceCheck X-Workspace-Id header
403Site not owned by workspaceVerify site_id belongs to your workspace
500Platform API errorRetry after 5 minutes, check platform status

Next Steps


API Reference

For complete API documentation including all fields and parameters, see:

👉 POST /deploy-product API Reference


Need Help?

If you encounter issues or have questions: