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"
}
- 웹후크 페이로드는 최종 동기 구조와 동일합니다(번호별 상태 코드/메시지 포함).
상태 폴링
- GET https://api.multitel.net/v3/bulk_restore_status
- 필수 job_uuid, 선택적 number(숫자만).
- 응답은 시도 횟수 및 타임스탬프와 함께 현재 번호별 상태가 포함된 작업 요약을 반영합니다. 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로 좁힘.
- 응답은 웹후크 페이로드를 반영하며, 이제 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