v3 批量恢复
此 API 函数的用途是批量恢复电话号码。
POST:https://api.multitel.net/v3/bulk_restore
- 身份验证:使用用户 API 凭据的 HTTP basic。
- 请求正文 (application/json):
{
"numbers":
[
"15551230111",
"15551230112",
"15551230113"
],
"webhook_url": "https://client.example.com/restore-hook"
}
- 接受纯数字字符串;numbers_text(以换行符分隔)同样有效。
- 10 个或更少号码 → 同步处理;超过 10 个 → 排队并由服务工作线程处理。
- 同步响应(仅在提供 10 个或更少号码时可能):
{
"job_uuid": "8f6c1f0e-23d2-4717-8c8e-1a518e5738f0",
"status": "completed",
"total_numbers": 3,
"success_count": 1,
"failure_count": 2,
"webhook_url": "https://client.example.com/restore-hook",
"created_at": "2025-10-28 12:31:45",
"started_at": "2025-10-28 12:31:45",
"completed_at": "2025-10-28 12:31:48",
"results": [
{
"number": "15551230111",
"status": "success",
"message": "Number restored",
"status_code": 200,
"requires_identity_update": 0
},
{
"number": "15551230112",
"status": "failed",
"message": "Error: 'restore failed, please contact support'",
"status_code": 500,
"requires_identity_update": 0
},
{
"number": "15551230113",
"status": "success",
"message": "Number restored",
"status_code": 200,
"requires_identity_update": 1,
"needs_registration": 1
}
]
}
如果处理有效载荷时出现错误(超时、域名无法在 DNS 中解析等),错误将在 “results” 数组之后返回:
"webhook_error":"Could not resolve host: asidhaiufsd0uf.multitel.net"
或者,如果提供了超过 10 个号码:
- 已排队(202 Accepted):
{
"job_uuid": "c5bc4f3a-7b0a-4d5d-9f7e-d3fd87f41a00",
"status": "pending",
"total_numbers": 25,
"webhook_url": "https://client.example.com/restore-hook",
"message": "Restore job queued. Results will be POSTed to https://client.example.com/restore-hook"
}
- Webhook 有效载荷与最终同步结构相同(包括每个号码的状态码/消息)。
状态轮询
- GET https://api.multitel.net/v3/bulk_restore_status
- 必需 job_uuid,可选 number(仅限数字)。
- 响应映射作业摘要,包含当前每个号码的状态以及尝试次数和时间戳;按号码过滤仅返回该条目。
- 示例:GET …/bulk_restore_status?job_uuid=8f6c1f0e-23d2-4717-8c8e-1a518e5738f0
- 过滤后:GET …/bulk_restore_status?job_uuid=…&number=15551230113
- GET https://api.multitel.net/v3/bulk_restore_status
- 身份验证:与其他 v3 调用相同的 HTTP Basic。
- 查询参数:
- job_uuid(必需)– 来自 POST 响应的返回值。
- number(可选)– 仅限数字;将结果缩小到单个 DID。
- 响应映射 webhook 有效载荷,现在还包括 requires_identity_update(1/0),适用时还包括 needs_registration。示例:
{
"job_uuid": "8f6c1f0e-23d2-4717-8c8e-1a518e5738f0",
"status": "processing",
"total_numbers": 25,
"success_count": 10,
"failure_count": 0,
"webhook_url": "https://client.example.com/restore-hook",
"created_at": "2025-10-28 12:31:45",
"started_at": "2025-10-28 12:31:45",
"completed_at": null,
"results": [
{
"number": "15551230111",
"status": "success",
"message": "Number restored",
"status_code": 200,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:47",
"requires_identity_update": 0
},
{
"number": "15551230112",
"status": "failed",
"message": "Error: 'restore failed, please contact support'",
"status_code": 500,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:46",
"requires_identity_update": 0
},
{
"number": "15551230113",
"status": "success",
"message": "Number restored",
"status_code": 200,
"attempts": 1,
"started_at": "2025-03-28 12:31:45",
"completed_at": "2025-03-28 12:31:48",
"requires_identity_update": 1,
"needs_registration": 1
}
]
}
- 使用 number=15551230113 时,results 数组将仅包含该条目以及有效载荷中的 filtered_number。
如果您想编写自己的批量恢复函数,可以使用下面的单号码 API 端点,并对每个要恢复的号码重复调用。
curl -u 'USERNAME:PASSWORD' \
-H 'Accept: application/json' \
https://api.multitel.net/v3/restore/447000123456