Restauration en masse v3
L'objectif de cette fonction API est de restaurer des numéros de téléphone en masse.
POST : https://api.multitel.net/v3/bulk_restore
- Auth : HTTP basic avec les identifiants API de l'utilisateur.
- Corps (application/json) :
{
"numbers":
[
"15551230111",
"15551230112",
"15551230113"
],
"webhook_url": "https://client.example.com/restore-hook"
}
- Accepte les chaînes composées uniquement de chiffres ; numbers_text (séparé par des sauts de ligne) fonctionne également.
- 10 numéros ou moins → traité de manière synchrone ; plus de 10 → mis en file d'attente et traité par un service worker.
- Réponse synchrone (possible uniquement si 10 numéros ou moins sont fournis) :
{
"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
}
]
}
En cas d'erreurs lors du traitement de la charge utile (délais d'attente, domaine ne pouvant pas être résolu en DNS, etc.), les erreurs seront renvoyées après le tableau « results » :
"webhook_error":"Could not resolve host: asidhaiufsd0uf.multitel.net"
OU, si plus de 10 numéros ont été fournis :
- Mis en file d'attente (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"
}
- La charge utile du webhook est identique à la structure synchrone finale (y compris les codes/messages de statut par numéro).
Interrogation du statut
- GET https://api.multitel.net/v3/bulk_restore_status
- job_uuid requis, number facultatif (chiffres uniquement).
- La réponse reflète le résumé de la tâche avec l'état actuel par numéro, ainsi que les tentatives et les horodatages ; le filtre number ne renvoie que cette entrée.
- Exemple : GET …/bulk_restore_status?job_uuid=8f6c1f0e-23d2-4717-8c8e-1a518e5738f0
- Filtré : GET …/bulk_restore_status?job_uuid=…&number=15551230113
- GET https://api.multitel.net/v3/bulk_restore_status
- Auth : même HTTP Basic que pour les autres appels v3.
- Paramètres de requête :
- job_uuid (requis) – renvoyé par la réponse POST.
- number (facultatif) – chiffres uniquement ; limite les résultats à un seul DID.
- La réponse reflète la charge utile du webhook et inclut désormais requires_identity_update (1/0) ainsi que needs_registration le cas échéant. Exemple :
{
"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
}
]
}
- Avec number=15551230113, le tableau results contiendra uniquement cette entrée ainsi que filtered_number dans la charge utile.
Si vous souhaitez créer votre propre fonction de restauration en masse, vous pouvez utiliser le point de terminaison API pour un seul numéro ci-dessous, et l'appeler de manière répétée, pour chaque numéro que vous souhaitez restaurer.
curl -u 'USERNAME:PASSWORD' \
-H 'Accept: application/json' \
https://api.multitel.net/v3/restore/447000123456