Skip to main content

onesignal_rust_api/models/
create_journey_request.rs

1/*
2 * OneSignal
3 *
4 * A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5 *
6 * Contact: devrel@onesignal.com
7 * Generated by: https://openapi-generator.tech
8 */
9
10/// CreateJourneyRequest : Writable fields for Create journey. Journeys are always created in the draft state. Server-controlled fields such as state or id are rejected.
11
12
13
14#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct CreateJourneyRequest {
16    /// Journey name, up to 300 characters.
17    #[serde(rename = "name")]
18    pub name: String,
19    /// Optional journey description, up to 1024 characters.
20    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
21    pub description: Option<String>,
22    #[serde(rename = "audience", skip_serializing_if = "Option::is_none")]
23    pub audience: Option<Box<crate::models::JourneyAudience>>,
24    #[serde(rename = "early_exit", skip_serializing_if = "Option::is_none")]
25    pub early_exit: Option<Box<crate::models::JourneyEarlyExit>>,
26    #[serde(rename = "reentry_rules", skip_serializing_if = "Option::is_none")]
27    pub reentry_rules: Option<Box<crate::models::JourneyReentryRules>>,
28    #[serde(rename = "schedule", skip_serializing_if = "Option::is_none")]
29    pub schedule: Option<Box<crate::models::JourneySchedule>>,
30    /// Ordered list of journey nodes. Server-assigned id fields are rejected on create.
31    #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
32    pub nodes: Option<Vec<crate::models::JourneyNode>>,
33}
34
35impl CreateJourneyRequest {
36    /// Writable fields for Create journey. Journeys are always created in the draft state. Server-controlled fields such as state or id are rejected.
37    pub fn new(name: String) -> CreateJourneyRequest {
38        CreateJourneyRequest {
39            name,
40            description: None,
41            audience: None,
42            early_exit: None,
43            reentry_rules: None,
44            schedule: None,
45            nodes: None,
46        }
47    }
48}
49
50