Files
cozsweet-frontend-nextjs/docs/external-entry.md
T

3.6 KiB
Raw Blame History

外部应用入口

外部应用统一通过 /external-entry 进入本应用。当前 APP HOST

环境 APP HOST
测试环境 frontend-test.banlv-ai.com
正式环境 cozsweet.com

普通模式和促销模式的可点击链接统一维护在 外部入口链接清单

入口会先保存传入的身份数据,再使用 replace 跳转到目标页面。身份参数和入口控制参数会从地址栏中移除。

如果进入时已经是 Email、Google 或 Facebook 正式登录用户,并且携带 PSID,入口会额外调用一次 Facebook Identity 绑定接口。普通启动、刷新、Guest 和未登录状态不会调用绑定接口,绑定失败也不会阻止目标页面跳转。

参数

参数 必填 可选值 说明
target chattipprivate-room 最终页面,缺失或无效时进入 chat
psid string Facebook Page-scoped User ID。
mode promotion 设置为 promotion 时尝试开启聊天促销模式。
promotion_type 促销模式必填 voiceimageprivate 指定促销锁消息类型。

对外接入应使用表格中的公开参数及规范写法,不兼容 camelCase、旧 Facebook 字段名、redirectnext 或其他目标别名。

普通入口

下述为链接格式。测试环境和正式环境的可点击链接见 外部入口链接清单

进入聊天:

https://<APP_HOST>/external-entry?target=chat&psid=<PSID>

进入打赏页面:

https://<APP_HOST>/external-entry?target=tip

入口会跳转到规范地址,并在页面内默认选择 Medium 档位:

https://<APP_HOST>/tip

进入私密空间:

https://<APP_HOST>/external-entry?target=private-room

咖啡打赏入口

打赏页同时展示三种咖啡档位,由用户进入页面后选择:

档位 展示名称 价格 后端套餐 planId
Small Velvet Espresso US$4.99 tip_coffee_usd_4_99
Medium(默认) Golden Reserve US$9.99 tip_coffee_usd_9_99
Large Imperial Grand Cru US$19.99 tip_coffee_usd_19_99

外部应用只需使用统一入口:

https://<APP_HOST>/external-entry?target=tip

咖啡档位不再由外部入口指定。用户选择后,前端会在登录、Stripe 和 Ezpay 回跳期间恢复当前档位。

实际创建订单时,前端通过 /api/payment/tip-plans 获取套餐,并只使用接口返回的对应 planId。最终支付金额以后端返回的套餐数据为准,若找不到对应套餐,页面会禁止下单,避免使用错误档位。

促销入口

促销模式只在 target=chat 时生效,并且 modepromotion_type 必须同时有效。所有有效组合及其测试、正式环境链接见 外部入口链接清单

进入聊天后,正常历史仍会加载,列表底部会额外展示一条对应类型的锁定促销消息。消息首次解锁使用前端生成的 clientLockId,真实内容、积分价格和后端 messageId 均由 /api/chat/unlock-private 返回。

促销入口只消费一次。普通刷新或主动离开聊天页后不会再次注入;登录或充值回跳会继续恢复当前解锁流程。

接入要求

  • 所有参数值必须使用 URL 编码。
  • 不要通过入口传递登录 token、Page Access Token 或 App Secret。
  • promotion_type 非法时按普通聊天入口处理,不展示促销消息。
  • 不支持任意 URL 跳转;无效 target 固定回退到聊天页。