广告代理线索跟踪后端模板
活动提案、预算计划和创意简报跟踪
一个生产就绪的广告代理线索跟踪器后端在 Back4app,具有账户、活动提案、预算计划、创意简报、状态历史和活动备注记录。包括ER图、数据字典、JSON模式、API沙箱和一个用于快速引导的AI代理提示。
关键要点
该模板为您提供一个广告代理机构潜在客户后端,包括帐户、CampaignPitch、预算计划、创意简报、状态历史和活动备注记录,以便运营负责人可以保持状态历史可审计。
- Pitch管道可见性 — 使用清晰的阶段值、所有者指针、下次审查日期和客户预算建模CampaignPitch条目。
- 预算控制 — 跟踪与帐户和CampaignPitch相关联的BudgetPlan行,包括货币、计划支出、已支出金额和批准状态。
- 创意简报历史 — 保持与每个CampaignPitch相关联的创意简报交付物、截止日期和备注。
- 可审计状态日志 — 使用 StatusHistory 和 ActivityNote 来记录是谁更改了提案以及记录了什么备忘。
- 跨平台代理后台 — 通过一个 REST 和 GraphQL API 为账户、CampaignPitch、预算计划和简报记录提供网络和移动工具。
理解广告代理领导跟踪后台
当广告代理团队增长时,共享收件箱的规模不再适用;您需要任务分配、权限以及每个人都信任的时间线。小的延迟会迅速累积。Back4app 为需要截止日期、文档和通讯的广告代理实践锚定账户、CampaignPitch、预算计划、CreativeBrief 和 StatusHistory,以便在一个有权限的工作区中进行管理。方案涵盖用户(用户名、电子邮件、密码、角色)、账户(账户名称、行业、所有者、状态)、CampaignPitch(活动名称、账户、阶段、客户预算、所有者、下次审查时间)、预算计划(账户、CampaignPitch、货币、计划支出、已花费、审批状态)、CreativeBrief(简报标题、CampaignPitch、简报所有者、交付物、截止日期、备注)、StatusHistory(CampaignPitch、被更改者、从阶段、到阶段、变更备注、变更时间)和 ActivityNote(CampaignPitch、作者、备注类型、正文、记录时间),内置身份验证和可审计跟踪。连接您首选的前端并更快发布。
最佳适用:
广告代理:后端快照
广告代理对象的共享语言——相同事物的相同名称——和底层架构同样重要。
中心保持 Account、CampaignPitch 和 BudgetPlan 的语言一致,因此产品、运营和工程在说“记录”时意味着同样的事情。
代理跟踪核心功能
此中心中的每个技术卡片都使用相同的代理后端架构,包括 Account、CampaignPitch、BudgetPlan、CreativeBrief、StatusHistory 和 ActivityNote。
账户接收和资格审核
账户存储 accountName、行业、所有者和状态。
活动建议书跟踪
CampaignPitch 将账户、campaignName、阶段、clientBudget、所有者和 nextReviewAt 关联在一起。
客户预算管理
BudgetPlan 记录每个 CampaignPitch 的 plannedSpend、spentToDate、货币和 approvalStatus。
创意简报日志
CreativeBrief 存储每个 CampaignPitch 的 briefTitle、可交付成果、dueDate 和备注。
可审计的状态历史
StatusHistory 和 ActivityNote 捕捉 fromStage、toStage、noteType、body、changedBy 和 loggedAt。
为什么使用 Back4app 构建您的广告代理商潜在客户跟踪后端?
Back4app 为您的团队提供了跟踪代理商潜在客户、预算批准和创意简报历史所需的部分,无需手动进行所有操作。
- •将潜在客户和提案记录集中在一个地方: Account 和 CampaignPitch 类保持客户 accountName、行业、阶段和所有者的关联。
- •始终可见的预算字段: BudgetPlan 行包含 plannedSpend、spentToDate、货币和 approvalStatus,允许账户潜在客户将范围与客户上限进行比较。
- •审计就绪的简报历史: CreativeBrief 和 StatusHistory 捕获每次交接的可交付物、备注、changeNote 值和 changedAt 时间戳。
构建一次代理工作流程,然后在网络、移动和管理工具中重复使用相同的后端合同。
核心优势
一个帮助您的运营团队保持活动、预算和简报一致的潜在客户追踪后端。
减少丢失的提案更新
Account 和 CampaignPitch 记录使所有者、阶段和 nextReviewAt 对整个团队可见。
在工作开始前进行预算检查
BudgetPlan 行提前显示 plannedSpend 和 spentToDate,以便账户经理能够在生产前发现差距。
您可以信任的修订历史
CreativeBrief 可交付物和 StatusHistory 时间戳为您提供客户变更的清晰顺序。
清洁的交接
账户所有者与简报所有者之间减少销售、策略和创意之间的混淆。
可查询的代理管道
将账户、活动提案、预算计划和活动备注记录存储在不同的类中,以便仪表板可以按阶段、货币或备注类型进行过滤。
快速的人工智能辅助设置
通过一个结构化的提示生成后端脚手架和集成指南。
机构技术栈
此广告代理客户跟踪后端模板包含所有内容。
账号到状态的实体关系图
广告代理商潜在客户追踪架构的实体关系模型。
覆盖账户、宣传、预算计划、简报日志和审计记录的架构。
查看图表源
erDiagram
User ||--o{ Account : "owner"
User ||--o{ CampaignPitch : "owner"
User ||--o{ CreativeBrief : "briefOwner"
User ||--o{ StatusHistory : "changedBy"
User ||--o{ ActivityNote : "author"
Account ||--o{ CampaignPitch : "account"
Account ||--o{ BudgetPlan : "account"
CampaignPitch ||--o{ BudgetPlan : "campaignPitch"
CampaignPitch ||--o{ CreativeBrief : "campaignPitch"
CampaignPitch ||--o{ StatusHistory : "campaignPitch"
CampaignPitch ||--o{ ActivityNote : "campaignPitch"
User {
String objectId PK
String username
String email
String password
String role
Date createdAt
Date updatedAt
}
Account {
String objectId PK
String accountName
String industry
String ownerId FK
String status
Date createdAt
Date updatedAt
}
CampaignPitch {
String objectId PK
String campaignName
String accountId FK
String stage
Number clientBudget
String ownerId FK
Date nextReviewAt
Date createdAt
Date updatedAt
}
BudgetPlan {
String objectId PK
String accountId FK
String campaignPitchId FK
String currency
Number plannedSpend
Number spentToDate
String approvalStatus
Date createdAt
Date updatedAt
}
CreativeBrief {
String objectId PK
String briefTitle
String campaignPitchId FK
String briefOwnerId FK
Array deliverables
Date dueDate
String notes
Date createdAt
Date updatedAt
}
StatusHistory {
String objectId PK
String campaignPitchId FK
String changedById FK
String fromStage
String toStage
String changeNote
Date changedAt
Date createdAt
Date updatedAt
}
ActivityNote {
String objectId PK
String campaignPitchId FK
String authorId FK
String noteType
String body
Date loggedAt
Date createdAt
Date updatedAt
}
代理商同步流程
进行身份验证、账户查找、宣传方案创建、预算计划审核和创意简报更新的典型运行流程。
查看图表源
sequenceDiagram
participant User
participant App as Advertising Agency Lead Tracker App
participant Back4app as Back4app Cloud
User->>App: Sign in with agency credentials
App->>Back4app: POST /login
Back4app-->>App: Session token
User->>App: Open account pipeline
App->>Back4app: GET /classes/Account?include=owner
Back4app-->>App: Account list with owners
User->>App: Create a campaign pitch
App->>Back4app: POST /classes/CampaignPitch
Back4app-->>App: CampaignPitch objectId
User->>App: Add a creative brief and budget plan
App->>Back4app: POST /classes/CreativeBrief
App->>Back4app: POST /classes/BudgetPlan
Back4app-->>App: Brief and budget saved
User->>App: Record a status change
App->>Back4app: POST /classes/StatusHistory
Back4app-->>App: StatusHistory saved
App->>Back4app: Subscribe to live CampaignPitch updates
Back4app-->>App: Real-time pitch stage changes机构实用指南
机构领导模式中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role for agency workflow access | |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
7 字段在 User 中
机构记录的访问规则
ACL 和 CLP 策略如何保护账户、提案、预算计划、简要日志和审计历史。
账户拥有规则
只有指定的团队成员或管理员可以更新账户状态和行业字段。
提案和预算限制
限制CampaignPitch和BudgetPlan的写入权限,仅限具有代理访问权限的经过身份验证的用户;在Cloud Code中验证owner、briefOwner和spentToDate。
审计日志完整性
StatusHistory和ActivityNote条目应为追加式,以便简报、预算和提案的变更历史保持可信。
JSON模式
准备复制到Back4app或用作实现参考的原始JSON模式定义。
{
"classes": [
{
"className": "User",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"username": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"password": {
"type": "String",
"required": true
},
"role": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Account",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"accountName": {
"type": "String",
"required": true
},
"industry": {
"type": "String",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"status": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CampaignPitch",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"campaignName": {
"type": "String",
"required": true
},
"account": {
"type": "Pointer",
"required": true,
"targetClass": "Account"
},
"stage": {
"type": "String",
"required": true
},
"clientBudget": {
"type": "Number",
"required": true
},
"owner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"nextReviewAt": {
"type": "Date",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "BudgetPlan",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"account": {
"type": "Pointer",
"required": true,
"targetClass": "Account"
},
"campaignPitch": {
"type": "Pointer",
"required": true,
"targetClass": "CampaignPitch"
},
"currency": {
"type": "String",
"required": true
},
"plannedSpend": {
"type": "Number",
"required": true
},
"spentToDate": {
"type": "Number",
"required": true
},
"approvalStatus": {
"type": "String",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CreativeBrief",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"briefTitle": {
"type": "String",
"required": true
},
"campaignPitch": {
"type": "Pointer",
"required": true,
"targetClass": "CampaignPitch"
},
"briefOwner": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"deliverables": {
"type": "Array",
"required": true
},
"dueDate": {
"type": "Date",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "StatusHistory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"campaignPitch": {
"type": "Pointer",
"required": true,
"targetClass": "CampaignPitch"
},
"changedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"fromStage": {
"type": "String",
"required": true
},
"toStage": {
"type": "String",
"required": true
},
"changeNote": {
"type": "String",
"required": false
},
"changedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ActivityNote",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"campaignPitch": {
"type": "Pointer",
"required": true,
"targetClass": "CampaignPitch"
},
"author": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"noteType": {
"type": "String",
"required": true
},
"body": {
"type": "String",
"required": true
},
"loggedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}与AI代理一起构建
使用 Back4app AI Agent 从此模板生成一个真实的广告代理商潜在客户跟踪应用,包括前端、后端、身份验证,以及帐户、CampaignPitch、BudgetPlan 和简报工作流。
在 Back4app 上创建一个广告代理商潜在客户跟踪应用后端,使用这个精确的架构和行为。 架构: 1. 用户(使用 Back4app 内置):用户名、电子邮件、密码、角色;objectId,createdAt,updatedAt(系统)。 2. 帐户:accountName(字符串,必填)、industry(字符串,必填)、owner(指向用户的指针,必填)、status(字符串,必填);objectId,createdAt,updatedAt(系统)。 3. CampaignPitch:campaignName(字符串,必填)、account(指向帐户的指针,必填)、stage(字符串,必填)、clientBudget(数字,必填)、owner(指向用户的指针,必填)、nextReviewAt(日期,选填);objectId,createdAt,updatedAt(系统)。 4. BudgetPlan:account(指向帐户的指针,必填)、campaignPitch(指向CampaignPitch的指针,必填)、currency(字符串,必填)、plannedSpend(数字,必填)、spentToDate(数字,必填)、approvalStatus(字符串,必填);objectId,createdAt,updatedAt(系统)。 5. CreativeBrief:briefTitle(字符串,必填)、campaignPitch(指向CampaignPitch的指针,必填)、briefOwner(指向用户的指针,必填)、deliverables(数组<string>,必填)、dueDate(日期,必填)、notes(字符串,选填);objectId,createdAt,updatedAt(系统)。 6. StatusHistory:campaignPitch(指向CampaignPitch的指针,必填)、changedBy(指向用户的指针,必填)、fromStage(字符串,必填)、toStage(字符串,必填)、changeNote(字符串,选填)、changedAt(日期,必填);objectId,createdAt,updatedAt(系统)。 7. ActivityNote:campaignPitch(指向CampaignPitch的指针,必填)、author(指向用户的指针,必填)、noteType(字符串,必填)、body(字符串,必填)、loggedAt(日期,必填);objectId,createdAt,updatedAt(系统)。 安全性: - 将帐户、CampaignPitch、BudgetPlan、CreativeBrief、StatusHistory 和 ActivityNote 的更改限制为经过身份验证的代理用户。保持 StatusHistory 为追加式,并在 Cloud Code 中验证所有权。 身份验证: - 注册、登录、登出。 行为: - 列出帐户,创建 CampaignPitch 记录,更新 BudgetPlan 总额,记录 CreativeBrief 修订,并为每一项重大更改编写审计日志。 交付: - Back4app 应用程序,包含架构、ACL、CLP;用于帐户、提案、预算、简报日志和审计历史记录的前端。
按下面的按钮打开带有该模板提示预填充的代理。
这是没有技术后缀的基本提示。您可以随后调整生成的前端堆栈。
API沙盒
根据代理商线索模式尝试REST和GraphQL端点。响应使用虚拟数据,无需Back4app帐户。
使用与此模板相同的架构。
选择你的技术栈
展开每个卡片以了解如何将账户、CampaignPitch 和 BudgetPlan 集成到您选择的技术栈中。
Flutter 广告代理商潜在客户跟踪后台
React 广告代理商潜在客户跟踪后台
React 原生 广告代理商潜在客户跟踪后台
Next.js 广告代理商潜在客户跟踪后台
JavaScript 广告代理商潜在客户跟踪后台
Android 广告代理商潜在客户跟踪后台
iOS 广告代理商潜在客户跟踪后台
Vue 广告代理商潜在客户跟踪后台
Angular 广告代理商潜在客户跟踪后台
GraphQL 广告代理商潜在客户跟踪后台
REST API 广告代理商潜在客户跟踪后台
PHP 广告代理商潜在客户跟踪后台
.NET 广告代理商潜在客户跟踪后台
您将获得每项技术的内容
每个技术栈使用相同的代理后端架构和 API 合同。
统一的代理管道数据
使用一个架构管理账户、CampaignPitch、BudgetPlan 和 CreativeBrief 记录。
审计友好的状态历史
通过追加日志跟踪提案、预算和简报记录的变化。
客户工作预算可见性
为账户和运营团队保持 plannedSpend 和 spentToDate 可用。
为代理用户提供基于角色的访问权限
为账户负责人、创意人员和运营人员定义权限。
REST/GraphQL APIs 用于代理工具
为仪表盘、移动应用和自动化脚本提供灵活的 API。
代理堆栈比较
比较所有支持的技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 代理工作流收益 | SDK类型 | AI支持 |
|---|---|---|---|---|
| 约5分钟 | 用于移动和网络的代理领导跟踪的单一代码库。 | 输入的SDK | 完整 | |
| 少于5分钟 | 用于潜在客户、提案和预算审查的快速网络仪表板。 | 输入的SDK | 完整 | |
| 约3-7分钟 | 跨平台移动应用程序,供账户团队使用。 | 输入的SDK | 完整 | |
| 快速设置(5分钟) | 面向代理商负责人的服务器渲染操作仪表板。 | 输入的SDK | 完整 | |
| 约3-5分钟 | 轻量级网络集成用于代理操作。 | 输入的SDK | 完整 | |
| 约 5 分钟 | Android 原生应用程序供事务经理随时使用。 | 类型化 SDK | 完整 | |
| 不到 5 分钟 | iOS 原生应用程序用于代理审查和审批。 | 类型化 SDK | 完整 | |
| 约 3-7 分钟 | React 可视化的网络用户界面以便于管道可见性。 | 类型化 SDK | 完整 | |
| 快速(5分钟)设置 | 用于机构操作的企业仪表盘。 | 输入的SDK | 完整 | |
| 不到2分钟 | 灵活的GraphQL API用于账户和简报数据。 | GraphQL API | 完整 | |
| 快速(2分钟)设置 | REST API与机构工具的集成。 | REST API | 完整 | |
| ~3分钟 | 服务器端 PHP 后端用于操作工作流。 | REST API | 完整 | |
| ~3–7分钟 | .NET 后端用于代理商潜在客户自动化。 | 类型化SDK | 完整 |
设置时间反映从项目启动到使用此模板架构进行首次账户或演示查询的预期持续时间。
机构问题
关于使用此模板构建广告代理商线索跟踪后台的常见问题。