In Assette, Content Plans govern the generation and delivery of client content, such as reports or documents. Each Content Plan defines when, how, and for whom content should be created and sent. This article explains the structure and function of Content Plans from a technical perspective. For a more generic overview, see Content Plans instead.
Overview of the Data Model #
Each Content Plan is represented as a JSON object. A typical response returns a list of these objects under the data
array. Every Content Plan consists of three main sections:
- General Metadata
- Production Settings
- Delivery Settings
1. General Metadata #
This section defines the foundational identifiers and purpose of the content.
Field | Description |
---|---|
organizationCode | Identifies the organization for which the content is generated (e.g., Assette) |
recipientCode | Identifies the recipient. Mandatory unlesssendAtOrgLevel is true . |
sendAtOrgLevel | If true , the content is sent at the organization level, not the recipient level. |
contentType | Specifies the type of content (e.g., Monthly Client Report). |
purpose | Indicates whether the content is for "Client" or "Sales" . No other values are permitted. |
accountCode | Required if purpose is "Client" . Identifies the client account. |
productCode | Optional. Links the content to a product, if relevant. |
2. Production Settings #
This section defines how and when the content is generated. It comprises three major sub-sections:
DateStatus #
Indicates whether the data used is Preliminary or Final.
Period #
Defines the frequency and timing of content generation.
Field | Description |
---|---|
Frequency | Daily, Weekly, Monthly, Quarterly, or Yearly. |
StartMonth | For Quarterly or Yearly frequencies, specifies the starting month. |
GenerateForEvery | For Daily frequency, controls the specific day rule (e.g., BusinessDay ). |
SelectedList | For GenerateForEvery = SelectedDays , specifies the days (e.g., Monday, Wednesday, Friday). |
AsOfDateRule #
Determines the effective date for data selection.
Field | Description |
---|---|
DayType | Any one of the following values: Day , DayExceptWeekends , or BusinessDay . |
Index | Negative value indicating how many periods back to use (e.g., -1 for the most recent). |
Calendar | Specifies the business calendar (e.g., USA , UK ). |
GenerateWhen #
Controls the generation trigger and timing.
Field | Description |
---|---|
Type | WhenDataIsReady , On , or Manually . |
Position | Specifies ordinal position (e.g., 2nd Business Day). |
On | Specifies the generation day logic. – For daily frequency, this is null . – For weekly, options are days of the week (e.g., Sunday , Monday ). – For monthly and other frequencies, options are Day , DayExceptWeekends , or BusinessDay . |
TimeZone | Time zone for the trigger, using Microsoft time zone identifiers. |
Time | Specific time of day for generation. |
BatchGroups | Optional grouping mechanism for batch processing. |
3. Delivery Settings #
This section defines how and when the content is delivered to recipients.
Field | Description |
---|---|
method | Delivery channel: Email , PostalMail , ClientPortal , FTP , or API . |
deliverAs | Defines whether content is sent as an Attachment or via AssetteLink . |
protectAssetteLinkUsingPassword | Boolean flag to enable password protection for AssetteLink . |
sendAttachmentsAsAZipFile | Applicable for Email /API ; controls zip delivery format. |
format | Output format: PDF or Native . |
emailTemplate | Specifies the email template used (if method is Email ). |
deliverWhen | Determines delivery timing: after this content is approved or after all content is approved. |
Example Use Case #
Here is an example illustrating how these settings combine to form a Content Plan:
- Plan Type: Monthly Client Report
- Recipient: Defined by
recipientCode
- Frequency: Monthly, starting in January
- Data: Uses the last business day of the USA calendar
- Trigger: Generates on the 2nd business day at 09:00 EST
- Delivery: Sent via email as a password-free PDF attachment using a predefined email template
Validation & Enforcement #
The Assette enforces the following validations and conditional requirements:
- If
sendAtOrgLevel = false
, thenrecipientCode
must be provided. - If
purpose = "Client"
, thenaccountCode
must be provided. - Fields like
sendAttachmentsAsAZipFile
andemailTemplate
are only valid for certain delivery methods. - The
GenerateWhen
object must include valid time zone and time format details.