late 0.0.1137

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). Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
Documentation
/*
 * 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).  Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
 *
 * The version of the OpenAPI document: 1.226.1
 * Contact: support@zernio.com
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum PlatformTargetAccountId {
    String(String),
    SocialAccount(Box<models::SocialAccount>),
}

impl Default for PlatformTargetAccountId {
    fn default() -> Self {
        Self::String(Default::default())
    }
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Platform {
    #[serde(rename = "tiktok")]
    Tiktok,
    #[serde(rename = "instagram")]
    Instagram,
    #[serde(rename = "facebook")]
    Facebook,
    #[serde(rename = "youtube")]
    Youtube,
    #[serde(rename = "linkedin")]
    Linkedin,
    #[serde(rename = "twitter")]
    Twitter,
    #[serde(rename = "threads")]
    Threads,
    #[serde(rename = "pinterest")]
    Pinterest,
    #[serde(rename = "reddit")]
    Reddit,
    #[serde(rename = "bluesky")]
    Bluesky,
    #[serde(rename = "googlebusiness")]
    Googlebusiness,
    #[serde(rename = "telegram")]
    Telegram,
    #[serde(rename = "snapchat")]
    Snapchat,
    #[serde(rename = "discord")]
    Discord,
    #[serde(rename = "slack")]
    Slack,
    #[serde(rename = "whatsapp")]
    Whatsapp,
    #[serde(rename = "shopify")]
    Shopify,
    #[serde(rename = "wordpress")]
    Wordpress,
    #[serde(rename = "linkedinads")]
    Linkedinads,
    #[serde(rename = "metaads")]
    Metaads,
    #[serde(rename = "pinterestads")]
    Pinterestads,
    #[serde(rename = "tiktokads")]
    Tiktokads,
    #[serde(rename = "xads")]
    Xads,
    #[serde(rename = "googleads")]
    Googleads,
    #[serde(rename = "openaiads")]
    Openaiads,
    #[serde(rename = "sms")]
    Sms,
    #[serde(rename = "phone")]
    Phone,
    #[serde(rename = "rcs")]
    Rcs,
    #[serde(rename = "whopads")]
    Whopads,
}

impl Default for Platform {
    fn default() -> Platform {
        Self::Tiktok
    }
}
/// TikTok accounts only. The account type TikTok reported when the account was connected. `personal` accounts cannot use TikTok direct messages through the API (TikTok limits Business Messaging to Business Accounts): skip the inbox for them and tell the user to switch to a Business Account in the TikTok app, then reconnect. `business` is the prerequisite, not a guarantee; messaging also needs the messaging scopes granted and TikTok's regional availability. `unknown` on accounts connected before this was captured or whose grant left out the account-type scope.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum TiktokAccountType {
    #[serde(rename = "business")]
    Business,
    #[serde(rename = "personal")]
    Personal,
    #[serde(rename = "unknown")]
    Unknown,
}

impl Default for TiktokAccountType {
    fn default() -> TiktokAccountType {
        Self::Business
    }
}