Массовое восстановление v3
Назначение этой функции API — массовое восстановление телефонных номеров.
POST: https://api.multitel.net/v3/bulk_restore
- Аутентификация: HTTP basic с учетными данными API пользователя.
- Тело запроса (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 (только цифры).
- Ответ повторяет сводку задания с текущим состоянием по каждому номеру, а также попытками и метками времени; фильтр по номеру возвращает только соответствующую запись.
- Пример: 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
- Аутентификация: тот же HTTP Basic, что и для других вызовов v3.
- Параметры запроса:
- 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