账户与项目访问
从获准的 IP 地址通过 HTTPS 使用已启用的 API 账户。项目必须属于该账户,且未被删除。请使用携转订单流程中的项目唯一标识符,不要使用数据库中的数字标识符或电话号码。构建请求时,请对项目标识符进行 URL 编码。
请求
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID"将此响应作为机密信息处理
完整响应包含号码转出运营商的账单信息,其中包括已存储的 billing_pin、账单账户、电话、地址、公司和授权联系人的详细信息。API 不会对这些字段进行脱敏。如果工作流程只需要状态或号码列表,请仅请求相应内容。不要将完整详情响应存入浏览器存储、分析系统或公开日志,也不要将其包含在客服支持截图中;仅向获授权的客户展示其所需的字段。
响应结构
以下为仅展示部分字段的虚构示例;实际响应可能返回其他字段。
{
"status": {
"code": 200,
"msg": "Project Detail"
},
"response": {
"project": {
"id": 11,
"uniqueid": "PROJECT_EXAMPLE",
"project_name": "Example transfer",
"location": "US",
"status": 0,
"status_str": "Pending"
},
"counts": {
"total": 0,
"pending": 0,
"in_progress": 0,
"completed": 0,
"rejected": 0
},
"numbers": [],
"events": [],
"uploads": []
}
}此示例特意只展示部分内容,省略了所有账单凭据和个人联系方式的值。示例中省略这些信息,并不表示实际响应会对其进行遮蔽。
| 部分 | 内容 |
|---|---|
| project | 数据行的数字标识符、项目唯一标识符、项目名称、位置、已存储的账单信息、联系信息和地址数据、创建时间及推导状态。旧版转出运营商字段的拼写为 loosing_carrier。 |
| counts | 号码数据行总数,以及 Pending、In Progress、Completed 和 Rejected 的计数。 |
| numbers | 与项目号码列表端点相同的号码字段集合,包括客户备注和已存储的计划安排值。 |
| events | 已存储的事件数据行,以及原始和解析后的载荷字段,受事件端点的可见性与格式限制约束。 |
| uploads | 文档元数据:数字标识符、upload_type、file_name、file_extension、date_created,以及相对地址 download_url。访问该 URL 仍需进行账户身份验证。 |
理解汇总状态与元数据
推导状态优先采用 In Progress,其次依次为 Pending、Completed 和 Rejected;均不适用时,采用 Pending 作为默认值。即使汇总状态为 Completed,仍可能存在被拒绝的号码。请检查各项计数和号码状态,不要假定所有号码都已完成携转。
响应包含文档元数据,不包含文件字节内容。它不提供分页或增量游标。详情查询和列表查询分别读取数据,并不保证构成同一份事务一致性快照。日期保留其存储值,没有文档说明会进行时区转换。项目路由应使用 uniqueid;项目的数字标识符不能替代它。
错误与限制
请同时检查 HTTP 响应以及 status.code/status.msg。如果项目不存在、已删除或不属于该账户,则返回 API 代码 404,并附带未找到项目的消息。身份验证和来源 IP 限制同样适用。这些示例不会发出实际请求,响应成功也不能证明运营商已接受或完成号码携转。
影响与工作流程
这是当前门户携转订单视图使用的标准详情路由。门户会为用户界面映射字段,并自行选择面向客户展示的字段集合;不要假定原始 API 响应与门户的 JSON 或展示内容完全相同。经审查的详情处理程序不会修改项目,也不会直接向运营商发起请求或收取费用。