SuperAPI AI 工具集

service-de-channel-activate

办公与效率

查看项目

更新于 10-14 20:49

技能介绍

用途

该技能用于激活一个增强型 MessagingChannel(消息渠道),支持 WhatsApp、Apple、Facebook、SMS、RCS 等类型。激活方式是通过 REST PATCH 将 MessagingChannelUsage.DeploymentStatus 从 Disabled 改为 Provisioning,随后由服务端保存钩子链完成实际开通流程。

主要能力

  • 前置检查:读取 MessagingChannel 及其 MessagingChannelUsage(MCU)记录,判断渠道是否存在、是否已激活、路由是否配置、MCU 是否存在。
  • 触发激活:对 MessagingChannelUsage 发起 PATCH,将 DeploymentStatus 设为 Provisioning。
  • 服务端链式处理:保存前校验(validateDeploymentStatus → validateChannelReadinessOnProvisioning),保存后钩子注册提交后观察者,观察者按 MessageType 分派外部调用(WhatsApp 调用 Meta /register 并验证状态;Facebook 订阅页面;SMS 注册;Apple/Line 等走默认分支无外部调用),成功后写入 Active,失败写入 Error 及 ErrorReason/ErrorDetails,并同步 MessagingChannel.IsActive。
  • 终态读取与校验:读取 MCU 终态,必要时进入 WhatsApp 手机号 OTP 验证子流程,或进行防御性轮询,最后确认 MessagingChannel.IsActive。
  • 结构化输出:返回包含 ok、channelId、mcuId、deploymentStatus、isActive、messageType、durationMs 等字段的 JSON 结果,并区分 noop、no-routing、no-mcu、channel-missing、readiness-failed、provisioning-error、verification-failed、auth、transport 等失败类型。

使用方式

调用方需提供 {CHANNEL_ID}(15 或 18 位 MessagingChannel.Id,前缀 0Mj,且渠道须已有非空 SessionHandlerId 或 FallbackQueueId)。可选提供 {ORG_ALIAS}(sf CLI 目标组织别名,默认取 sf config get target-org)和 {API_VERSION}(REST API 版本,默认 68.0)。

技能通过 sf CLI 执行 SOQL 查询和 sf api request rest 发起 PATCH,认证保持在 CLI 传输层内。PATCH 请求体为 {"DeploymentStatus":"Provisioning"},使用 --include 读取 HTTP 状态码进行分类处理。

适用场景

  • 需要激活已创建且已配置路由的增强型消息渠道。
  • 渠道已存在但尚未激活,且 MCU 记录已存在。
  • 需要以同步方式完成激活并获取终态结果。

限制

  • 渠道已 IsActive=true 时不应使用,重复触发会被 API 转换校验器阻止并返回 400。
  • 路由未配置时不应使用,需先运行 service-de-channel-routing-configure。
  • MCU 不存在时无法 PATCH,需先运行插入技能。
  • WhatsApp 激活可能因手机号需要 OTP 验证而返回 ErrorReason === "VERIFICATION_REQUIRED",需进入验证子流程。
  • 该技能不适用于已激活渠道的重复激活,也不适用于缺少必要同意配置的渠道。
  • 具体收费、价格、平台支持范围等资料暂未提供。