#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderAttributePublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub default: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unit: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderCustomFlagsPublicV2Dto {
#[serde(rename = "layoutId", default, skip_serializing_if = "Option::is_none")]
pub layout_id: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub theme: Option<String>,
#[serde(
rename = "socialElementType",
default,
skip_serializing_if = "Option::is_none"
)]
pub social_element_type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderEditorContentPublicV2Dto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub elements: Vec<BuilderElementNodePublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attrs: Option<serde_json::Value>,
#[serde(
rename = "templateSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_settings: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderElementNodePublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "tagName", default, skip_serializing_if = "Option::is_none")]
pub tag_name: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub children: Vec<BuilderElementNodePublicV2Dto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderNodeAttrsPublicV2Dto {
#[serde(rename = "tagName", default, skip_serializing_if = "Option::is_none")]
pub tag_name: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub attributes: Vec<BuilderAttributePublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub content: Option<String>,
#[serde(
rename = "customFlags",
default,
skip_serializing_if = "Option::is_none"
)]
pub custom_flags: Option<BuilderCustomFlagsPublicV2Dto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BuilderUpdateSuccessfulDTO {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ok: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(
rename = "templateDownloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_download_url: Option<String>,
#[serde(rename = "versionId", default, skip_serializing_if = "Option::is_none")]
pub version_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BulkActionCampaignDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "scheduleType",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_type: Option<String>,
#[serde(rename = "createdBy", default, skip_serializing_if = "Option::is_none")]
pub created_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(
rename = "completedAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub completed_at: Option<String>,
#[serde(
rename = "emailMetadata",
default,
skip_serializing_if = "Option::is_none"
)]
pub email_metadata: Option<BulkActionCampaignEmailDetailsDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BulkActionCampaignEmailDetailsDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(rename = "from", default, skip_serializing_if = "Option::is_none")]
pub from_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "templateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct BulkActionCampaignPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "scheduleType",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_type: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(
rename = "completedAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub completed_at: Option<String>,
#[serde(
rename = "emailMetadata",
default,
skip_serializing_if = "Option::is_none"
)]
pub email_metadata: Option<BulkActionCampaignEmailDetailsDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateBuilderDto {
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(
rename = "builderVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub builder_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(
rename = "templateDataUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_data_url: Option<String>,
#[serde(
rename = "importProvider",
default,
skip_serializing_if = "Option::is_none"
)]
pub import_provider: Option<String>,
#[serde(rename = "importURL", default, skip_serializing_if = "Option::is_none")]
pub import_url: Option<String>,
#[serde(
rename = "templateSource",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_source: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateBuilderSuccesfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redirect: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateEmailCampaignPublicV2BodyDto {
pub name: String,
#[serde(rename = "editorType")]
pub editor_type: String,
#[serde(
rename = "templateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_id: Option<String>,
#[serde(
rename = "editorContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content: Option<String>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "timeZone")]
pub time_zone: String,
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "userName", default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateEmailCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "campaignCategory",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_category: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variations: Vec<EmailCampaignVariationPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateTemplateFolderPublicV2BodyDto {
pub name: String,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateTemplateFolderPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateTemplatePublicV2BodyDto {
pub name: String,
#[serde(rename = "editorType")]
pub editor_type: String,
#[serde(
rename = "editorContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content: Option<String>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateTemplatePublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteBuilderSuccesfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ok: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteTemplatePublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct EmailCampaignPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "campaignCategory",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_category: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variations: Vec<EmailCampaignVariationPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct EmailCampaignVariationPublicV2Dto {
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(rename = "isWinner", default, skip_serializing_if = "Option::is_none")]
pub is_winner: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct EmailStatsNumbersDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delivered: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub opened: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clicked: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unsubscribed: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub complained: Option<f64>,
#[serde(
rename = "permanentFail",
default,
skip_serializing_if = "Option::is_none"
)]
pub permanent_fail: Option<f64>,
#[serde(
rename = "temporaryFail",
default,
skip_serializing_if = "Option::is_none"
)]
pub temporary_fail: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rejected: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failed: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replied: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct EmailStatsNumbersPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sent: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub accepted: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub delivered: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub opened: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub clicked: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub unsubscribed: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub complained: Option<f64>,
#[serde(
rename = "permanentFail",
default,
skip_serializing_if = "Option::is_none"
)]
pub permanent_fail: Option<f64>,
#[serde(
rename = "temporaryFail",
default,
skip_serializing_if = "Option::is_none"
)]
pub temporary_fail: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub rejected: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub failed: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub replied: Option<f64>,
#[serde(rename = "openRate", default, skip_serializing_if = "Option::is_none")]
pub open_rate: Option<f64>,
#[serde(rename = "clickRate", default, skip_serializing_if = "Option::is_none")]
pub click_rate: Option<f64>,
#[serde(
rename = "unsubscribeRate",
default,
skip_serializing_if = "Option::is_none"
)]
pub unsubscribe_rate: Option<f64>,
#[serde(
rename = "complaintRate",
default,
skip_serializing_if = "Option::is_none"
)]
pub complaint_rate: Option<f64>,
#[serde(
rename = "bounceRate",
default,
skip_serializing_if = "Option::is_none"
)]
pub bounce_rate: Option<f64>,
#[serde(rename = "replyRate", default, skip_serializing_if = "Option::is_none")]
pub reply_rate: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FetchBuilderSuccesfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "lastUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(
rename = "templateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_type: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetBulkActionCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "scheduleType",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_type: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(
rename = "replyToAddress",
default,
skip_serializing_if = "Option::is_none"
)]
pub reply_to_address: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "editorContentUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(
rename = "completedAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub completed_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetBulkActionCampaignsResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub campaigns: Vec<BulkActionCampaignDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetCampaignStatsPublicV2ResponseDto {
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(
rename = "subSourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub sub_source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stats: Option<EmailStatsNumbersPublicV2Dto>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetCampaignStatsResponseDto {
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(
rename = "subSourceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub sub_source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stats: Option<EmailStatsNumbersDto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetEmailCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "campaignCategory",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_category: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variations: Vec<EmailCampaignVariationPublicV2Dto>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "editorContentUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content_url: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(
rename = "replyToAddress",
default,
skip_serializing_if = "Option::is_none"
)]
pub reply_to_address: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetTemplatePublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "editorContentUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetWorkflowCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(rename = "subSources", default, skip_serializing_if = "Vec::is_empty")]
pub sub_sources: Vec<WorkflowCampaignSubSourcePublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetWorkflowCampaignsPublicResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub campaigns: Vec<WorkflowCampaignPublicDto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct IBuilderJsonMapper {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub elements: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attrs: Option<serde_json::Value>,
#[serde(
rename = "templateSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_settings: Option<TemplateSettings>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ImportTemplatePublicV2BodyDto {
#[serde(rename = "importProvider")]
pub import_provider: String,
#[serde(rename = "importUrl")]
pub import_url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ImportTemplatePublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct InvalidLocationDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListBulkActionCampaignsPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub campaigns: Vec<BulkActionCampaignPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListEmailCampaignsPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub campaigns: Vec<EmailCampaignPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListTemplatesPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub items: Vec<TemplateListItemPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ListWorkflowCampaignsPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub campaigns: Vec<WorkflowCampaignPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct NotFoundDTO {
#[serde(
rename = "statusCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub status_code: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SaveBuilderDataDto {
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "templateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_id: Option<String>,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<IBuilderJsonMapper>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub html: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "usedEmailAI",
default,
skip_serializing_if = "Option::is_none"
)]
pub used_email_ai: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignABTestConfigPublicV2Dto {
#[serde(rename = "testType")]
pub test_type: String,
#[serde(rename = "testDuration")]
pub test_duration: f64,
#[serde(rename = "variationCount")]
pub variation_count: f64,
#[serde(rename = "testSize")]
pub test_size: f64,
#[serde(rename = "winningCriteria")]
pub winning_criteria: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variations: Vec<ScheduleCampaignABTestVariationPublicV2Dto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignABTestVariationPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(
rename = "documentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub document_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignBatchConfigPublicV2Dto {
#[serde(rename = "batchSize")]
pub batch_size: f64,
pub interval: f64,
#[serde(rename = "intervalUnit")]
pub interval_unit: String,
#[serde(rename = "skipDays", default, skip_serializing_if = "Vec::is_empty")]
pub skip_days: Vec<String>,
#[serde(
rename = "windowStart",
default,
skip_serializing_if = "Option::is_none"
)]
pub window_start: Option<String>,
#[serde(rename = "windowEnd", default, skip_serializing_if = "Option::is_none")]
pub window_end: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignEmailMetaPublicV2Dto {
pub subject: String,
#[serde(rename = "fromName")]
pub from_name: String,
#[serde(rename = "fromEmail")]
pub from_email: String,
#[serde(
rename = "replyToAddress",
default,
skip_serializing_if = "Option::is_none"
)]
pub reply_to_address: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub attachments: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignPublicV2BodyDto {
#[serde(rename = "scheduleType")]
pub schedule_type: String,
#[serde(rename = "timeZone")]
pub time_zone: String,
#[serde(rename = "userId")]
pub user_id: String,
#[serde(rename = "userName", default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
#[serde(rename = "emailMeta")]
pub email_meta: ScheduleCampaignEmailMetaPublicV2Dto,
pub recipients: ScheduleCampaignRecipientsPublicV2Dto,
#[serde(rename = "sendDays", default, skip_serializing_if = "Vec::is_empty")]
pub send_days: Vec<String>,
#[serde(
rename = "scheduleConfig",
default,
skip_serializing_if = "Option::is_none"
)]
pub schedule_config: Option<ScheduleCampaignScheduleConfigPublicV2Dto>,
#[serde(rename = "rssConfig", default, skip_serializing_if = "Option::is_none")]
pub rss_config: Option<ScheduleCampaignRssConfigPublicV2Dto>,
#[serde(
rename = "abTestConfig",
default,
skip_serializing_if = "Option::is_none"
)]
pub ab_test_config: Option<ScheduleCampaignABTestConfigPublicV2Dto>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignPublicV2ResponseDto {
#[serde(
rename = "campaignId",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_id: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignRecipientsPublicV2Dto {
#[serde(rename = "type")]
pub type_: String,
#[serde(rename = "contactIds", default, skip_serializing_if = "Vec::is_empty")]
pub contact_ids: Vec<String>,
#[serde(rename = "tagIds", default, skip_serializing_if = "Vec::is_empty")]
pub tag_ids: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub segment: Option<String>,
#[serde(
rename = "freezeList",
default,
skip_serializing_if = "Option::is_none"
)]
pub freeze_list: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignResendPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "waitHours", default, skip_serializing_if = "Option::is_none")]
pub wait_hours: Option<f64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignRssConfigPublicV2Dto {
pub name: String,
#[serde(rename = "rssFeedURL")]
pub rss_feed_url: String,
#[serde(rename = "repeatAfter")]
pub repeat_after: String,
#[serde(rename = "repeatAfterTime")]
pub repeat_after_time: String,
#[serde(
rename = "rssFeedLimit",
default,
skip_serializing_if = "Option::is_none"
)]
pub rss_feed_limit: Option<f64>,
#[serde(
rename = "startAtDay",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_at_day: Option<String>,
#[serde(
rename = "startAtMonthDay",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_at_month_day: Option<String>,
#[serde(
rename = "firstExecutionDate",
default,
skip_serializing_if = "Option::is_none"
)]
pub first_execution_date: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignScheduleConfigPublicV2Dto {
#[serde(rename = "sendAt", default, skip_serializing_if = "Option::is_none")]
pub send_at: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub batch: Option<ScheduleCampaignBatchConfigPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tracking: Option<ScheduleCampaignTrackingPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub resend: Option<ScheduleCampaignResendPublicV2Dto>,
#[serde(
rename = "emailPreferenceId",
default,
skip_serializing_if = "Option::is_none"
)]
pub email_preference_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleCampaignTrackingPublicV2Dto {
#[serde(
rename = "clickTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub click_tracking: Option<bool>,
#[serde(
rename = "utmTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub utm_tracking: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "repeatAfter",
default,
skip_serializing_if = "Option::is_none"
)]
pub repeat_after: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(
rename = "childCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub child_count: Option<f64>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "bulkActionVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub bulk_action_version: Option<String>,
#[serde(rename = "_id", default, skip_serializing_if = "Option::is_none")]
pub id_alt: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "sendDays", default, skip_serializing_if = "Vec::is_empty")]
pub send_days: Vec<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub migrated: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(
rename = "hasTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_tracking: Option<bool>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "hasUtmTracking",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_utm_tracking: Option<bool>,
#[serde(
rename = "enableResendToUnopened",
default,
skip_serializing_if = "Option::is_none"
)]
pub enable_resend_to_unopened: Option<bool>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(
rename = "templateId",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_id: Option<String>,
#[serde(
rename = "templateType",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_type: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "__v", default, skip_serializing_if = "Option::is_none")]
pub v: Option<f64>,
#[serde(
rename = "documentId",
default,
skip_serializing_if = "Option::is_none"
)]
pub document_id: Option<String>,
#[serde(
rename = "downloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub download_url: Option<String>,
#[serde(
rename = "templateDataDownloadUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub template_data_download_url: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub child: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ScheduleFetchSuccessfulDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub schedules: Vec<ScheduleDto>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub total: Vec<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TemplateListItemPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "childCount",
default,
skip_serializing_if = "Option::is_none"
)]
pub child_count: Option<f64>,
#[serde(
rename = "hasChildren",
default,
skip_serializing_if = "Option::is_none"
)]
pub has_children: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TemplateSettings {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateEmailCampaignPublicV2BodyDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "editorContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateEmailCampaignPublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(
rename = "campaignType",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_type: Option<String>,
#[serde(
rename = "campaignCategory",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_category: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub variations: Vec<EmailCampaignVariationPublicV2Dto>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateEmailTemplateDto {
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(rename = "updatedBy", default, skip_serializing_if = "Option::is_none")]
pub updated_by: Option<String>,
#[serde(
rename = "editorContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content: Option<serde_json::Value>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(
rename = "fieldDefaults",
default,
skip_serializing_if = "Option::is_none"
)]
pub field_defaults: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateEmailTemplateResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ok: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(
rename = "builderVersion",
default,
skip_serializing_if = "Option::is_none"
)]
pub builder_version: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(
rename = "lastUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_updated: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "fieldDefaults",
default,
skip_serializing_if = "Option::is_none"
)]
pub field_defaults: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTemplatePublicV2BodyDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(
rename = "editorContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTemplatePublicV2ResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub archived: Option<bool>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "subjectLine",
default,
skip_serializing_if = "Option::is_none"
)]
pub subject_line: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "previewUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_url: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "parentFolderId",
default,
skip_serializing_if = "Option::is_none"
)]
pub parent_folder_id: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct WorkflowCampaignPublicDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct WorkflowCampaignPublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "sourceId", default, skip_serializing_if = "Option::is_none")]
pub source_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct WorkflowCampaignSubSourcePublicV2Dto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(rename = "fromName", default, skip_serializing_if = "Option::is_none")]
pub from_name: Option<String>,
#[serde(rename = "fromEmail", default, skip_serializing_if = "Option::is_none")]
pub from_email: Option<String>,
#[serde(
rename = "previewText",
default,
skip_serializing_if = "Option::is_none"
)]
pub preview_text: Option<String>,
#[serde(
rename = "editorType",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_type: Option<String>,
#[serde(
rename = "isPlainText",
default,
skip_serializing_if = "Option::is_none"
)]
pub is_plain_text: Option<bool>,
#[serde(
rename = "editorContentUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub editor_content_url: Option<String>,
#[serde(rename = "createdAt", default, skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updatedAt", default, skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
}