物流经纪人 CRM 后端模板
运输公司评估、货物可见性和经纪人佣金
一个在 Back4app 上的生产就绪的 物流经纪人 CRM 后端,具有 用户、运输公司、货物、评估检查、追踪事件 和 佣金条目。用它来评估运输公司,分配货物,发布追踪更新,并从一个后端记录佣金。
经纪人办公桌要点
该模板为您提供了一个具有承运人审查、负载跟踪和佣金计算的物流经纪人CRM后端,以便您的团队可以从第一次电话到支付运行管道。
- 承运人审查工作流程 — 建模承运人和审查检查,以便协调员可以批准具有文档记录和状态的承运人。
- 实时负载跟踪 — 随着来自现场的发货更新,跟踪负载和跟踪事件条目。
- 佣金计算 — 存储与负载记录相关联的佣金条目行,以便经纪费用和付款更易于核对。
- 角色感知操作 — 使用 ACL 和 CLP 规则为用户角色,如经纪人、协调员和管理员。
- 一个用于网页和移动设备的后端 — 通过相同的 REST 和 GraphQL API 服务 React、Flutter、Next.js 和原生应用程序。
理解物流经纪人 CRM 后端
在物流经纪人 CRM 中,截止日期很少是可选的;结构化记录层将日期转化为警报,而不是惊喜。解决方案是操作性的,而不是激励性的。通过 Back4app 上的 Carrier、Load、VettingCheck、TrackingEvent 和 CommissionEntry,物流经纪人 CRM 团队可以在协作同一案例记录的同时,强制执行职务分离。该架构涵盖用户(用户名、电子邮件、角色、显示名称)、承运人(承运人名称、mc编号、dot编号、状态、保险到期、分配给)、负载(负载编号、取货城市、交付城市、状态、承运人、经纪人、费率)、审查(承运人、检查者、检查类型、结果、备注、检查时间)、追踪事件(负载、位置文本、状态、报告者、事件时间)和佣金条目(负载、经纪人、佣金费率、佣金金额、计算时间),并内置身份验证和工作流控制。连接您喜欢的前端,并从一个后端管理管道。
最佳适用对象:
物流经纪人 CRM:后端快照
培训在物流经纪人 CRM 中有帮助,但无法弥补跨三个工具和四个命名约定的数据分割。
使用此概述查看承运商、负载和审核检查如何结合在一起,在您将工程时间投入特定客户框架之前。
经纪人操作功能
此中心中的每个技术卡片都使用相同的物流模式,包括 User、Carrier、Load、VettingCheck、TrackingEvent 和 CommissionEntry。
承运人审查记录
承运人和VettingCheck存储mcNumber、状态、备注和checkedAt。
装载跟踪时间线
装载和TrackingEvent捕获pickupCity、deliveryCity、状态和eventTime。
佣金计算
CommissionEntry 将载荷与经纪人、佣金率、佣金金额和计算时间相连接。
经纪人工作流程控制
用户角色将经纪人、协调员和管理员分开。
为什么要使用Back4app构建您的物流经纪人CRM后台?
Back4app为物流团队提供了清晰的承运人筛选、货物可见性和佣金追踪路径,因此后台可以专注于货运操作而不是服务器维护。
- •承运人和货物工作流程在一个模型中: 承运人、货物和审核检查类将审核决策与其影响的货物紧密联系。
- •佣金计算保持可追溯: 每个货物链接的CommissionEntry行使得付款审核和争议检查更容易。
- •实时在调度需要的地方: Live Queries可以在REST和GraphQL仍然为经纪人和分析师服务的同时推送TrackingEvent更改。
从一个后台合同中运行承运人筛选、货物状态和佣金对账,适用于每个客户。
经纪人桌面优势
一个物流经纪人 CRM 后端,帮助您的团队更快工作,而不会失去对承运人、载荷或佣金数据的控制。
清洁的承运人筛查
将承运人和审查检查的详细信息存储在一个地方,以便审查备注易于查看。
发货时减少摩擦
使用装载和追踪事件更新向经纪人和客户展示货物进度。
佣金审核更简单
将每个佣金条目行链接到一个装载和经纪人用户,以便进行付款对账。
基于角色的团队访问
应用ACL和CLP规则,以便只有正确的用户角色可以编辑审查或付款字段。
跨渠道的共享模型
相同的架构支持网页仪表板、移动调度工具和后台报告。
更快地启动运营工具
使用AI代理提示来引导货运CRM,而无需从头开始草拟架构。
准备好启动您的物流经纪人CRM了吗?
让Back4app AI代理搭建您的物流经纪人CRM后台,并从一个提示中生成承运人审查、货物追踪和佣金处理。
免费开始——每月50个AI代理提示,无需信用卡
经纪人技术栈
此物流经纪人CRM后端模板中包含的所有内容。
承运人到负载的ER图
用于物流经纪人CRM后端架构的实体关系模型。
覆盖经纪人用户、承运人、负载、审查检查、跟踪事件和佣金的架构。
查看图表源
erDiagram
User ||--o{ Carrier : "assignedTo"
User ||--o{ Load : "broker"
User ||--o{ CommissionEntry : "broker"
User ||--o{ VettingCheck : "checkedBy"
User ||--o{ TrackingEvent : "reportedBy"
Carrier ||--o{ Load : "carrier"
Carrier ||--o{ VettingCheck : "carrier"
Load ||--o{ CommissionEntry : "load"
Load ||--o{ TrackingEvent : "load"
User {
String objectId PK
String username
String email
String password
String role
String displayName
Date createdAt
Date updatedAt
}
Carrier {
String objectId PK
String carrierName
String mcNumber
String dotNumber
String status
Date insuranceExpiration
String assignedToId FK
Date createdAt
Date updatedAt
}
Load {
String objectId PK
String loadNumber
String pickupCity
String deliveryCity
String status
String carrierId FK
String brokerId FK
Number rate
Date createdAt
Date updatedAt
}
CommissionEntry {
String objectId PK
String loadId FK
String brokerId FK
Number commissionRate
Number commissionAmount
Date calculatedAt
Date createdAt
Date updatedAt
}
VettingCheck {
String objectId PK
String carrierId FK
String checkedById FK
String checkType
String result
String notes
Date checkedAt
Date createdAt
Date updatedAt
}
TrackingEvent {
String objectId PK
String loadId FK
String locationText
String status
String reportedById FK
Date eventTime
Date createdAt
Date updatedAt
}
经纪人桌面集成流程
认证、承运人审核、装载跟踪和佣金审查的典型运行流程。
查看图表源
sequenceDiagram
participant User
participant CRM as Logistics Broker CRM App
participant Back4app as Back4app Cloud
User->>CRM: Sign in to broker desk
CRM->>Back4app: POST /login
Back4app-->>CRM: Session token
User->>CRM: Review carrier vetting queue
CRM->>Back4app: GET /classes/Carrier?order=-updatedAt
Back4app-->>CRM: Carrier list with status and mcNumber
User->>CRM: Open a load and assign carrier
CRM->>Back4app: PUT /classes/Load/{objectId}
Back4app-->>CRM: Updated load with carrier pointer
User->>CRM: Record tracking event
CRM->>Back4app: POST /classes/TrackingEvent
Back4app-->>CRM: TrackingEvent objectId
User->>CRM: Save commission calculation
CRM->>Back4app: POST /classes/CommissionEntry
Back4app-->>CRM: CommissionEntry objectId经纪人实地指南
物流经纪人CRM架构中每个类的完整字段级参考。
| 字段 | 类型 | 描述 | 必填 |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | 自动 |
| username | String | User login name | |
| String | User email address | ||
| password | String | Hashed password (write-only) | |
| role | String | Role of the user (e.g., broker, coordinator, admin) | |
| displayName | String | Public name used in the broker desk | — |
| createdAt | Date | Auto-generated creation timestamp | 自动 |
| updatedAt | Date | Auto-generated last-update timestamp | 自动 |
8 字段在 User 中
经纪人数据的访问规则
ACL 和 CLP 策略如何保护用户、承运人、货物、审查检查、跟踪事件和佣金记录。
经纪人拥有的访问规则
用户资料只能由经过身份验证的用户编辑,而管理员角色可以管理团队访问。
承运人审查控制
只有授权人员可以创建或更改承运人审查数据和审查检查结果。
加载和委托边界
限制加载更新和委托条目更改到指定角色,然后在云代码中验证支付编辑。
JSON Schema
原始 JSON 模式定义,准备复制到 Back4app 或用作实施参考。
{
"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
},
"displayName": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Carrier",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"carrierName": {
"type": "String",
"required": true
},
"mcNumber": {
"type": "String",
"required": true
},
"dotNumber": {
"type": "String",
"required": false
},
"status": {
"type": "String",
"required": true
},
"insuranceExpiration": {
"type": "Date",
"required": false
},
"assignedTo": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Load",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"loadNumber": {
"type": "String",
"required": true
},
"pickupCity": {
"type": "String",
"required": true
},
"deliveryCity": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"carrier": {
"type": "Pointer",
"required": false,
"targetClass": "Carrier"
},
"broker": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"rate": {
"type": "Number",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "CommissionEntry",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"load": {
"type": "Pointer",
"required": true,
"targetClass": "Load"
},
"broker": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"commissionRate": {
"type": "Number",
"required": true
},
"commissionAmount": {
"type": "Number",
"required": true
},
"calculatedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "VettingCheck",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"carrier": {
"type": "Pointer",
"required": true,
"targetClass": "Carrier"
},
"checkedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"checkType": {
"type": "String",
"required": true
},
"result": {
"type": "String",
"required": true
},
"notes": {
"type": "String",
"required": false
},
"checkedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "TrackingEvent",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"load": {
"type": "Pointer",
"required": true,
"targetClass": "Load"
},
"locationText": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"reportedBy": {
"type": "Pointer",
"required": true,
"targetClass": "User"
},
"eventTime": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}AI 代理生成提示
使用 Back4app AI 代理从此模板生成一个真实的物流经纪人 CRM 应用,包括前端、后端、身份验证以及承运人、加载和佣金流程。
在 Back4app 上创建一个物流经纪人 CRM 应用后端,使用以下确切的架构和行为。 架构: 1. 用户(使用 Back4app 内置身份验证):用户名,电子邮件,密码,角色,显示名称;objectId,createdAt,updatedAt(系统)。 2. 承运人:carrierName(字符串,必需),mcNumber(字符串,必需),dotNumber(字符串,可选),状态(字符串,必需),保险到期(日期,可选),分配给(指向用户的指针,必需);objectId,createdAt,updatedAt(系统)。 3. 货物:loadNumber(字符串,必需),pickupCity(字符串,必需),deliveryCity(字符串,必需),状态(字符串,必需),承运人(指向承运人的指针,可选),经纪人(指向用户的指针,必需),费率(数字,必需);objectId,createdAt,updatedAt(系统)。 4. 佣金条目:load(指向货物的指针,必需),经纪人(指向用户的指针,必需),佣金率(数字,必需),佣金金额(数字,必需),计算于(日期,必需);objectId,createdAt,updatedAt(系统)。 5. 验证检查:承运人(指向承运人的指针,必需),检查人(指向用户的指针,必需),检查类型(字符串,必需),结果(字符串,必需),备注(字符串,可选),检查时间(日期,必需);objectId,createdAt,updatedAt(系统)。 6. 跟踪事件:load(指向货物的指针,必需),位置文本(字符串,必需),状态(字符串,必需),报告人(指向用户的指针,必需),事件时间(日期,必需);objectId,createdAt,updatedAt(系统)。 安全: - 经纪人和协调员可以创建和更新分配给他们的桌面的承运人、货物、验证检查、跟踪事件和佣金条目。 - 承运人验证编辑应仅限于管理员和分配的工作人员。 - 货物仅接受引用已批准承运人记录的承运人指针。 - 佣金条目应仅由经过身份验证的经纪人工作人员可写,并且佣金金额应基于货物费率和佣金率。 身份验证: - 注册,登录,注销。 行为: - 按 mcNumber、dotNumber、状态和保险到期验证承运人。 - 预订货物,附加承运人,发布跟踪事件,并根据货物费率计算佣金。 - 在仪表板上显示最近的跟踪事件和验证检查记录。 交付: - Back4app 应用程序,包含架构、CLP、ACL、示例数据,以及面向经纪人的前端,用于承运人验证、货物跟踪和佣金计算。
按下下面的按钮以使用预填充此模板提示的代理。
这是没有技术后缀的基础提示。您可以在之后调整生成的前端堆栈。
经纪人 API 沙盒
尝试针对物流经纪人 CRM 架构的 REST 和 GraphQL 端点。响应使用模拟数据,无需 Back4app 账户。
使用与此模板相同的架构。
选择您的技术栈
展开每个卡片以查看如何将Carrier、Load和VettingCheck与您选择的技术栈集成。
Flutter 物流经纪人 CRM 后端
React 物流经纪人 CRM 后端
React 原生 物流经纪人 CRM 后端
Next.js 物流经纪人 CRM 后端
JavaScript 物流经纪人 CRM 后端
Android 物流经纪人 CRM 后端
iOS 物流经纪人 CRM 后端
Vue 物流经纪人 CRM 后端
Angular 物流经纪人 CRM 后端
GraphQL 物流经纪人 CRM 后端
REST API 物流经纪人 CRM 后端
PHP 物流经纪人 CRM 后端
.NET 物流经纪人 CRM 后端
每项技术所获得的
每个技术栈使用相同的物流经纪CRM后台架构和API合同。
统一的货运工作流程结构
使用一致的架构管理承运商、货物、审核检查和佣金。
运营团队的承运商审核
存储每个承运商的审核状态、保险详情和审查者备注。
经纪人和客户的货物追踪
跟踪每个装载情况的事件更新,调度员和客户代表可以阅读。
佣金可见性以便审查支付
将每个CommissionEntry与装载和中介用户关联,以便更容易确认结算。
REST/GraphQL API 为物流客户提供服务
将仪表板、移动工具和报告系统与一个后端连接。
可扩展的工作流程架构
稍后添加费率、文件或索赔,而无需重建核心CRM模型。
客户门户框架比较
比较所有支持技术的设置速度、SDK 风格和 AI 支持。
| 框架 | 设置时间 | 物流经纪人 CRM 优势 | SDK 类型 | AI 支持 |
|---|---|---|---|---|
| 约 5 分钟 | 用于移动和网络的经纪人CRM单一代码库。 | 类型化 SDK | 完整 | |
| 少于5分钟 | 用于承运人审查和货物的快速Web仪表板。 | 类型化SDK | 完整 | |
| 约3–7分钟 | 用于调度和佣金的跨平台移动应用。 | 类型化SDK | 完整 | |
| 快速(5分钟)设置 | 用于运营团队的服务器渲染经纪人工作区。 | 类型化SDK | 完整 | |
| ~3–5分钟 | 轻量级物流CRM网页集成。 | 已输入的SDK | 完整 | |
| 大约5分钟 | 用于现场调度和审核的Android本机应用。 | 已输入的SDK | 完整 | |
| 少于5分钟 | 适用于活动经纪人的iOS本机应用。 | 已输入的SDK | 完整 | |
| ~3–7分钟 | React提供承运人和货物视图的网络用户界面。 | 输入的SDK | 完整 | |
| 快速(5分钟)设置 | 面向经纪人操作的企业网络应用。 | 输入的SDK | 完整 | |
| 不到2分钟 | 为经纪人CRM仪表板提供灵活的GraphQL API。 | GraphQL API | 完整 | |
| 快速(2分钟)设置 | REST API 集成用于承运人审核和跟踪。 | REST API | 完整 | |
| ~3分钟 | 服务器端 PHP 后端用于货运操作。 | REST API | 完整 | |
| ~3–7分钟 | .NET 后端用于经纪人 CRM 服务。 | 类型化 SDK | 完整 |
设置时间反映了从项目引导到首次载体、加载或使用此模板模式的委托查询的预期持续时间。
经纪人 CRM 问题
关于使用此模板构建物流经纪人 CRM 后端的常见问题。