Zum Inhalt

myfiber API Guide

Hier wird der Prozess zur Erstellung eines POP, einer Site und zur Verlinkung der Daten innerhalb der myfiber-API beschrieben, mit Beispielen für jeden Schritt.

Übersicht der Schritte:

  1. Create POP (um die 'pop_id' zu erhalten)
  2. Create Site (um die 'sid' zu bekommen)
  3. Create Link ('pop_id' und 'sid' werden verwendet, um die Daten miteinander zu verknüpfen)

Anforderung für 'pip' Feld

'pip' ist ein erforderliches Attribut für diese Endpunkte. Es kann nicht beliebig gesetzt werden, sondern wird vorab über ein Support Ticket den Mandanten zugewiesen.


Schritt 1: Create POP

Zunächst erstellen Sie den POP (oder Point of Presence) über den Endpunkt "Create POP".

Die erforderlichen Attribute sind:

  • 'token': entweder "planned" oder "built"
  • 'pip': der PIP-Name
  • 'name': Name des POP
  • 'center': die Koordinaten des POP

Als Beispiel nehmen wir an, wir haben einen POP, dessen 'token' auf "planned" gesetzt werden soll, einen 'pip' namens "example_pip", der 'name' des POP ist "pop_name", und die Koordinaten für den Standort des POP sind "48.208547,16.372959".

Die API-Anfrage und -Antwort sieht wie folgt aus:

$ curl --request POST --location "https://api.myfiber.at/v1/pip/resource/pops/" \
$  --header "Authorization: Bearer <access_token>" \
$  --header "Accept: application/json" \
$  --header "Content-Type: application/json" \
$  --data '{
    "token": "planned", 
    "pip": "example_pip", 
    "name": "pop_name", 
    "center": "48.208547,16.372959"
}'
---> 100%

{
    "tenant": "fiberpark",
    "pop_id": "d43f97fa-471d-4ccb-a649-7a0d755c1d74",
    "status": "active",
    "token": "planned",
    "pip": "example_pip",
    "name": "pop_name",
    "external_id": null,
    "customer_reference": null,
    "address": {
        "country": "AT",
        "zip": null,
        "city": null,
        "street": null,
        "hnr": null,
        "door": null,
        "addon": null
    },
    "lot_id": null,
    "center": "48.20854700,16.37295900",
    "created_at": "2019-05-29T17:11:14.206+00:00",
    "modified_at": "2021-04-12T13:03:07.566+00:00",
    "_etag": "P4zSJFSiVk9"
}

Komplette Liste der Attribute am API-Endpunkt

Das obige Beispiel zeigt die Daten, die Sie erhalten würden, wenn Sie die minimal erforderlichen Attribute eingeben. Sie können natürlich weitere Felder angeben, wenn Sie das POP erstellen oder updaten. Eine vollständige Liste der Felder finden Sie unter dem API-Endpunkt.

Halten Sie die gerade erhaltene 'pop_id' bereit; diese wird in Schritt 3 wieder benötigt.

Schritt 2: Create Site

Als Nächstes speichern Sie die Standortinformationen mit dem Endpunkt "Create Site".

Eine Site kann mit den folgenden benötigten Attribute erstellt werden:

  • 'token': entweder "reserved", "accepted", oder "confirmed"
  • 'pip': der PIP-Name
  • 'center': die Koordinaten des Standortes
  • 'oaid': (optional) die Open Access ID erhält man über das OAID Register

Für das folgende Beispiel haben wir den 'token' auf "accepted" gesetzt, denselben 'pip'-Namen wie in Schritt 1 angegeben, die 'center'-Koordinaten auf "48.208555, 16.372966" gesetzt und die OAID "ABCD1234" verwendet.

$ curl --request POST --location "https://api.myfiber.at/v1/pip/resource/sites/" \
$  --header "Authorization: Bearer <access_token>" \
$  --header "Accept: application/json" \
$  --header "Content-Type: application/json" \
$  --data '{
    "token": "accepted", 
    "pip": "example_pip", 
    "center": "48.208555,16.372966",
    "oaid": "ABCD1234"
}'
---> 100%

{
    "tenant": "fiberpark",
    "sid": "71fbbf5d-07d3-4db1-95f9-246f9524eae2",
    "oaid": "ABCD1234",
    "pop_id": null,
    "status": "active",
    "token": "accepted",
    "pip": "example_pip",
    "external_id": null,
    "customer_reference": null,
    "contracts": null,
    "address": {
        "country": "AT",
        "zip": null,
        "city": null,
        "street": null,
        "hnr": null,
        "door": null,
        "addon": null
    },
    "lot_id": null,
    "center": "48.20855500,16.37296600",
    "created_at": "2019-05-29T17:11:14.206+00:00",
    "modified_at": "2021-04-12T13:03:07.566+00:00",
    "_etag": "P4zSJFSiVk9"
}

Die Site-ID ('sid'), die aus der Antwort stammt, wird in der Anfrage in Schritt 3 verwendet.

'pop_id' und 'contracts' Felder

Die Felder 'pop_id' und 'contracts' liefern anfangs null. Sobald die Site über den Endpunkt "Create Link" mit einem POP verlinkt ist, werden diese Felder automatisch aktualisiert.

Nun erstellen Sie einen Link für die Site über den Endpunkt "Create Link".

Die notwendigen Felder für die Eingabe des Request Body Schemas sind:

  • 'sid': die site ID (aus Schritt 2)
  • 'pop_id': die pop ID (aus Schritt 1)
  • 'fiber': ein lokaler Identifier relativ zu der angegebenen SID (OAID)
  • 'token': entweder "idle", "prepared", "indelivery", "connected", oder "unclear"
  • 'contract': der Name des Vertrags

Zum Beispiel verwenden wir die 'sid' und 'pop_id' aus den vorherigen Schritten, setzen 'fiber' auf "1", 'token' auf "prepared" und nennen den 'contract' "fiber_example":

$ curl --request POST --location "https://api.myfiber.at/v1/pip/resource/links/" \
$  --header "Authorization: Bearer <access_token>" \
$  --header "Accept: application/json" \
$  --header "Content-Type: application/json" \
$  --data '{
    "sid": "71fbbf5d-07d3-4db1-95f9-246f9524eae2", 
    "pop_id": "d43f97fa-471d-4ccb-a649-7a0d755c1d74", 
    "fiber": "1", 
    "token": "prepared", 
    "contract": "fiber_example"
}'
---> 100%

{
    "tenant": "fiberpark",
    "link_id": "c9d8392b-6a16-429c-abac-0a25e43e6256"
    "sid": "71fbbf5d-07d3-4db1-95f9-246f9524eae2",
    "oaid": "ABCD1234",
    "fiber": "1",
    "status": "active",
    "token": "prepared",
    "pip": "example_pip",
    "contract": "fiber_example",
    "pop_id": "d43f97fa-471d-4ccb-a649-7a0d755c1d74",
    "pop_position": {
        "rack": null,
        "shelf": null,
        "frame": null,
        "patchpanel": null,
        "port": null,
        "port_type": null
    },
    "external_id": null,
    "customer_reference": null,
    "created_at": "2019-05-29T17:11:14.206+00:00",
    "modified_at": "2021-04-12T13:03:07.566+00:00",
    "_etag": "P4zSJFSiVk9"
}