Entwickler

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

Rufnummern zu einem bestehenden Portierungsprojekt hinzufügen

Fügen Sie Rufnummerneinträge hinzu und gleichen Sie anschließend den Projektbestand ab, bevor Sie eine Anfrage mit unklarem Ergebnis wiederholen.

Auf dieser Seite
  1. Zugriff auf Konto und Projekt
  2. Hinzufügen vorbereiten
  3. POST-Anfrage
  4. Gemeldetes Ergebnis
  5. Vor einem erneuten Versuch den Bestand abgleichen
  6. Fehler des älteren Endpunkts
  7. Abrechnung und Umfang der Portierung

Zugriff auf Konto und Projekt

Verwenden Sie ein aktiviertes API-Konto über HTTPS von einer zugelassenen IP-Adresse aus. Das Projekt muss diesem Konto gehören und darf nicht gelöscht sein. Verwenden Sie die eindeutige Projekt-ID aus dem Ablauf für Portierungsaufträge, nicht die numerische Datenbank-ID oder eine Rufnummer. Kodieren Sie die Projekt-ID beim Erstellen einer Anfrage für die Verwendung in einer URL.

Hinzufügen vorbereiten

Dieser Vorgang ändert ein bestehendes Portierungsprojekt. Bestätigen Sie zunächst die Rufnummern und die Autorisierung durch den Kunden über Ihren Ablauf für Portierungsaufträge. Geben Sie jede Rufnummer als vollständige internationale Ziffernfolge an, entfernen Sie Duplikate selbst und prüfen Sie die bestehende Rufnummernliste des Projekts. Verwenden Sie diesen Endpunkt nicht zum Testen beliebiger Rufnummern.

Das aktuelle Portal prüft und normalisiert Rufnummern vor dem Aufruf dieser Route. Der direkte Aufruf des älteren Endpunkts bietet nicht dieselben Schutzmaßnahmen: Er entfernt Leerzeichen am Anfang und Ende der Eingabe, prüft jedoch weder das Rufnummernformat noch den Ländercode, Duplikate oder den Bearbeitungsstatus des Projekts.

POST-Anfrage

Erstellen Sie eine lokale Datei numbers.json mit der folgenden Struktur. Die Rufnummern sind fiktiv; ersetzen Sie sie durch Rufnummern, für die eine Autorisierung für das ausgewählte Projekt vorliegt.

{
  "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"
Anfragefelder zum Hinzufügen von Rufnummern
FeldBedeutung
numbersErforderliches, nicht leeres Array mit Rufnummern als Zeichenfolgen oder eine Zeichenfolge mit einer Rufnummer pro Zeile. Leere Einträge werden verworfen und Leerzeichen am Anfang und Ende entfernt. Durch Kommas getrennter Text wird nicht in einzelne Rufnummern aufgeteilt.
isocodeOptionaler Ländercode für die hinzugefügten Einträge. Wird er weggelassen oder ist er leer, wird der Standort des Projekts verwendet. Die Verarbeitungsroutine entfernt Leerzeichen am Anfang und Ende eines angegebenen Werts, wandelt ihn jedoch nicht in Großbuchstaben um und prüft ihn nicht. Geben Sie selbst den korrekten Ländercode in Großbuchstaben an.

Verwenden Sie für dieses Beispiel POST mit application/json. Auch Formulareingaben über POST werden eingelesen. Die Methode legt weder einen Idempotenzschlüssel noch eine verbindliche, endpunktspezifische sichere Stapelgröße fest; gleichen Sie überschaubare Stapel ab, statt sich auf einen geschätzten Grenzwert zu verlassen.

Gemeldetes Ergebnis

Fiktives Antwortbeispiel.

{
  "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"
      }
    ]
  }
}

Die Antwort kennzeichnet versuchte Hinzufügungen mit Pending. Vor der Meldung wird nicht das Ergebnis jedes einzelnen Einfügevorgangs in die Datenbank geprüft. Eine Anzahl oder eine zurückgegebene ID allein belegt daher nicht, dass jeder Eintrag dauerhaft gespeichert wurde. Ein hinzugefügter Eintrag mit dem Status Pending bedeutet weder die Annahme durch den Netzbetreiber noch eine terminierte Portierung oder eine abgeschlossene Aktivierung.

Vor einem erneuten Versuch den Bestand abgleichen

  1. Lesen Sie vor dem Hinzufügen von Rufnummern die Rufnummernliste des Projekts aus und halten Sie die beabsichtigte Ergänzung in Ihren eigenen Anfrageaufzeichnungen fest.
  2. Senden Sie die Anfrage zum Hinzufügen einmal.
  3. Lesen Sie die Rufnummernliste des Projekts erneut aus und gleichen Sie jede vorgesehene Rufnummer ab. Prüfen Sie auf Duplikate und kontrollieren Sie den Status jeder Rufnummer.
  4. Wenn die Anfrage das Zeitlimit überschreitet, einen Fehler zurückgibt oder ein uneindeutiges Ergebnis meldet, lesen Sie den Bestand vor einem erneuten Versuch wieder aus. Einige der hinzuzufügenden Einträge können bereits vorhanden sein.
  5. Klären Sie fehlende oder doppelte Einträge über den Ablauf für Portierungsaufträge oder den Support, statt die vollständige Anfrage ungeprüft zu wiederholen.

Die Verarbeitungsroutine fügt Einträge einzeln und ohne Transaktion oder Schutz vor Duplikaten ein. Bei einer Unterbrechung können zuvor geschriebene Einträge bestehen bleiben; ein fehlgeschlagener Einfügevorgang, der false zurückgibt, kann dennoch in der gemeldeten Anzahl enthalten sein. Das Wiederholen einer Anfrage kann doppelte Einträge hinzufügen. Die Verarbeitungsroutine selbst protokolliert kein Ereignis und schließt keine Portierung durch den Netzbetreiber ab.

Fehler des älteren Endpunkts

Eine andere Methode als POST gibt den API-Code 403 zurück. Ein fehlendes, gelöschtes oder nicht dem Konto gehörendes Projekt gibt den API-Code 404 zurück. Eine leere Rufnummerneingabe gibt ebenfalls den API-Code 404 zurück. Es gelten Anforderungen an die Authentifizierung und Einschränkungen für die Quell-IP-Adresse. Diese älteren Codes belegen nicht, dass seit Beginn der Verarbeitung noch keine Einträge eingefügt wurden.

Abrechnung und Umfang der Portierung

Die geprüfte Verarbeitungsroutine fügt Rufnummerneinträge zum Projekt hinzu und enthält weder eine direkte Kontobelastung noch eine Übermittlung an den Netzbetreiber. Dadurch wird der gesamte Portierungsdienst nicht kostenlos; vereinbarte Portierungsgebühren gelten weiterhin. Erfüllen Sie die Anforderungen des Projekts an Autorisierung, Unterlagen und Prüfung, bevor Sie eine Portierung erwarten.