const sch_campaigns = coda.makeObjectSchema({. . .
const sch_campaigns = coda.makeObjectSchema({
properties: {
id: {type: coda.ValueType.Number},
title: {type: coda.ValueType.String},
name: {type: coda.ValueType.String},
clientName: {type: coda.ValueType.String},
clientUrl: {type: coda.ValueType.String},
creatorUser: {type: coda.ValueType.Number},
createdDate: {type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime},
dateStart: {type: coda.ValueType.String},
dateEnd: {type: coda.ValueType.String},
isPreOutreach: {type: coda.ValueType.Boolean},
profileImgUrl: {type: coda.ValueType.String},
numInfluencers: {type: coda.ValueType.Number},
numPosts: {type: coda.ValueType.Number},
reportPageUrl: {type: coda.ValueType.String},
settingsPageUrl: {type: coda.ValueType.String},
clientDashboardUrl: {type: coda.ValueType.String},
deckEditPage: {type: coda.ValueType.String},
deckClientViewPage: {type: coda.ValueType.String},
deckCaseStudyViewPage: {type: coda.ValueType.String},
pipelinePageUrl: {type: coda.ValueType.String},
archived: {type: coda.ValueType.Boolean},
managementSettings: coda.makeObjectSchema({
properties: {
id: {type: coda.ValueType.Number},
owner: {type: coda.ValueType.Number},
participants: {type: coda.ValueType.Array, items: {type: coda.ValueType.Any}},
totalBudget: {type: coda.ValueType.Number},
maxInfluencerBudget: {type: coda.ValueType.Number},
estimatedMaxInfluencerBudget: {type: coda.ValueType.Number},
activityStatus: {type: coda.ValueType.String},
healthStatus: {type: coda.ValueType.String},
campaignType: {type: coda.ValueType.String},
reportDueDate: {type: coda.ValueType.String},
kpiReportingEnabled: {type: coda.ValueType.String},
googleCalendarUrl: {type: coda.ValueType.String}
}
}),
userSettings: coda.makeObjectSchema({
properties: {
id: {type: coda.ValueType.Number},
campaign: {type: coda.ValueType.Number},
isInfluencerApprovalEnabled: {type: coda.ValueType.Boolean},
isPostApprovalEnabled: {type: coda.ValueType.Boolean},
isContractEnabled: {type: coda.ValueType.Boolean},
isTrackingCodeEnabled: {type: coda.ValueType.Boolean},
isPaymentSystemEnabled: {type: coda.ValueType.Boolean},
isPerPostTrackingEnabled: {type: coda.ValueType.Boolean},
shouldCollectShippingAddress: {type: coda.ValueType.Boolean},
shouldCollectProductPreferences: {type: coda.ValueType.Boolean},
useLatestSetup: {type: coda.ValueType.Boolean},
useGoogleDocContractSetup: {type: coda.ValueType.Boolean},
useLatestInfluencerApprovalNamingConvention: {type: coda.ValueType.Boolean},
usePostDraftsUiV2: {type: coda.ValueType.Any},
useNewPipelineSetup: {type: coda.ValueType.Boolean},
coverImageBlurEnabled: {type: coda.ValueType.Boolean},
slackChannels: {type: coda.ValueType.Array, items: {type: coda.ValueType.Any}}
}
}),
clientSettings: coda.makeObjectSchema({
properties: {
id: {type: coda.ValueType.Number},
campaign: {type: coda.ValueType.Number},
logoImgUrl: {type: coda.ValueType.String},
logoBackgroundColor: {type: coda.ValueType.String},
slidesDeckTagsFilteringEnabled: {type: coda.ValueType.Boolean},
slidesDeckFilterTagTypes: {type: coda.ValueType.Array, items: {type: coda.ValueType.Any}},
useCustomLogo: {type: coda.ValueType.Any},
influencerApprovalUiVersion: {type: coda.ValueType.Number}
}
}),
denormValues: {type: coda.ValueType.Any},
realCampaign: {type: coda.ValueType.Any},
influencerAnalyticsCollection: coda.makeObjectSchema({
properties: {
id: {type: coda.ValueType.Number},
approvalStatus: {type: coda.ValueType.Number},
isUpdating: {type: coda.ValueType.Boolean},
systemCollection: {type: coda.ValueType.Boolean}
}
}),
rootGoogleDriveFolder: {type: coda.ValueType.Any},
googleCalendarUrl: {type: coda.ValueType.String},
isMultiApprovalSetupEnabled: {type: coda.ValueType.Boolean}
},
displayProperty: "name",
idProperty: "createdDate",
featuredProperties: ["id", "title", "name", "clientName", "clientUrl", "creatorUser", "createdDate", "isPreOutreach", "profileImgUrl", "numInfluencers", "numPosts", "reportPageUrl", "settingsPageUrl", "clientDashboardUrl", "deckEditPage", "deckClientViewPage", "deckCaseStudyViewPage", "pipelinePageUrl", "archived"]
})
const sch_product = coda.makeObjectSchema({. . .
const sch_product = coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.String },
title: { type: coda.ValueType.String },
lender_note: { type: coda.ValueType.String },
url: { type: coda.ValueType.String },
retail_price: { type: coda.ValueType.Number },
base_price: { type: coda.ValueType.Number },
cleaning_fee: { type: coda.ValueType.Number },
discount: { type: coda.ValueType.Number },
lender_id: { type: coda.ValueType.String },
size_id: { type: coda.ValueType.String },
length_id: { type: coda.ValueType.String },
sleeve_id: { type: coda.ValueType.String },
cut_id: { type: coda.ValueType.String },
brand: { type: coda.ValueType.String },
images: {
type: coda.ValueType.Array,
items: { type: coda.ValueType.String }
},
primary_image: { type: coda.ValueType.String },
updated_at: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
created_at: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
price_range: { type: coda.ValueType.String },
status: { type: coda.ValueType.String },
temp_collections: { type: coda.ValueType.String }
},
displayProperty: "title",
idProperty: "id",
featuredProperties: ["id", "title", "lender_note", "url", "retail_price", "base_price", "cleaning_fee", "discount", "lender_id", "size_id", "length_id", "sleeve_id", "cut_id", "brand", "images", "primary_image", "updated_at", "created_at", "price_range", "status", "temp_collections"]
});
const sch_post_type = coda.makeObjectSchema({. . .
const sch_post_type = coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.Number },
platformName: { type: coda.ValueType.String },
verboseShort: { type: coda.ValueType.String },
verbose: { type: coda.ValueType.String },
uiName: { type: coda.ValueType.String },
verboseContentType: { type: coda.ValueType.String },
isMultipart: { type: coda.ValueType.Boolean },
postContentPartName: { type: coda.ValueType.String },
artificialPostsOnly: { type: coda.ValueType.Boolean },
ocrMetricsModel: { type: coda.ValueType.String },
defaultPostSubType: { type: coda.ValueType.String },
archived: { type: coda.ValueType.Boolean }
},
displayProperty: "platformName",
idProperty: "id",
featuredProperties: ["id", "platformName", "verboseShort", "verbose", "uiName", "verboseContentType", "isMultipart", "postContentPartName", "artificialPostsOnly", "ocrMetricsModel", "defaultPostSubType", "archived"]
});
const sch_example = coda.makeObjectSchema({. . .
const sch_example = coda.makeObjectSchema({
properties: {
allowMultipleTags: { type: coda.ValueType.Boolean },
contentType: { type: coda.ValueType.Number },
name: { type: coda.ValueType.String },
tagNames: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } }
},
displayProperty: "name",
idProperty: "name",
featuredProperties: ["allowMultipleTags", "contentType", "name", "tagNames"]
});
const sch_facebookads = coda.makeObjectSchema({. . .
const sch_facebookads = coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.String },
adSet: { type: coda.ValueType.String },
creative: { type: coda.ValueType.String },
postReport: { type: coda.ValueType.Number },
insights: { type: coda.ValueType.Object },
name: { type: coda.ValueType.String },
createdTime: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
updatedTime: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
parsedAdName: coda.makeObjectSchema({
properties: {
username: { type: coda.ValueType.String },
postTypeVerbose: { type: coda.ValueType.String },
videoDuration: { type: coda.ValueType.Number },
campaignTitle: { type: coda.ValueType.String }
},
displayProperty: "username”
}),
organicPostConnectionFailureReason: { type: coda.ValueType.Object },
correctedNameForParsing: { type: coda.ValueType.Object },
rawData: coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.String },
name: { type: coda.ValueType.String },
status: { type: coda.ValueType.String },
adsetId: { type: coda.ValueType.String },
bidType: { type: coda.ValueType.String },
creative: coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.String }
},
displayProperty: "id”
}),
targeting: coda.makeObjectSchema({
properties: {
ageMax: { type: coda.ValueType.Number },
ageMin: { type: coda.ValueType.Number },
geoLocations: coda.makeObjectSchema({
properties: {
countries: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } },
locationTypes: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } }
}
}),
customAudiences: { type: coda.ValueType.Array, items: coda.makeObjectSchema({
properties: {
id: { type: coda.ValueType.String },
name: { type: coda.ValueType.String }
}
}) },
targetingRelaxationTypes: coda.makeObjectSchema({
properties: {
lookalike: { type: coda.ValueType.Number },
customAudience: { type: coda.ValueType.Number }
}
}),
brandSafetyContentFilterLevels: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } }
}
}),
accountId: { type: coda.ValueType.String },
campaignId: { type: coda.ValueType.String },
createdTime: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
sourceAdId: { type: coda.ValueType.String },
updatedTime: { type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime },
demolinkHash: { type: coda.ValueType.String },
adActiveTime: { type: coda.ValueType.String },
trackingSpecs: { type: coda.ValueType.Array, items: coda.makeObjectSchema({
properties: {
fbPixel: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } },
"action.type": { type: coda.ValueType.Array, items: { type: coda.ValueType.String } },
conversionId: { type: coda.ValueType.Array, items: { type: coda.ValueType.String } }
}
}) },
displaySequence: { type: coda.ValueType.Number },
effectiveStatus: { type: coda.ValueType.String },
engagementAudience: { type: coda.ValueType.Boolean },
previewShareableLink: { type: coda.ValueType.String }
},
displayProperty: "id”
})
},
displayProperty: "name",
idProperty: "createdTime",
featuredProperties: ["id", "adSet", "creative", "postReport", "insights", "name", "createdTime", "updatedTime", "parsedAdName", "organicPostConnectionFailureReason", "correctedNameForParsing", "rawData"]
});
const schema_envelope_templates = coda.makeObjectSchema({. . .
const schema_envelope_templates = coda.makeObjectSchema({
properties: {
templateId: {type: coda.ValueType.String},
uri: {type: coda.ValueType.String},
name: {type: coda.ValueType.String},
shared: {type: coda.ValueType.String},
passwordProtected: {type: coda.ValueType.String},
description: {type: coda.ValueType.String},
created: {type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime},
lastModified: {type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime},
lastUsed: {type: coda.ValueType.String, codaType: coda.ValueHintType.DateTime},
owner: coda.makeObjectSchema({
properties: {
userName: {type: coda.ValueType.String},
userId: {type: coda.ValueType.String},
email: {type: coda.ValueType.String}
},
displayProperty: "userName”
}),
pageCount: {type: coda.ValueType.String},
folderId: {type: coda.ValueType.String},
folderName: {type: coda.ValueType.String},
folderIds: {type: coda.ValueType.Array, items: {type: coda.ValueType.String}},
autoMatch: {type: coda.ValueType.String},
autoMatchSpecifiedByUser: {type: coda.ValueType.String},
emailSubject: {type: coda.ValueType.String},
emailBlurb: {type: coda.ValueType.String},
signingLocation: {type: coda.ValueType.String},
authoritativeCopy: {type: coda.ValueType.String},
enforceSignerVisibility: {type: coda.ValueType.String},
enableWetSign: {type: coda.ValueType.String},
allowMarkup: {type: coda.ValueType.String},
allowReassign: {type: coda.ValueType.String},
disableResponsiveDocument: {type: coda.ValueType.String},
anySigner: {type: coda.ValueType.String},
envelopeLocation: {type: coda.ValueType.String},
},
displayProperty: "name",
idProperty: "templateId",
featuredProperties: ["templateId", "uri", "name", "shared", "passwordProtected", "description", "created", "lastModified", "lastUsed", "owner", "pageCount", "folderId", "folderName", "folderIds", "autoMatch", "autoMatchSpecifiedByUser", "emailSubject", "emailBlurb", "signingLocation", "authoritativeCopy", "enforceSignerVisibility", "enableWetSign", "allowMarkup", "allowReassign", "disableResponsiveDocument", "anySigner", "envelopeLocation"]
})