Développeurs

POST/v3/lnp/project/{uniqueid}/addnumbers

Ajouter des numéros à un projet de portabilité existant

Ajoutez des lignes de numéros, puis vérifiez la concordance des données du projet avant de renouveler une requête au résultat incertain.

Sur cette page
  1. Accès au compte et au projet
  2. Préparer l’ajout
  3. Requête POST
  4. Résultat annoncé
  5. Vérifier la concordance avant de réessayer
  6. Erreurs du système historique
  7. Portée de la facturation et du transfert

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 être supprimé. Utilisez l’identifiant unique du projet fourni par le processus de commande de portabilité, et non son identifiant numérique dans la base de données ou un numéro de téléphone. Appliquez l’encodage d’URL à l’identifiant du projet lors de la construction d’une requête.

Préparer l’ajout

Cette opération modifie un projet de portabilité existant. Confirmez d’abord les numéros et l’autorisation du client dans votre processus de commande de portabilité. Présentez chaque numéro sous forme de chiffres au format international complet, supprimez vous-même les doublons et consultez la liste des numéros déjà présents dans le projet. N’utilisez pas ce point de terminaison pour tester des numéros quelconques.

Le portail actuel valide et normalise les numéros avant d’appeler cette route. Le point de terminaison historique utilisé directement ne fournit pas les mêmes protections : il supprime les espaces en début et en fin de saisie, mais ne vérifie ni le format des numéros de téléphone, ni l’indicatif du pays, ni les doublons, ni l’état du projet dans le processus.

Requête POST

Créez un fichier local numbers.json avec la structure suivante. Les numéros sont fictifs ; remplacez-les par des numéros autorisés pour le projet sélectionné.

{
  "numbers": [
    "12025550123",
    "12025550124"
  ],
  "isocode": "US"
}
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --header "Content-Type: application/json" \
  --data-binary @numbers.json \
  "https://api.multitel.net/v3/lnp/project/$PROJECT_ID/addnumbers"
Champs de la requête d’ajout de numéros
ChampSignification
numbersTableau non vide obligatoire de numéros sous forme de chaînes de caractères, ou chaîne contenant un numéro par ligne. Les entrées vides sont ignorées et les espaces en début et en fin sont supprimés. Un texte séparé par des virgules n’est pas découpé en numéros distincts.
isocodeCode pays facultatif pour les lignes ajoutées. S’il est omis ou vide, la localisation du projet est utilisée. Le gestionnaire supprime les espaces en début et en fin de la valeur fournie, mais ne la convertit pas en majuscules et ne la valide pas. Fournissez vous-même le code pays correct en majuscules.

Utilisez POST avec application/json pour cet exemple. Les données de formulaire envoyées par POST sont également lues. La méthode ne définit ni clé d’idempotence ni garantie propre à ce point de terminaison concernant une taille de lot sûre ; traitez des lots de taille raisonnable et vérifiez leur concordance plutôt que de vous fier à une limite supposée.

Résultat annoncé

Exemple de réponse fictif.

{
  "status": {
    "code": 200,
    "msg": "Success add numbers"
  },
  "response": {
    "uniqueid": "PROJECT_EXAMPLE",
    "count": 2,
    "numbers": [
      {
        "id": 21,
        "number": "12025550123",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      },
      {
        "id": 22,
        "number": "12025550124",
        "status": 0,
        "status_str": "Pending",
        "isocode": "US"
      }
    ]
  }
}

La réponse attribue l’état Pending aux tentatives d’ajout. Elle ne vérifie pas le résultat de chaque insertion dans la base de données avant de l’annoncer. Un nombre total ou un identifiant renvoyé ne suffit donc pas à prouver que chaque ligne a été enregistrée de manière persistante. Un ajout à l’état Pending ne constitue ni une acceptation par l’opérateur, ni un transfert planifié, ni une activation terminée.

Vérifier la concordance avant de réessayer

  1. Consultez la liste des numéros du projet avant d’en ajouter et conservez les détails de l’ajout prévu dans vos propres registres de requêtes.
  2. Envoyez la demande d’ajout une seule fois.
  3. Consultez à nouveau la liste des numéros du projet et comparez-la à chaque numéro prévu. Vérifiez les doublons et l’état de chaque numéro.
  4. Si le délai de la requête expire, si elle renvoie une erreur ou si elle annonce un résultat ambigu, relisez les données avant de réessayer. Certains ajouts peuvent déjà être présents.
  5. Résolvez les problèmes de lignes manquantes ou en double au moyen du processus de commande de portabilité ou avec l’assistance, plutôt que de répéter aveuglément la requête complète.

Le gestionnaire insère les entrées une par une, sans transaction ni protection contre les doublons. Une interruption peut laisser subsister les écritures précédentes ; une insertion échouée qui renvoie false peut tout de même être incluse dans le nombre annoncé. Répéter une requête peut ajouter des lignes en double. Le gestionnaire n’enregistre pas lui-même d’événement et ne mène pas à terme un transfert auprès d’un opérateur.

Erreurs du système historique

Une méthode autre que POST renvoie le code API 403. Un projet absent, supprimé ou n’appartenant pas au compte renvoie le code API 404. Une saisie de numéros vide renvoie également le code API 404. Les restrictions d’authentification et d’adresse IP source s’appliquent. Ces codes historiques ne prouvent pas qu’aucune insertion antérieure n’a eu lieu après le début du traitement.

Portée de la facturation et du transfert

Le gestionnaire examiné insère des lignes de numéros dans le projet et ne comporte ni débit direct du compte ni transmission à l’opérateur. Cela ne rend pas l’ensemble du service de portabilité gratuit et n’annule pas les frais de portabilité convenus. Satisfaites aux exigences d’autorisation, de documents et d’examen du projet avant de vous attendre à un transfert.