#![allow(
missing_docs,
clippy::doc_lazy_continuation,
clippy::doc_overindented_list_items
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AddContactToCampaignDto {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AttributionSource {
pub url: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub campaign: Option<String>,
#[serde(rename = "utmSource", default, skip_serializing_if = "Option::is_none")]
pub utm_source: Option<String>,
#[serde(rename = "utmMedium", default, skip_serializing_if = "Option::is_none")]
pub utm_medium: Option<String>,
#[serde(
rename = "utmContent",
default,
skip_serializing_if = "Option::is_none"
)]
pub utm_content: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub referrer: Option<String>,
#[serde(
rename = "campaignId",
default,
skip_serializing_if = "Option::is_none"
)]
pub campaign_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fbclid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gclid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub msclikid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dclid: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fbc: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fbp: Option<String>,
#[serde(rename = "fbEventId", default, skip_serializing_if = "Option::is_none")]
pub fb_event_id: Option<String>,
#[serde(rename = "userAgent", default, skip_serializing_if = "Option::is_none")]
pub user_agent: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ip: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub medium: Option<String>,
#[serde(rename = "mediumId", default, skip_serializing_if = "Option::is_none")]
pub medium_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CheckboxField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub field_value: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsBulkUpateResponse {
pub success: bool,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub ids: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsBusinessUpdate {
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub ids: Vec<String>,
#[serde(rename = "businessId")]
pub business_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsByIdSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<GetContectByIdSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsMetaSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub total: Option<f64>,
#[serde(
rename = "nextPageUrl",
default,
skip_serializing_if = "Option::is_none"
)]
pub next_page_url: Option<String>,
#[serde(
rename = "startAfterId",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_after_id: Option<String>,
#[serde(
rename = "startAfter",
default,
skip_serializing_if = "Option::is_none"
)]
pub start_after: Option<f64>,
#[serde(
rename = "currentPage",
default,
skip_serializing_if = "Option::is_none"
)]
pub current_page: Option<f64>,
#[serde(rename = "nextPage", default, skip_serializing_if = "Option::is_none")]
pub next_page: Option<f64>,
#[serde(rename = "prevPage", default, skip_serializing_if = "Option::is_none")]
pub prev_page: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsSearchSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<CustomFieldSchema>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(
rename = "businessId",
default,
skip_serializing_if = "Option::is_none"
)]
pub business_id: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub attributions: Vec<AttributionSource>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub followers: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsSearchSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub contacts: Vec<ContactsSearchSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct ContactsWorkflowSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateAddFollowersSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub followers: Vec<String>,
#[serde(
rename = "followersAdded",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub followers_added: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateAddTagSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateContactDto {
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gender: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(
rename = "postalCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<bool>,
#[serde(
rename = "dndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub dnd_settings: Option<DndSettingsSchema>,
#[serde(
rename = "inboundDndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(
rename = "dateOfBirth",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_of_birth: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(
rename = "companyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub company_name: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateContactSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "dateUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_updated: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub deleted: Option<bool>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<CustomFieldSchema>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(
rename = "firstNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub first_name_lower_case: Option<String>,
#[serde(
rename = "fullNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub full_name_lower_case: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(
rename = "lastNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_name_lower_case: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(
rename = "emailLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub email_lower_case: Option<String>,
#[serde(
rename = "bounceEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub bounce_email: Option<bool>,
#[serde(
rename = "unsubscribeEmail",
default,
skip_serializing_if = "Option::is_none"
)]
pub unsubscribe_email: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<bool>,
#[serde(
rename = "dndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub dnd_settings: Option<DndSettingsSchema>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(
rename = "postalCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(
rename = "companyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub company_name: Option<String>,
#[serde(
rename = "dateOfBirth",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_of_birth: Option<String>,
#[serde(
rename = "birthMonth",
default,
skip_serializing_if = "Option::is_none"
)]
pub birth_month: Option<f64>,
#[serde(rename = "birthDay", default, skip_serializing_if = "Option::is_none")]
pub birth_day: Option<f64>,
#[serde(
rename = "lastSessionActivityAt",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_session_activity_at: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub offers: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub products: Vec<String>,
#[serde(
rename = "businessId",
default,
skip_serializing_if = "Option::is_none"
)]
pub business_id: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateContactsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<CreateContactSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateDeleteCantactsCampaignsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateDeleteTagSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateTaskParams {
pub title: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(rename = "dueDate")]
pub due_date: String,
pub completed: bool,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CreateWorkflowDto {
#[serde(
rename = "eventStartTime",
default,
skip_serializing_if = "Option::is_none"
)]
pub event_start_time: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomFieldSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteContactsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteFollowersSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub followers: Vec<String>,
#[serde(
rename = "followersRemoved",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub followers_removed: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteNoteSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DeleteTaskSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DndSettingSchema {
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct DndSettingsSchema {
#[serde(rename = "Call", default, skip_serializing_if = "Option::is_none")]
pub call: Option<DndSettingSchema>,
#[serde(rename = "Email", default, skip_serializing_if = "Option::is_none")]
pub email: Option<DndSettingSchema>,
#[serde(rename = "SMS", default, skip_serializing_if = "Option::is_none")]
pub sms: Option<DndSettingSchema>,
#[serde(rename = "WhatsApp", default, skip_serializing_if = "Option::is_none")]
pub whats_app: Option<DndSettingSchema>,
#[serde(rename = "GMB", default, skip_serializing_if = "Option::is_none")]
pub gmb: Option<DndSettingSchema>,
#[serde(rename = "FB", default, skip_serializing_if = "Option::is_none")]
pub fb: Option<DndSettingSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FileField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct FollowersDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub followers: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetContectByIdSchema {
#[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 = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(
rename = "emailLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub email_lower_case: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(
rename = "companyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub company_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<bool>,
#[serde(
rename = "dndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub dnd_settings: Option<DndSettingsSchema>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(
rename = "postalCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(
rename = "dateOfBirth",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_of_birth: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "dateUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_updated: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub attachments: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ssn: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub keyword: Option<String>,
#[serde(
rename = "firstNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub first_name_lower_case: Option<String>,
#[serde(
rename = "fullNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub full_name_lower_case: Option<String>,
#[serde(
rename = "lastNameLowerCase",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_name_lower_case: Option<String>,
#[serde(
rename = "lastActivity",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_activity: Option<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<CustomFieldSchema>,
#[serde(
rename = "businessId",
default,
skip_serializing_if = "Option::is_none"
)]
pub business_id: Option<String>,
#[serde(
rename = "attributionSource",
default,
skip_serializing_if = "Option::is_none"
)]
pub attribution_source: Option<AttributionSource>,
#[serde(
rename = "lastAttributionSource",
default,
skip_serializing_if = "Option::is_none"
)]
pub last_attribution_source: Option<AttributionSource>,
#[serde(rename = "visitorId", default, skip_serializing_if = "Option::is_none")]
pub visitor_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetCreateUpdateNoteSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub note: Option<GetNoteSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetEventSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(
rename = "calendarId",
default,
skip_serializing_if = "Option::is_none"
)]
pub calendar_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(
rename = "assignedUserId",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_user_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub notes: Option<String>,
#[serde(rename = "startTime", default, skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(rename = "endTime", default, skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(
rename = "locationId",
default,
skip_serializing_if = "Option::is_none"
)]
pub location_id: Option<String>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(
rename = "appointmentStatus",
default,
skip_serializing_if = "Option::is_none"
)]
pub appointment_status: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub users: Vec<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(
rename = "dateUpdated",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_updated: Option<String>,
#[serde(
rename = "assignedResources",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub assigned_resources: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetEventsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub events: Vec<GetEventSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetNoteSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(rename = "dateAdded", default, skip_serializing_if = "Option::is_none")]
pub date_added: Option<String>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pinned: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct GetNotesListSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub notes: Vec<GetNoteSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct InboundDndSettingSchema {
pub status: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct InboundDndSettingsSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub all: Option<InboundDndSettingSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct LargeTextField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct MonetoryField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct MultiSelectField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub field_value: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct NotesDTO {
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
pub body: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pinned: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct NumericField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct RadioField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SearchBodyV2DTO {
#[serde(flatten)]
pub extra: serde_json::Map<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct SingleSelectField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TagsDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TaskByIsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub task: Option<TaskSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TaskSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
#[serde(rename = "dueDate", default, skip_serializing_if = "Option::is_none")]
pub due_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completed: Option<bool>,
#[serde(rename = "contactId", default, skip_serializing_if = "Option::is_none")]
pub contact_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TasksListSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tasks: Vec<TaskSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct TextField {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateContactDto {
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(
rename = "postalCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<bool>,
#[serde(
rename = "dndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub dnd_settings: Option<DndSettingsSchema>,
#[serde(
rename = "inboundDndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(
rename = "dateOfBirth",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_of_birth: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateContactsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub succeded: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<GetContectByIdSchema>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateNoteDTO {
#[serde(rename = "userId", default, skip_serializing_if = "Option::is_none")]
pub user_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub color: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pinned: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTagsDTO {
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub contacts: Vec<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(
rename = "removeAllTags",
default,
skip_serializing_if = "Option::is_none"
)]
pub remove_all_tags: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTagsResponseDTO {
pub succeded: bool,
#[serde(rename = "errorCount")]
pub error_count: f64,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub responses: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTaskBody {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub body: Option<String>,
#[serde(rename = "dueDate", default, skip_serializing_if = "Option::is_none")]
pub due_date: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub completed: Option<bool>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpdateTaskStatusParams {
pub completed: bool,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpsertContactDto {
#[serde(rename = "firstName", default, skip_serializing_if = "Option::is_none")]
pub first_name: Option<String>,
#[serde(rename = "lastName", default, skip_serializing_if = "Option::is_none")]
pub last_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub email: Option<String>,
#[serde(rename = "locationId")]
pub location_id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub gender: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub phone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub address1: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub city: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
#[serde(
rename = "postalCode",
default,
skip_serializing_if = "Option::is_none"
)]
pub postal_code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub website: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub timezone: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub dnd: Option<bool>,
#[serde(
rename = "dndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub dnd_settings: Option<DndSettingsSchema>,
#[serde(
rename = "inboundDndSettings",
default,
skip_serializing_if = "Option::is_none"
)]
pub inbound_dnd_settings: Option<InboundDndSettingsSchema>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub tags: Vec<String>,
#[serde(
rename = "customFields",
default,
skip_serializing_if = "Vec::is_empty"
)]
pub custom_fields: Vec<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub source: Option<String>,
#[serde(
rename = "dateOfBirth",
default,
skip_serializing_if = "Option::is_none"
)]
pub date_of_birth: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub country: Option<String>,
#[serde(
rename = "companyName",
default,
skip_serializing_if = "Option::is_none"
)]
pub company_name: Option<String>,
#[serde(
rename = "assignedTo",
default,
skip_serializing_if = "Option::is_none"
)]
pub assigned_to: Option<String>,
#[serde(
rename = "createNewIfDuplicateAllowed",
default,
skip_serializing_if = "Option::is_none"
)]
pub create_new_if_duplicate_allowed: Option<bool>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct UpsertContactsSuccessfulResponseDto {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub new: Option<bool>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub contact: Option<GetContectByIdSchema>,
#[serde(rename = "traceId", default, skip_serializing_if = "Option::is_none")]
pub trace_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomFieldsInputArraySchema {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub field_value: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomFieldsInputObjectSchema {
pub id: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct CustomFieldsInputStringSchema {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub field_value: Option<String>,
}