{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-search/messaging/mailchimp/json-schema/campaign.json", "title": "Mailchimp Campaign", "description": "A Mailchimp email marketing campaign. Represents a single email send or series of emails targeted at a list or segment of subscribers. Campaigns can be regular, plain-text, A/B split, RSS-driven, or multivariate.", "type": "object", "properties": { "id": { "type": "string", "description": "A string that uniquely identifies this campaign.", "readOnly": true }, "web_id": { "type": "integer", "description": "The ID used in the Mailchimp web application.", "readOnly": true }, "parent_campaign_id": { "type": "string", "description": "If this campaign is the child of another campaign, this identifies the parent campaign. For example, for RSS or Automation children.", "readOnly": true }, "type": { "type": "string", "description": "The type of campaign.", "enum": ["regular", "plaintext", "absplit", "rss", "variate"] }, "create_time": { "type": "string", "format": "date-time", "description": "The date and time the campaign was created in ISO 8601 format.", "readOnly": true }, "archive_url": { "type": "string", "format": "uri", "description": "The link to the campaign's archive version.", "readOnly": true }, "long_archive_url": { "type": "string", "format": "uri", "description": "The original link to the campaign's archive version.", "readOnly": true }, "status": { "type": "string", "description": "The current status of the campaign.", "enum": ["save", "paused", "schedule", "sending", "sent", "canceled", "canceling", "archived"], "readOnly": true }, "emails_sent": { "type": "integer", "description": "The total number of emails sent for this campaign.", "readOnly": true }, "send_time": { "type": "string", "format": "date-time", "description": "The date and time a campaign was sent in ISO 8601 format.", "readOnly": true }, "content_type": { "type": "string", "description": "How the campaign's content is put together.", "enum": ["template", "html", "url", "multichannel"] }, "needs_block_refresh": { "type": "boolean", "description": "Deprecated. Whether the campaign needs its blocks refreshed by opening the web-based campaign editor. Will always return false.", "readOnly": true }, "resendable": { "type": "boolean", "description": "Whether the campaign qualifies to be resent to non-openers.", "readOnly": true }, "recipients": { "type": "object", "description": "List/audience settings for the campaign.", "properties": { "list_id": { "type": "string", "description": "The unique list/audience ID." }, "list_is_active": { "type": "boolean", "description": "The status of the list used, namely if it's deleted or disabled.", "readOnly": true }, "list_name": { "type": "string", "description": "The name of the list/audience.", "readOnly": true }, "segment_text": { "type": "string", "description": "A description of the segment used for the campaign, formatted as HTML.", "readOnly": true }, "recipient_count": { "type": "integer", "description": "Count of the recipients on the associated list.", "readOnly": true }, "segment_opts": { "type": "object", "description": "Segmentation options for targeting a subset of the list.", "properties": { "saved_segment_id": { "type": "integer", "description": "The ID for an existing saved segment." }, "prebuilt_segment_id": { "type": "string", "description": "The prebuilt segment ID, if a prebuilt segment has been designated." }, "match": { "type": "string", "description": "Segment match type.", "enum": ["any", "all"] }, "conditions": { "type": "array", "description": "An array of segment condition objects.", "items": { "type": "object", "properties": { "condition_type": { "type": "string", "description": "The type of segment condition." }, "field": { "type": "string", "description": "The field to segment on." }, "op": { "type": "string", "description": "The operator for the condition." }, "value": { "type": "string", "description": "The value to compare against." } } } } } } } }, "settings": { "type": "object", "description": "The settings for the campaign, including subject line, from name, and reply-to address.", "properties": { "subject_line": { "type": "string", "description": "The subject line for the campaign." }, "preview_text": { "type": "string", "description": "The preview text for the campaign, shown in email client inboxes." }, "title": { "type": "string", "description": "The title of the campaign." }, "from_name": { "type": "string", "description": "The 'from' name on the campaign (not an email address)." }, "reply_to": { "type": "string", "format": "email", "description": "The reply-to email address for the campaign." }, "use_conversation": { "type": "boolean", "description": "Use Mailchimp Conversation feature to manage out-of-office replies." }, "to_name": { "type": "string", "description": "The campaign's custom 'To' name. Typically the first name merge field." }, "folder_id": { "type": "string", "description": "If the campaign is listed in a folder, the ID for that folder." }, "authenticate": { "type": "boolean", "description": "Whether Mailchimp authenticated the campaign. Defaults to true." }, "auto_footer": { "type": "boolean", "description": "Automatically append Mailchimp's default footer to the campaign." }, "inline_css": { "type": "boolean", "description": "Automatically inline the CSS included with the campaign content." }, "auto_tweet": { "type": "boolean", "description": "Automatically tweet a link to the campaign archive page when the campaign is sent." }, "fb_comments": { "type": "boolean", "description": "Allows Facebook comments on the campaign (also determines determine the text of the Facebook post)." }, "template_id": { "type": "integer", "description": "The ID for the template used in this campaign." } } }, "tracking": { "type": "object", "description": "The tracking options for a campaign.", "properties": { "opens": { "type": "boolean", "description": "Whether to track opens. Defaults to true." }, "html_clicks": { "type": "boolean", "description": "Whether to track clicks in the HTML version of the campaign. Defaults to true." }, "text_clicks": { "type": "boolean", "description": "Whether to track clicks in the plain-text version of the campaign. Defaults to true." }, "goal_tracking": { "type": "boolean", "description": "Deprecated." }, "ecomm360": { "type": "boolean", "description": "Whether to enable e-commerce tracking." }, "google_analytics": { "type": "string", "description": "The custom slug for Google Analytics tracking (max 50 bytes)." }, "clicktale": { "type": "string", "description": "Deprecated." } } }, "report_summary": { "type": "object", "description": "For sent campaigns, a summary of opens, clicks, and e-commerce data.", "readOnly": true, "properties": { "opens": { "type": "integer", "description": "The total number of opens for a campaign." }, "unique_opens": { "type": "integer", "description": "The number of unique opens." }, "open_rate": { "type": "number", "description": "The number of unique opens divided by the total number of successful deliveries." }, "clicks": { "type": "integer", "description": "The total number of clicks for a campaign." }, "subscriber_clicks": { "type": "integer", "description": "The number of unique clicks." }, "click_rate": { "type": "number", "description": "The number of unique clicks divided by the total number of successful deliveries." }, "ecommerce": { "type": "object", "description": "E-commerce stats for a campaign.", "properties": { "total_orders": { "type": "integer", "description": "The total orders for a campaign." }, "total_spent": { "type": "number", "description": "The total spent for a campaign." }, "total_revenue": { "type": "number", "description": "The total revenue for a campaign." } } } } }, "delivery_status": { "type": "object", "description": "Updates on campaigns in the process of sending.", "readOnly": true, "properties": { "enabled": { "type": "boolean", "description": "Whether Campaign Delivery Status is enabled for this account and target campaign." }, "can_cancel": { "type": "boolean", "description": "Whether a campaign send can be canceled." }, "status": { "type": "string", "description": "The current state of a campaign delivery.", "enum": ["delivering", "delivered", "canceling", "canceled"] }, "emails_sent": { "type": "integer", "description": "The total number of emails confirmed sent for this campaign so far." }, "emails_canceled": { "type": "integer", "description": "The total number of emails canceled for this campaign." } } } }, "required": ["type"], "additionalProperties": true }