Zugriff auf Konto und Projekt
Verwenden Sie ein freigeschaltetes API-Konto über HTTPS von einer zulässigen IP-Adresse aus. Das Projekt muss diesem Konto gehören und darf nicht gelöscht sein. Verwenden Sie die eindeutige Projekt-ID aus dem Portierungsauftragsablauf, nicht die numerische Datenbank-ID des Projekts oder eine Telefonnummer. Kodieren Sie die Projekt-ID beim Erstellen einer Anfrage für die URL.
Anfrage
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/v3/lnp/project/$PROJECT_ID/numbers"Antwort
Fiktives Antwortbeispiel.
{
"status": {
"code": 200,
"msg": "Project Numbers",
"results": 1
},
"response": [
{
"id": 21,
"number": "12025550123",
"status": 0,
"status_str": "Pending",
"isocode": "US",
"updated": "2026-10-23 12:00:00",
"foc": "",
"comment": "Example customer-visible note",
"date_created": "2026-10-23 12:00:00",
"date_completed": ""
}
]
}response ist eine Liste. Ein vorhandenes Projekt ohne Rufnummern liefert eine leere Liste mit dem API-Code 200 und einem Wert von status.results gleich 0. Nicht vorhandene Projekte liefern dagegen den API-Code 404.
Rufnummernfelder
| Feld | Bedeutung |
|---|---|
| id, number, isocode | Numerische Zeilen-ID, gespeicherter Telefonnummerntext und Ländercode. Die Zeilen-ID ist nicht die Projekt-ID. |
| status, status_str | Numerischer Status und seine bekannte Bezeichnung. |
| foc | Gespeicherter Terminwert der verbindlichen Auftragszusage. Er kann leer sein; der Handler wandelt ihn weder in eine dokumentierte Zeitzone noch in ein dokumentiertes Zeitstempelformat um. |
| updated, date_created, date_completed | Gespeicherte Werte für Aktualisierung, Erstellung und Abschluss. Behandeln Sie leere Werte ausdrücklich; setzen Sie weder das Format ISO8601 voraus noch leiten Sie aus dem fiktiven Beispiel eine Zeitzone ab. |
| comment | Gespeicherter, für Kunden bestimmter Kommentar. Zeigen Sie ihn als Text und nicht als ausführbares HTML an. |
Diese Ausgabeprojektion lässt das Feld internal_comment aus, das nur für Mitarbeiter bestimmt ist. Das bedeutet nicht, dass die separate ältere Einzelrufnummernabfrage dieselbe Ausgabeprojektion verwendet.
Sortierung und Überwachung
Die Abfrage sortiert aufsteigend nach dem Erstellungszeitpunkt. Für Zeilen mit gleichem Erstellungszeitpunkt ist keine weitere Reihenfolge garantiert. Es gibt weder Seitennavigation noch einen inkrementellen Cursor oder Datumsfilter. Lesen Sie die vollständige Liste, um die Daten eines Projekts abzugleichen, und betrachten Sie seine aktuelle Zeilenanzahl nicht als dauerhaften Katalog.
Portierungsstatus interpretieren
| Wert | Bezeichnung |
|---|---|
| 0 | Pending |
| 1 | In Progress |
| 2 | Completed |
| 9 | Rejected |
Bewahren Sie den numerischen Status auf und berücksichtigen Sie unbekannte Werte. Bei unbekannten Bezeichnungen wird auf den gespeicherten Wert zurückgegriffen, statt eine neue Bezeichnung zu garantieren. Ein gespeicherter Abschlussstatus oder ein geplanter Termin stellt für sich allein keinen Test des eingehenden Routings oder aller Dienste der Rufnummer dar.
Fehler und Grenzen
Prüfen Sie sowohl die HTTP-Antwort als auch status.code/status.msg. Ein nicht vorhandenes, gelöschtes oder nicht zum Konto gehörendes Projekt liefert den API-Code 404 mit einer Meldung, dass das Projekt nicht gefunden wurde. Einschränkungen für Authentifizierung und Quell-IP gelten ebenfalls. Die Beispiele führen keine echte Anfrage aus, und eine erfolgreiche Antwort ist kein Beleg dafür, dass ein Netzbetreiber eine Übertragung angenommen oder abgeschlossen hat.
Auswirkungen
Der geprüfte Handler liest lediglich das Projekt und seine gespeicherten Rufnummernzeilen. Die Antwort ist eine Momentaufnahme, keine Bestätigung des Netzbetreibers und kein Live-Test des Dienstes. Sie leitet keine Portierung ein, ändert kein Routing und belastet das Konto nicht.