开发者

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

查询号码携转项目的状态

读取项目摘要和各状态的数量,无需获取账单凭据。

本页
  1. 账户与项目访问权限
  2. 请求
  3. 响应
  4. 摘要不代表所有号码的结果
  5. 理解号码携转状态
  6. 错误与限制
  7. 操作影响

账户与项目访问权限

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

请求

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

此端点不读取请求体、分页参数或日期筛选条件。

响应

虚构的响应示例。

{
  "status": {
    "code": 200,
    "msg": "Project Status"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "status": 2,
    "status_str": "Completed",
    "counts": {
      "total": 2,
      "pending": 0,
      "in_progress": 0,
      "completed": 1,
      "rejected": 1
    }
  }
}

外层的 status.code 表示 API 调用结果。另一个独立字段 response.status 则是根据项目中号码的携转状态推导出的摘要。请勿混淆两者。

摘要不代表所有号码的结果

只要有号码处于 In Progress 状态,摘要就选择该状态;否则依次优先选择 Pending、Completed、Rejected。如果没有匹配的已知状态,则默认为 Pending。因此,同时包含已完成和已拒绝号码的项目会显示 Completed,但其中仍有被拒绝的号码。

在判断整个项目是否已结束之前,务必检查各项计数和逐个号码的列表。counts.total 包含项目中的每一条号码记录;其他计数仅涵盖四种已知状态值,因此存在其他状态值时,各项计数之和可能不等于总数。没有任何号码的项目,其各项计数均为零,摘要为 Pending。

理解号码携转状态

已知的号码状态值
值标签
0Pending
1In Progress
2Completed
9Rejected

请保留数字状态值,并兼容未知值。遇到未知标签时会回退为已存储的值,并不保证提供新的标签。仅凭已存储的完成状态或计划日期,并不能检验呼入路由或该号码上的每项服务。

错误与限制

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

操作影响

此端点读取已存储的项目计数。在已审查的处理程序中,它不会提交号码携转请求、改变状态、发起通话或从账户扣款,也不提供对运营商的实时轮询或网络钩子订阅功能。