/*
* 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.158.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 WebhookPayloadAccountAdsSyncFailedSync {
#[serde(rename = "lastSuccessfulSyncAt")]
pub last_successful_sync_at: String,
/// Consecutive failed sync attempts on the ad account's ads.
#[serde(rename = "failureCount")]
pub failure_count: i32,
/// ad_account_not_listed = the platform no longer returns the ad account to this connection (access removed, or a platform-side change); sync_error = the platform returned an error, see `error`; stale = no sync succeeded and no error was recorded. New values may be added.
#[serde(rename = "errorCategory")]
pub error_category: ErrorCategory,
/// Human-readable detail, for display and debugging. Branch on errorCategory.
#[serde(rename = "error")]
pub error: String,
}
impl WebhookPayloadAccountAdsSyncFailedSync {
pub fn new(
last_successful_sync_at: String,
failure_count: i32,
error_category: ErrorCategory,
error: String,
) -> WebhookPayloadAccountAdsSyncFailedSync {
WebhookPayloadAccountAdsSyncFailedSync {
last_successful_sync_at,
failure_count,
error_category,
error,
}
}
}
/// ad_account_not_listed = the platform no longer returns the ad account to this connection (access removed, or a platform-side change); sync_error = the platform returned an error, see `error`; stale = no sync succeeded and no error was recorded. New values may be added.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ErrorCategory {
#[serde(rename = "ad_account_not_listed")]
AdAccountNotListed,
#[serde(rename = "sync_error")]
SyncError,
#[serde(rename = "stale")]
Stale,
}
impl Default for ErrorCategory {
fn default() -> ErrorCategory {
Self::AdAccountNotListed
}
}