指南

如何构建客户门户:文件、进度、发票与权限

客户门户是一个私密区域,每位客户在这里登录,查看项目进度、共享文件、未完成的请求和发票。要构建它,首先要明确客户在最初十秒内需要看到什么;然后对客户、项目和文件建模,使每条记录都属于某一位客户;在服务器端强制执行“客户只能看到自己的记录”;并将上传的文件保存在私有存储中。功能清单可以保持简短,真正重要的是把权限做对。

企业为什么要构建客户门户

门户通常用来取代大量的电子邮件往来、共享文件夹以及“进度怎么样了?”之类的消息。代理机构、会计师、顾问、建筑商、工作室以及各类服务型企业都在使用门户。一个好的门户应当:

  • 在客户提问之前就回答进度问题。
  • 将文件集中在一处,并让最新版本一目了然。
  • 为请求提供正式的归属,而不是散落在各处的邮件中。
  • 让你显得井井有条,这对客户留存和推荐非常重要。

如果你只有一两位客户,而且没有敏感信息,一个共享文档或文件夹可能就足够了。当你拥有大量客户、有重复性工作,或者需要防止客户看到彼此的信息时,构建门户才值得。

客户门户需要什么

部分客户看到的内容你看到的内容
登录他们自己的账户所有客户及其用户
概览当前进度、下一个里程碑、等待客户处理的事项每个项目的进度一目了然
文件与他们共享的文档和交付物;他们上传的文件所有文件,按客户和项目分类
请求用于提出请求的表单,以及过往请求的状态待分配和待回复的请求队列
消息或更新其项目更新的时间线同样的时间线,外加客户看不到的内部备注
发票他们欠款多少、已付多少,并带有付款链接跨客户的账单状态
审批批准设计、报价或交付物谁在何时批准了什么

先从登录、概览、文件和请求开始。当客户真正需要时,再添加发票、审批和消息功能。

数据

一个典型的门户包含:客户(公司)、客户用户(登录的人,各自隶属于一个客户)、你的团队成员、项目(隶属于一个客户)、里程碑或进度更新、文件(隶属于一个项目)、请求,以及可选的发票。关键的设计原则是:每条记录都应能追溯到恰好一个客户。这样权限就容易落实,也容易检查。

权限

把这些规则写下来并进行测试:

  • 客户用户只能看到属于其所在客户的项目、文件、请求和发票。
  • 内部备注绝不向客户显示。
  • 团队成员只能看到分配给自己的客户;如果你的团队很小,也可以看到全部客户。
  • 文件链接是私有的且有时效限制,而不是任何人都能分享或猜到的公开 URL。
  • 移除某位客户用户后,其访问权限立即失效。

这些检查必须在服务器端进行。如果门户在浏览器中加载所有客户的数据,再在前端过滤,那它就不是私密的。

决定与权衡

登录方式

客户很少登录,因此经常忘记密码。对于门户而言,魔法链接(通过邮件发送的登录链接)或使用客户已有账户的单点登录,通常比密码更好用。无论选择哪种,都应由你这边邀请客户,而不是让任何人自行注册。我们关于为应用添加登录的指南对比了各种选项。

一个门户还是每个客户一个门户

一个带有客户列表的应用,比为每位客户单独搭建网站更容易维护。在同一个应用中,你仍然可以为每位客户提供带有其品牌特色的体验,例如他们的标志和项目名称。

文件

使用正规的文件存储,而不是把上传的文件保存在服务器自身的磁盘上;设置最大文件大小;如果可以,限制文件类型;并且只向通过权限检查的用户提供文件。还要决定版本如何管理:覆盖,还是保留历史。

发票与付款

你可以展示来自会计工具的发票,可以在门户中生成简单的发票,也可以链接到托管的付款页面。构建完整的开票系统本身就是一个独立的项目,参见如何构建开票应用。对于门户来说,展示发票状态并提供指向托管结账页面的“立即付款”链接,通常就已足够。

集成

许多门户会从你已在使用的工具中获取进度信息,例如项目跟踪器、CRM 或会计软件,从而避免你在两个地方更新数据。集成能节省时间,但也会增加设置和维护的工作。如果你的团队已经在使用 CRM,可以考虑将门户构建在同一份数据之上。

给 AI 构建器的第一条提示

为 Northlight(一家小型网页设计代理机构)构建一个客户门户。客户是公司;每家公司有一个或多个登录的客户用户。客户用户只能看到自己公司的项目。对于每个项目:当前状态(发现、设计、开发、审阅、上线)、带日期的下一个里程碑、双方都可以上传和下载的文件区(PDF、图片、ZIP,最大 50 MB)、带有标题、详情和优先级的请求表单,以及其过往请求及状态的列表,还有一条更新时间线。代理机构员工拥有一个管理区,可以查看所有客户,修改项目状态,发布更新,添加客户永远看不到的内部备注,并回复请求。所有访问规则都必须在服务器端强制执行。数据保存在数据库中,文件保存在私有文件存储中,并使用有时效的下载链接。目前使用占位登录,我们之后再添加真正的认证。设计清爽、专业,并在手机上表现良好。

按步骤构建:先做数据和管理端,再做客户端视图,然后是真正的登录,接着是文件,最后是其他附加功能。如何为 AI 应用构建器编写提示词提供了更多模式。

构建步骤

  1. 先列出客户需要看到什么,以及他们目前总是通过邮件问你什么。
  2. 设计数据,确保每条记录都属于某一位客户。
  3. 构建管理端视图,并录入一位真实客户的数据。
  4. 为该客户构建客户端视图。
  5. 添加真正的登录,由你这边发出邀请。
  6. 添加文件功能,将文件保存在私有存储中,并在下载时进行权限检查。
  7. 测试权限:创建两个测试客户,并尝试所有能看到对方数据的方式,例如修改 URL 中的 ID、猜测文件链接、使用过期的邀请。
  8. 添加请求和邮件通知。
  9. 与一两位友好的客户试点,并询问他们仍然在通过邮件问你什么。
  10. 根据反馈添加发票、审批或集成。

常见错误

  • 在浏览器中而不是服务器上过滤数据。 这是门户最严重的漏洞:每位客户的数据都被下载下来了,只是被隐藏了。
  • 公开的文件 URL。 任何人都能打开的共享链接会让门户失去意义。
  • 开放注册。 客户应当被邀请,而不是能够自行创建账户并选择公司。
  • 上线时功能过多。 客户看不懂的门户会被忽视,人们仍然会回到邮件。
  • 两个数据源。 如果进度既保存在你的项目工具中,又保存在门户中,其中一个必然会过时。选择一个,或者让它们同步。
  • 忘记离职流程。 当客户的员工离职时,其访问权限必须随之终止。
  • 在没有适当保护的情况下存储受监管数据。 健康、法律或财务记录可能有你必须满足的法律要求。

成本与工具

持续的运行成本包括托管、数据库、文件存储(会随你共享的文件增长而增加),以及用于发送邀请和通知的邮件服务商。如果你使用托管的登录服务或付款服务商,请到其官网查看当前的价格。与按席位收费的门户软件相比,你自建门户的成本会随使用量增长,而不是随客户数量增长。

何时现成的产品更好

当你所在的行业有特定要求时,例如具有法律效力的电子签名、受监管的记录保存、税务文件交换,或者你现有的工具已经包含门户功能,那么客户门户软件,以及会计、法律或事务管理工具内置的门户功能,可能是更好的选择。这些产品已经处理了合规和支持问题。当你的工作流程不适合通用门户、你希望门户与你的品牌和流程完全契合,或者按客户或按席位收费已经不再适合你时,就自己构建。

使用 Mythex 构建

Mythex 可以根据上面的提示词构建这个门户:客户视图、管理视图、请求和时间线,并在应用需要时添加专用的 Postgres 数据库和文件存储。客户登录由你自行提供:Mythex 账户是为构建应用的人准备的,而你可以为客户选择一种由代理接入的认证方式。Mythex 没有内置的电子签名或开票产品,因此这些都需要通过集成或你自己构建的功能来实现。任何 API 密钥请使用项目密钥保存,并在正式发布前使用应用内测试器点击浏览客户和管理端的流程。

文档中有客户门户用例,并介绍了文件存储和添加登录。如需提示词起点,可以试试代理机构客户门户模板,或浏览应用模板。在邀请真实客户之前,请先按照我们的AI 构建应用安全检查清单走一遍。

常见问题

什么是客户门户?

客户门户是一个私密的、需要登录的区域,企业的客户可以在其中查看自己工作的进度、交换文件、提出请求并查看发票,而无需全部通过电子邮件进行。每位客户只能看到自己的信息。

客户门户应该具备哪些功能?

从安全登录、每个项目的进度概览、文件区和发送请求或消息的方式开始。发票、审批、电子签名和日程安排可以在客户真正需要时再添加。

自己构建客户门户安全吗?

只要你在服务器端强制执行“每位客户只能看到自己的记录和文件”,使用可靠的登录,将文件保存在私有存储中,并通过尝试打开其他客户的数据来测试,就是安全的。健康记录等受监管的信息需要额外的保护,可能更适合使用专业化的产品。

我可以不写代码就构建客户门户吗?

可以。AI 应用构建器和无代码工具可以根据描述构建客户门户。但你仍需精确地定义谁能看到什么,并在邀请真实客户之前仔细测试这些规则。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)