For the complete documentation index, see llms.txt. This page is also available as Markdown.

L2B 状态变更通知

对接 L2B 状态变更 Webhook,包括投递规则、事件字段和接收处理。

当某个“客户 + 航司 + Action”的 L2B 状态变化时,Atlas 会发送此通知。

触发时机

状态变化
含义

NORMAL → WARNING

使用率接近上限

WARNING → CONTROL

实时航司请求开始受控

CONTROL → WARNING

控制已解除,但使用率仍较高

WARNING → NORMAL

使用率恢复正常

只有启用在线流量保护的规则会发送通知。

当 action 为 ORDER 时,通知仅用于用量告警。

即使进入 CONTROL,order.do 也不会被降级或拒绝。

接收接口要求

客户需要提供 Atlas 可访问的 HTTPS 地址。

项目
约定

HTTP 方法

POST

Content-Type

application/json; charset=UTF-8

成功响应

精确的 HTTP 200 OK

响应 Body

不校验,可为空

时间格式

含 UTC 偏移量的 ISO-8601

Atlas 仅根据 HTTP 状态码判断投递成功。

201、202、204 和其他状态码均不视为成功。

先完成幂等保存或可靠入队,再返回 200。

请求结构

事件类型固定为 l2b.state_changed。

外层字段

字段
说明

cid

客户代码

notificationId

通知唯一标识,也是幂等键

status

当前固定为 -1,不表示 L2B 状态

type

固定为 l2b.state_changed

data

状态变化明细

data 字段

字段
说明

eventId

事件 ID,与 notificationId 相同

clientCode、carrier、action

L2B 观察维度

previousState、currentState

原策略状态和新策略状态

currentL2b、l2bLimit、usagePercent

当前 L2B、上限和使用率,均为字符串

requestCount、paidOrderCount

窗口内计入统计的请求数和支付订单数

windowMinutes、windowStart、windowEnd

滑动窗口信息和评估时间

releaseUsagePercent

可选。CONTROL 释放线,数值不带 %

estimatedReleaseTime

可选。预计解除时间

transitionReason

可选。状态变化原因代码

可选字段可能为 null 或完全省略。

接收程序应忽略未知字段。

幂等、乱序和缺失

使用 notificationId 去重。

按 clientCode + carrier + action 保存本地状态。

使用 windowEnd 判断事件新旧。较早事件不得覆盖较新状态。

网络异常可能造成重复、延迟、乱序或缺失。

不要假设每个状态变化都能收到通知。

与 API 响应头的关系

通知反映策略状态:NORMAL、WARNING 和 CONTROL。

响应头反映单次请求的实际处理结果。

x-l2b-state

含义

NORMAL

本次请求未受 L2B 控制

WARNING

请求仍实时执行

DEGRADED

返回非实时降级结果

REJECTED

无可用降级结果,请求被拒绝

持续记录以下响应头:

当三个数值响应头均为 unknown 时,本次请求会正常放行。

这不代表该维度已经完成有效评估。

安全与联调

  • 使用 HTTPS 接收事件。

  • 当前协议没有定义签名字段或固定鉴权请求头。

  • 校验必要字段和枚举值,同时兼容未知新增字段。

  • 不要根据 title、summary 或 notice 驱动自动化逻辑。

  • 将告警和流量处理放到内部异步任务中。

联调时验证重复事件、乱序事件、可选字段缺失和精确 HTTP 200 响应。

有关 L2B 计算、控制和恢复规则,请参阅 L2B 治理。

Last updated

Was this helpful?