/*
* Zernio API
*
* API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema).
*
* The version of the OpenAPI document: 1.34.0
* Contact: support@zernio.com
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetPostTimeline200ResponseTimelineInner {
/// Date in YYYY-MM-DD format
#[serde(rename = "date", skip_serializing_if = "Option::is_none")]
pub date: Option<String>,
/// Platform name (e.g. instagram, tiktok)
#[serde(rename = "platform", skip_serializing_if = "Option::is_none")]
pub platform: Option<String>,
/// Platform-specific post ID
#[serde(rename = "platformPostId", skip_serializing_if = "Option::is_none")]
pub platform_post_id: Option<String>,
/// Total impressions on this date
#[serde(rename = "impressions", skip_serializing_if = "Option::is_none")]
pub impressions: Option<i32>,
/// Total reach on this date
#[serde(rename = "reach", skip_serializing_if = "Option::is_none")]
pub reach: Option<i32>,
/// Total likes on this date
#[serde(rename = "likes", skip_serializing_if = "Option::is_none")]
pub likes: Option<i32>,
/// Total comments on this date
#[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
pub comments: Option<i32>,
/// Total shares on this date
#[serde(rename = "shares", skip_serializing_if = "Option::is_none")]
pub shares: Option<i32>,
/// Total saves on this date
#[serde(rename = "saves", skip_serializing_if = "Option::is_none")]
pub saves: Option<i32>,
/// Total clicks on this date
#[serde(rename = "clicks", skip_serializing_if = "Option::is_none")]
pub clicks: Option<i32>,
/// Total views on this date
#[serde(rename = "views", skip_serializing_if = "Option::is_none")]
pub views: Option<i32>,
/// Follows attributed to the post on this date (Instagram feed and stories, TikTok business lane); 0 elsewhere
#[serde(rename = "follows", skip_serializing_if = "Option::is_none")]
pub follows: Option<i32>,
/// TikTok business lane: share of viewers who watched to the end on this date, 0 to 1; 0 elsewhere
#[serde(rename = "completionRate", skip_serializing_if = "Option::is_none")]
pub completion_rate: Option<f64>,
/// TikTok business lane: profile views attributed to the post on this date; 0 elsewhere
#[serde(rename = "profileViews", skip_serializing_if = "Option::is_none")]
pub profile_views: Option<i32>,
/// TikTok business lane: website-link clicks attributed to the post on this date (also inside clicks); 0 elsewhere
#[serde(rename = "websiteClicks", skip_serializing_if = "Option::is_none")]
pub website_clicks: Option<i32>,
/// TikTok business lane: share of views by surface on this date (forYou, follow, search, personalProfile, sound, directMessage, other), fractions 0 to 1; empty object elsewhere
#[serde(rename = "impressionSources", skip_serializing_if = "Option::is_none")]
pub impression_sources: Option<std::collections::HashMap<String, f64>>,
/// TikTok business lane: follower / nonFollower and newViewer / returnViewer shares on this date, fractions 0 to 1; empty object elsewhere
#[serde(rename = "audienceTypes", skip_serializing_if = "Option::is_none")]
pub audience_types: Option<std::collections::HashMap<String, f64>>,
/// TikTok business lane: viewer-country shares on this date keyed by ISO-3166 alpha-2, fractions 0 to 1, top 20 with the tail in `other`; empty object elsewhere
#[serde(rename = "audienceCountries", skip_serializing_if = "Option::is_none")]
pub audience_countries: Option<std::collections::HashMap<String, f64>>,
}
impl GetPostTimeline200ResponseTimelineInner {
pub fn new() -> GetPostTimeline200ResponseTimelineInner {
GetPostTimeline200ResponseTimelineInner {
date: None,
platform: None,
platform_post_id: None,
impressions: None,
reach: None,
likes: None,
comments: None,
shares: None,
saves: None,
clicks: None,
views: None,
follows: None,
completion_rate: None,
profile_views: None,
website_clicks: None,
impression_sources: None,
audience_types: None,
audience_countries: None,
}
}
}