postaddress api

REST Api für Postaddressen

Hinweis:

Wenn der max Parameter nicht mitgegeben wird, wird die Anzahl der Ergebnisse auf 100 limitiert

Wenn kein Parameter mitgegegben wird, kommt eine Leere Antwort

Authentication

Authentication funktioniert über einen Api Key, der im Requestheader übermittelt wird

Header:

Authorization : Bearer xxxxxxxxxxxxxxxxxxxxxxxxxx

Endpoint places

Sucht in new_plz1 und new_plz2

Mögliche Parameter:

name=freien str, sucht nach Ortsnamen die den String enthalten.

Leerzeichen, Punkte und co sind UND-verknüpfen mehrerer LIKE Statements: "st ga" gibt St Gallen, Gadenstätt und St. Margarethen zurück

max=10 int, Antwort-Begrenzung

all=True bool, wenn gesetzt, werden Postfächer und Firmeneigene Postleitzahlen zurückgegeben

GET: /places?name=zuric

[
    {
        "id": 4384,
        "postcode": "8000",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },
    {
        "id": 4385,
        "postcode": "8001",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },

    ...

    {
        "id": 4517,
        "postcode": "8132",
        "name": "Egg b. Zürich",
        "canton": "ZH",
        "district": "Egg",
        "iso": "CH-ZH"
    }
]

Zu beachten:

Direkte Auswahl des Endpunkts gibt alle Strassen in einer Ortschaft zurück

GET: /postcodes/5056

{
    "id": 5056,
    "postcode": "8807",
    "name": "Freienbach",
    "canton": "SZ",
    "district": "Freienbach",
    "iso": "CH-SZ",
    "streets": {
        "89857": "Blumenweg",
        "7300": "Bodmerweg",

        ...

        "7336": "Wiesenstrasse",
        "7338": "Wolleraustrasse"
    }
}

Fremdsprachige oder alternative Ortsbezeichnungen werden auf die Hauptbezeichnung korrigiert

GET: /places?name=zurigo

[
    {
        "id": 4384,
        "postcode": "8000",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },
    ...

GET: /places?name=geeren

[
    {
        "id": 5720,
        "postcode": "8044",
        "name": "Gockhausen",
        "canton": "ZH",
        "district": "Dübendorf",
        "iso": "CH-ZH"
    }
]

Endpoint postcodes

Sucht in new_plz1

Mögliche Parameter:

postcode=80 str, gibt Postleitzahlen die mit den minimun ersten 2 Zahlen anfangen

max=10 int, Antwort-Begrenzung

all=True bool, wenn gesetzt, werden Postfächer und Firmeneigene Postleitzahlen zurückgegeben

GET: /postcodes?postcode=80&max=30

[
    {
        "id": 4384,
        "postcode": "8000",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },
    {
        "id": 4385,
        "postcode": "8001",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },

    ...

    {
        "id": 5720,
        "postcode": "8044",
        "name": "Gockhausen",
        "canton": "ZH",
        "district": "Dübendorf",
        "iso": "CH-ZH"
    }
]

Zu beachten:

Direkte Auswahl des Endpunkts gibt alle Strassen in einer Ortschaft zurück Wobei der Schlüssel des Strasseneintrags, die ID der Strasse ist

GET: /postcodes/5056

{
    "id": 5056,
    "postcode": "8807",
    "name": "Freienbach",
    "canton": "SZ",
    "district": "Freienbach",
    "iso": "CH-SZ",
    "streets": {
        "89857": "Blumenweg",
        "7300": "Bodmerweg",

        ...

        "7336": "Wiesenstrasse",
        "7338": "Wolleraustrasse"
    }
}

Es kann mehrere Ortschaften unter derselben Postleitzahl geben

GET: /postcodes?postcode=8044

[
    {
        "id": 4457,
        "postcode": "8044",
        "name": "Zürich",
        "canton": "ZH",
        "district": "Zürich",
        "iso": "CH-ZH"
    },
    {
        "id": 5720,
        "postcode": "8044",
        "name": "Gockhausen",
        "canton": "ZH",
        "district": "Dübendorf",
        "iso": "CH-ZH"
    }
]

Endpoint streets

Sucht in new_str und new_stra

Für Hausnummerne in new_geb

Mögliche Parameter:

id int, sucht nur innerhalb eines ortes

name sucht nach Strassennamen die den String enthalten.

Leerzeichen, Punkte und co sind UND-verknüpfen mehrerer LIKE Statements: "st ga" gibt St Gallen, Gadenstätt und St. Margarethen zurück

max=17 int, Antwort-Begrenzung

GET: /streets?name=kant+stras

[
    {
        "id": 7315,
        "name": "Kantonsstrasse",
        "place": {
            "id": 5056,
            "postcode": "8807",
            "name": "Freienbach"
        }
    },

    ...

    {
        "id": 76158984,
        "name": "Kantonsstrasse",
        "place": {
            "id": 4148,
            "postcode": "7240",
            "name": "Küblis"
        }
    },
    {
        "id": 76161858,
        "name": "Kantonsstrasse",
        "place": {
            "id": 5945,
            "postcode": "6038",
            "name": "Honau"
        }
    }
]

Zu beachten:

Direkte Auswahl des Endpunkts gibt alle Hausnummern zurück

GET: /streets/7315

{
    "id": 7315,
    "name": "Kantonsstrasse",
    "house_numbers": [
        "1A",
        "1",
        "2",
        "4",

        ...

        "159",
        "160",
        "161",
        "161B",
        "161A",
        "162"
    ],
    "place": {
        "id": 5056,
        "postcode": "8807",
        "name": "Freienbach"
    }
}

Endpoint Addresses

Noch in Entwicklung