Accès au compte et au projet
Utilisez un compte API activé via HTTPS, depuis une adresse IP autorisée. Le projet doit appartenir à ce compte et ne doit pas avoir été supprimé. Utilisez l’identifiant unique du projet issu du processus de commande de portabilité, et non son identifiant numérique dans la base de données ni un numéro de téléphone. Appliquez l’encodage d’URL à l’identifiant du projet lors de la construction d’une requête.
Requête
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/status"Ce point de terminaison ne lit aucun corps de requête, paramètre de pagination ou filtre de date.
Réponse
Exemple de réponse fictive.
{
"status": {
"code": 200,
"msg": "Project Status"
},
"response": {
"uniqueid": "PROJECT_EXAMPLE",
"status": 2,
"status_str": "Completed",
"counts": {
"total": 2,
"pending": 0,
"in_progress": 0,
"completed": 1,
"rejected": 1
}
}
}Le champ externe status.code indique le résultat de l’API. Le champ distinct response.status correspond au récapitulatif de portabilité calculé pour le projet. Ne confondez pas les deux.
Un récapitulatif ne représente pas le résultat de tous les numéros
Le récapitulatif retient In Progress si au moins un numéro présente cet état, sinon Pending, sinon Completed, sinon Rejected. Si aucun état connu ne correspond, il prend par défaut la valeur Pending. Un projet contenant à la fois des numéros dont la portabilité est terminée et des numéros rejetés indique donc Completed tout en contenant encore des numéros rejetés.
Examinez toujours les décomptes et la liste détaillée des numéros avant de conclure que l’ensemble du projet est terminé. counts.total inclut chaque ligne associant un numéro au projet ; les autres compteurs ne couvrent que les quatre valeurs d’état connues et leur somme peut différer du total lorsque d’autres valeurs existent. Pour un projet sans aucun numéro, tous les compteurs sont à zéro et le récapitulatif indique Pending.
Interpréter l’état de portabilité
| Valeur | Libellé |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
Conservez la valeur numérique de l’état et prévoyez la prise en charge de valeurs inconnues. Lorsqu’un libellé est inconnu, la valeur stockée est utilisée à sa place ; la présence d’un nouveau libellé n’est pas garantie. Un état de fin ou une date planifiée enregistrés ne constituent pas, à eux seuls, un test de l’acheminement des appels entrants ni de tous les services associés au numéro.
Erreurs et limites
Vérifiez à la fois la réponse HTTP et status.code/status.msg. Un projet inexistant, supprimé ou n’appartenant pas au compte renvoie le code API 404 avec un message indiquant que le projet est introuvable. L’authentification et les restrictions sur l’adresse IP source s’appliquent également. Les exemples n’effectuent aucune requête réelle, et une réponse réussie ne prouve pas qu’un opérateur a accepté ou terminé un transfert.
Effets
Ce point de terminaison lit les décomptes enregistrés du projet. Dans le gestionnaire examiné, il ne soumet aucun transfert, ne modifie aucun état, ne lance aucun appel et ne débite pas le compte. Il ne permet ni d’interroger périodiquement l’opérateur en temps réel ni de s’abonner à un webhook.