pub struct CreatePromotionInput {Show 31 fields
pub code: Option<String>,
pub name: String,
pub description: Option<String>,
pub internal_notes: Option<String>,
pub promotion_type: Option<String>,
pub trigger: Option<String>,
pub target: Option<String>,
pub stacking: Option<String>,
pub percentage_off: Option<f64>,
pub fixed_amount_off: Option<f64>,
pub max_discount_amount: Option<f64>,
pub buy_quantity: Option<i32>,
pub get_quantity: Option<i32>,
pub get_discount_percent: Option<f64>,
pub tiers: Option<String>,
pub bundle_product_ids: Option<Vec<String>>,
pub bundle_discount: Option<f64>,
pub starts_at: Option<String>,
pub ends_at: Option<String>,
pub total_usage_limit: Option<i32>,
pub per_customer_limit: Option<i32>,
pub applicable_product_ids: Option<Vec<String>>,
pub applicable_category_ids: Option<Vec<String>>,
pub applicable_skus: Option<Vec<String>>,
pub excluded_product_ids: Option<Vec<String>>,
pub excluded_category_ids: Option<Vec<String>>,
pub eligible_customer_ids: Option<Vec<String>>,
pub eligible_customer_groups: Option<Vec<String>>,
pub currency: Option<String>,
pub priority: Option<i32>,
pub metadata: Option<String>,
}Expand description
Input for creating a promotion
Fields§
§code: Option<String>Optional promotion code (auto-generated if not provided)
name: StringDisplay name
description: Option<String>Description for customers
internal_notes: Option<String>Internal notes
promotion_type: Option<String>Type: percentage_off, fixed_amount_off, buy_x_get_y, free_shipping, tiered_discount, bundle
trigger: Option<String>Trigger: automatic, coupon_code, both
target: Option<String>Target: order, product, category, shipping, line_item
stacking: Option<String>Stacking: stackable, exclusive, selective_stack
percentage_off: Option<f64>Percentage off (0.0-1.0, e.g., 0.20 for 20%)
fixed_amount_off: Option<f64>Fixed amount off
max_discount_amount: Option<f64>Maximum discount amount (cap)
buy_quantity: Option<i32>Buy X quantity (for BOGO)
get_quantity: Option<i32>Get Y quantity (for BOGO)
get_discount_percent: Option<f64>Discount on “get” items (1.0 = free, 0.5 = 50% off)
tiers: Option<String>Tiered discount rules as JSON
bundle_product_ids: Option<Vec<String>>Bundle product IDs as JSON array
bundle_discount: Option<f64>Bundle discount
starts_at: Option<String>Start date (RFC3339)
ends_at: Option<String>End date (RFC3339)
total_usage_limit: Option<i32>Total usage limit
per_customer_limit: Option<i32>Per customer usage limit
applicable_product_ids: Option<Vec<String>>Applicable product IDs
applicable_category_ids: Option<Vec<String>>Applicable category IDs
applicable_skus: Option<Vec<String>>Applicable SKUs
excluded_product_ids: Option<Vec<String>>Excluded product IDs
excluded_category_ids: Option<Vec<String>>Excluded category IDs
eligible_customer_ids: Option<Vec<String>>Eligible customer IDs
eligible_customer_groups: Option<Vec<String>>Eligible customer groups
currency: Option<String>Currency code
priority: Option<i32>Priority (lower = applied first)
metadata: Option<String>Metadata as JSON