Zbiorcze przywracanie v3
Celem tej funkcji API jest hurtowe przywracanie numerów telefonów. POST: https://api.multitel.net/v3/bulk_restore - Uwierzytelnianie: HTTP Basic z danymi uwierzytelniającymi API użytkownika. - Treść (application/json): {
"numbers":
[
"15551230111",
"15551230112",
"15551230113"
],
"webhook_url": "https://client.example.com/restore-hook"
} - Akceptuje ciągi zawierające wyłącznie cyfry; numbers_text (rozdzielane znakami nowej linii) również działa. - 10 numerów lub mniej → obsługiwane synchronicznie; więcej niż 10 → kolejkowane i przetwarzane przez proces roboczy usługi. - Odpowiedź synchroniczna (możliwa tylko wtedy, gdy podano 10 numerów lub mniej): {
"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
}
]
} W przypadku błędów podczas przetwarzania ładunku (przekroczenia czasu, brak możliwości rozpoznania domeny w DNS itp.), błędy zostaną zwrócone po tablicy „results”: "webhook_error":"Could not resolve host: asidhaiufsd0uf.multitel.net" LUB, jeśli podano więcej niż 10 numerów: - W kolejce (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"
} - Ładunek webhooka jest identyczny z końcową strukturą synchroniczną (w tym kody/komunikaty statusu dla poszczególnych numerów). Odpytywanie statusu - GET https://api.multitel.net/v3/bulk_restore_status - Wymagany job_uuid, opcjonalny numer (tylko cyfry). - Odpowiedź odzwierciedla podsumowanie zadania z bieżącym stanem poszczególnych numerów oraz próbami i znacznikami czasu; filtr numeru zwraca tylko ten wpis. - Przykład: GET …/bulk_restore_status?job_uuid=8f6c1f0e-23d2-4717-8c8e-1a518e5738f0 - Filtrowane: GET …/bulk_restore_status?job_uuid=…&number=15551230113 - GET https://api.multitel.net/v3/bulk_restore_status - Uwierzytelnianie: to samo HTTP Basic co w innych wywołaniach v3. - Parametry zapytania: - job_uuid (wymagany) – zwracany w odpowiedzi POST. - number (opcjonalny) – tylko cyfry; ogranicza wyniki do jednego numeru DID. - Odpowiedź odzwierciedla ładunek webhooka i zawiera teraz requires_identity_update (1/0) oraz needs_registration, gdy ma zastosowanie. Przykład: {
"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
}
]
} - Przy number=15551230113 tablica wyników będzie zawierać tylko ten wpis oraz filtered_number w ładunku. Jeśli chcesz utworzyć własną funkcję hurtowego przywracania, możesz użyć poniższego punktu końcowego API dla pojedynczego numeru i wywoływać go wielokrotnie dla każdego numeru, który chcesz przywrócić.
curl -u 'USERNAME:PASSWORD' \
-H 'Accept: application/json' \
https://api.multitel.net/v3/restore/447000123456