Skip to main content

late/models/
ad_tree_ad_set.rs

1/*
2 * Zernio API
3 *
4 * API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5 *
6 * The version of the OpenAPI document: 1.0.1
7 * Contact: support@zernio.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// AdTreeAdSet : Ad set (or ad group/line item depending on platform) with rolled-up metrics and child ads
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct AdTreeAdSet {
17    #[serde(rename = "platformAdSetId", skip_serializing_if = "Option::is_none")]
18    pub platform_ad_set_id: Option<String>,
19    #[serde(rename = "adSetName", skip_serializing_if = "Option::is_none")]
20    pub ad_set_name: Option<String>,
21    /// Derived from child ad statuses
22    #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
23    pub status: Option<models::AdStatus>,
24    #[serde(rename = "adCount", skip_serializing_if = "Option::is_none")]
25    pub ad_count: Option<i32>,
26    #[serde(rename = "budget", skip_serializing_if = "Option::is_none")]
27    pub budget: Option<Box<models::AdTreeAdSetBudget>>,
28    #[serde(rename = "adSetBudget", skip_serializing_if = "Option::is_none")]
29    pub ad_set_budget: Option<Box<models::AdTreeAdSetAdSetBudget>>,
30    #[serde(rename = "metrics", skip_serializing_if = "Option::is_none")]
31    pub metrics: Option<Box<models::AdMetrics>>,
32    /// Meta ad set optimization goal (e.g. OFFSITE_CONVERSIONS, VALUE, LEAD_GENERATION)
33    #[serde(rename = "optimizationGoal", skip_serializing_if = "Option::is_none")]
34    pub optimization_goal: Option<String>,
35    /// Bid strategy for this ad set (overrides campaign level when set)
36    #[serde(rename = "bidStrategy", skip_serializing_if = "Option::is_none")]
37    pub bid_strategy: Option<String>,
38    #[serde(rename = "promotedObject", skip_serializing_if = "Option::is_none")]
39    pub promoted_object: Option<Box<models::AdTreeAdSetPromotedObject>>,
40    /// Individual ads within this ad set (capped at 100). Returns a subset of Ad fields from the aggregation (core fields like _id, name, platform, status, budget, metrics, creative, goal are included; targeting and schedule may be absent).
41    #[serde(rename = "ads", skip_serializing_if = "Option::is_none")]
42    pub ads: Option<Vec<models::Ad>>,
43}
44
45impl AdTreeAdSet {
46    /// Ad set (or ad group/line item depending on platform) with rolled-up metrics and child ads
47    pub fn new() -> AdTreeAdSet {
48        AdTreeAdSet {
49            platform_ad_set_id: None,
50            ad_set_name: None,
51            status: None,
52            ad_count: None,
53            budget: None,
54            ad_set_budget: None,
55            metrics: None,
56            optimization_goal: None,
57            bid_strategy: None,
58            promoted_object: None,
59            ads: None,
60        }
61    }
62}