开发者

GET/v3/lnp/project/{uniqueid}/events

读取号码携转项目事件

获取已存储的项目历史记录,并处理原始或格式错误的事件载荷。

本页
  1. 账户和项目访问权限
  2. 请求
  3. 响应
  4. 仔细读取事件载荷
  5. 历史记录不保证事件送达
  6. 错误和限制
  7. 操作影响

账户和项目访问权限

从允许的 IP 地址通过 HTTPS 使用已启用的 API 账户。项目必须属于该账户,且未被删除。请使用携转订单流程中的项目唯一标识符,而非其数据库数字标识符或电话号码。构建请求时,请对项目标识符进行 URL 编码。

请求

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/events"

响应

虚构的响应示例。

{
  "status": {
    "code": 200,
    "msg": "Project Events",
    "results": 1
  },
  "response": [
    {
      "id": 31,
      "subject": "Example project update",
      "event": "{\"type\":\"comment\",\"value\":\"Example update\",\"source\":\"Example source\"}",
      "type": "comment",
      "value": "Example update",
      "source": "Example source",
      "date_created": "2026-10-23 12:00:00"
    }
  ]
}

对于没有事件的现有项目,返回的 API 代码为 200,列表为空,且 status.results 等于 0。查询结果按创建时间降序请求;创建时间相同的结果没有额外排序规则,也不提供分页、游标或日期筛选。

仔细读取事件载荷

id 是事件数据行的数字标识符,subject 是其存储的主题,date_created 是其存储的日期/时间值。此端点保留原始 event 字符串,并尝试解码其中的 type、value 和 source。如果载荷不是 JSON 对象,或缺少某个属性,则对应的解析字段为空字符串。

载荷并非固定枚举,也不保证采用纯文本结构。请勿将来源文本视为已验证的身份,也不要将事件内容作为 HTML 渲染。原始事件应仅用于已获授权的服务端工作流程,并且只向已获授权的用户显示适当的文本。此端点不提供单独针对员工或客户的事件可见性筛选,也不对内容进行脱敏。

历史记录不保证事件送达

这是已存储的项目历史记录,并非 Webhook 事件流、不可变的同步游标,也不是每次数据库变更的完整记录。例如,通过已审查的号码添加处理程序添加号码,本身不会创建事件。除了读取事件,还应核对号码列表和各状态的数量。

错误和限制

请同时检查 HTTP 响应和 status.code/status.msg。如果项目不存在、已被删除或不属于该账户,则返回 API 代码 404,并附带项目未找到的消息。身份验证和来源 IP 限制同样适用。这些示例不会发起实际请求,且响应成功并不能证明运营商已接受或完成携转。

操作影响

已审查的处理程序读取已存储的事件,不会更改项目、启动携转或从账户扣款。事件写入程序的可见性以及经过身份验证的账户测试,仍属于待完成的契约审查范围。