账户和项目访问权限
从允许的 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 限制同样适用。这些示例不会发起实际请求,且响应成功并不能证明运营商已接受或完成携转。
操作影响
已审查的处理程序读取已存储的事件,不会更改项目、启动携转或从账户扣款。事件写入程序的可见性以及经过身份验证的账户测试,仍属于待完成的契约审查范围。