账户与项目访问权限
使用已启用的 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。
理解号码携转状态
| 值 | 标签 |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
请保留数字状态值,并兼容未知值。遇到未知标签时会回退为已存储的值,并不保证提供新的标签。仅凭已存储的完成状态或计划日期,并不能检验呼入路由或该号码上的每项服务。
错误与限制
请同时检查 HTTP 响应和 status.code/status.msg。如果项目不存在、已被删除或不属于该账户,则返回 API 代码 404,并附带未找到项目的消息。身份验证和来源 IP 限制同样适用。这些示例不会发起实际请求,成功响应也不能证明运营商已接受或完成号码携转。
操作影响
此端点读取已存储的项目计数。在已审查的处理程序中,它不会提交号码携转请求、改变状态、发起通话或从账户扣款,也不提供对运营商的实时轮询或网络钩子订阅功能。