Skip to main content

onesignal_rust_api/models/
create_template_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
11
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct CreateTemplateRequest {
15    /// Your OneSignal App ID in UUID v4 format.
16    #[serde(rename = "app_id")]
17    pub app_id: String,
18    /// Name of the template.
19    #[serde(rename = "name")]
20    pub name: String,
21    #[serde(rename = "contents")]
22    pub contents: Box<crate::models::LanguageStringMap>,
23    #[serde(rename = "headings", skip_serializing_if = "Option::is_none")]
24    pub headings: Option<Box<crate::models::LanguageStringMap>>,
25    #[serde(rename = "subtitle", skip_serializing_if = "Option::is_none")]
26    pub subtitle: Option<Box<crate::models::LanguageStringMap>>,
27    /// Set true for an Email template.
28    #[serde(rename = "isEmail", skip_serializing_if = "Option::is_none")]
29    pub is_email: Option<bool>,
30    /// Subject of the email.
31    #[serde(rename = "email_subject", skip_serializing_if = "Option::is_none")]
32    pub email_subject: Option<String>,
33    /// Body of the email (HTML supported).
34    #[serde(rename = "email_body", skip_serializing_if = "Option::is_none")]
35    pub email_body: Option<String>,
36    /// BCC recipients for the email template. Maximum 5 addresses. Only supported when the email service provider is OneSignal Email.
37    #[serde(rename = "email_bcc", skip_serializing_if = "Option::is_none")]
38    pub email_bcc: Option<Vec<String>>,
39    /// Set true for an SMS template.
40    #[serde(rename = "isSMS", skip_serializing_if = "Option::is_none")]
41    pub is_sms: Option<bool>,
42    /// JSON string for dynamic content personalization.
43    #[serde(rename = "dynamic_content", skip_serializing_if = "Option::is_none")]
44    pub dynamic_content: Option<String>,
45}
46
47impl CreateTemplateRequest {
48    pub fn new(app_id: String, name: String, contents: crate::models::LanguageStringMap) -> CreateTemplateRequest {
49        CreateTemplateRequest {
50            app_id,
51            name,
52            contents: Box::new(contents),
53            headings: None,
54            subtitle: None,
55            is_email: None,
56            email_subject: None,
57            email_body: None,
58            email_bcc: None,
59            is_sms: None,
60            dynamic_content: None,
61        }
62    }
63}
64
65