Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Inhalt

Inhalt

Allgemeine Informationen

Das PostService-Plugin von JAXForms liefert in Adressfeldern Vorschläge für PLZ, Ort und Strasse. Es führt dazu keine eigene Adressliste, sondern fragt bei jeder Eingabe live den Adress-Webservice der Schweizerischen Post ab und übernimmt die gelieferten Werte unverändert ins Formular.

Diese Seite beschreibt den verwendeten Webservice, die Struktur von Request und Answer sowie Beispiele für die drei Suchen PLZ, Ort und Strasse.

ThemaAngabe
AnbieterPost CH AG, Produkt «Adress Web Services» (Adressassistent)
SchnittstelleREST/JSON über HTTPS
Methode für VorschlägePOST /autocomplete2 (QueryAutoComplete2)
URL Produktionhttps://webservices.post.ch:17023/IN_SYNSYN_EXT/REST/v1
URL Integrationhttps://webservices-int.post.ch:17023/IN_SYNSYN_EXT_INT/REST/v1
URL Testhttps://webservices-int.post.ch:17029/IN_SYNSYN_EXT_TEST/REST/v1
DatengrundlageReferenzdaten der Post («Swiss Post reference data»). Enthalten sind nur postalisch bediente Strassen und Gebäude der Schweiz und des Fürstentums Liechtenstein.
Info
titleQuelle der Angaben

Technische Spezifikation «Address web services REST» im Entwicklerportal der Post (Kapitel 4.4, 4.6, 7, 8, 9 und 11). Stand: 12.11.2026 sind die Seiten unter developer.post.ch nicht erreichbar; gelesen wurden die archivierten Fassungen vom 21.05.2026 und 10.06.2026.
https://web.archive.org/web/20260521015423/https://developer.post.ch/en/address-web-services-rest


Schnittstelle

Request

Codeblock
languagetext
titlePseudo-Schema Request
request*: {
  HouseKey*: Zahl
  HouseNumber*: Text
  HouseNumberAddition*: Text
  Onrp*: Zahl
  Streetname*: Text
  StrId*: Zahl
  TownName*: Text
  ZipAddition*: Text
  Zipcode*: Text
}
zipOrderMode*: Zahl
FeldTypVom Plugin befülltBeschreibung
ZipcodeText✔PLZ oder Anfang einer PLZ. Suchbegriff der PLZ-Suche, Einschränkung bei der Strassensuche.
TownNameText✔Ortsname oder Wortanfang davon. Suchbegriff der Ortssuche.
StreetnameText✔Strassenname oder Wortanfang davon. Suchbegriff der Strassensuche.
HouseNumberText❌Hausnummer. Bleibt leer.
HouseNumberAdditionText❌Hausnummer-Zusatz. Bleibt leer.
ZipAdditionText❌PLZ-Zusatzziffer. Bleibt leer.
OnrpZahl❌Ordnungsnummer Post (Schlüssel von PLZ/Ort). Immer 0.
StrIdZahl❌Schlüssel der Strasse. Immer 0.
HouseKeyZahl❌Schlüssel des Gebäudes. Immer 0.
zipOrderModeZahl✔Sortierung der Treffer. Das Plugin sendet immer 0.

Anmerkung: Das Plugin sendet immer alle Felder. Nicht verwendete Textfelder sind leer, nicht verwendete Schlüssel haben den Wert 0.

Answer

Codeblock
languagetext
titlePseudo-Schema Answer
QueryAutoComplete2Result*: {
  AutoCompleteResult*: [ {
    HouseKey*: Zahl
    HouseNumber*: Text
    HouseNumberAddition*: Text
    Onrp*: Zahl
    StrId*: Zahl
    Streetname*: Text
    TownName*: Text
    ZipAddition*: Text
    Zipcode*: Text
  } ]
  Status*: Zahl
}
FeldTypBeschreibung
ZipcodeTextVierstellige PLZ.
ZipAdditionTextPLZ-Zusatzziffer (fünfte und sechste Stelle). Unterscheidet gleichlautende vierstellige PLZ.
TownNameTextOrtsbezeichnung. JAXForms schreibt sie unverändert ins Ort-Feld.
OnrpZahlOrdnungsnummer Post. Eindeutiger, unveränderlicher Schlüssel von PLZ/Ort.
StreetnameTextStrassenname in der Schreibweise der Post. Leer bei Treffern auf Ortsebene.
StrIdZahlSchlüssel der Strasse. 0 bei Treffern auf Ortsebene.
HouseKeyZahlSchlüssel des Gebäudes. 0 bei Treffern auf Orts- oder Strassenebene.
HouseNumber, HouseNumberAdditionTextHausnummer und Zusatz. Leer bei Treffern auf Orts- oder Strassenebene.
StatusZahl0 = Abfrage erfolgreich. Weitere Werte siehe «Verhaltensregeln».



Verhaltensregeln

Suchebene

Die Suchebene (Ort, Strasse oder Gebäude) wird nicht über einen Parameter gewählt. Sie ergibt sich daraus, welche Felder im Request gefüllt sind.

Suche im PluginSuchtypGefüllte FelderTreffer
PLZPLZZipcode = EingabeOrte mit passender PLZ
OrtORTTownName = EingabeOrte mit passendem Namen
StrasseSTRASSEStreetname = Eingabe, Zipcode = Wert des PLZ-Felds im FormularStrassen im Gebiet der PLZ



Beispiel-Daten

Alle Requests gehen per POST an {BASIS_URL}/autocomplete2.

PLZ

Request: PLZ-Suche mit «1374»

Codeblock
languagejavascript
titleRequest PLZ 1374
collapsetrue
{
  "request" : {
    "HouseKey" : 0,
    "HouseNumber" : "",
    "HouseNumberAddition" : "",
    "Onrp" : 0,
    "Streetname" : "",
    "StrId" : 0,
    "TownName" : "",
    "ZipAddition" : "",
    "Zipcode" : "1374"
  },
  "zipOrderMode" : 0
}

Answer: ein Ort, Ortsbezeichnung mit 23 Zeichen

Codeblock
languagejavascript
titleAnswer PLZ 1374
collapsetrue
{
  "QueryAutoComplete2Result" : {
    "AutoCompleteResult" : [ {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 588,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Corcelles-sur-Chavornay",
      "ZipAddition" : "00",
      "Zipcode" : "1374"
    } ],
    "Status" : 0
  }
}

Request: PLZ-Suche mit «2206»

Codeblock
languagejavascript
titleRequest PLZ 2206
collapsetrue
{
  "request" : {
    "HouseKey" : 0,
    "HouseNumber" : "",
    "HouseNumberAddition" : "",
    "Onrp" : 0,
    "Streetname" : "",
    "StrId" : 0,
    "TownName" : "",
    "ZipAddition" : "",
    "Zipcode" : "2206"
  },
  "zipOrderMode" : 0
}

Answer: ein Ort, Ortsbezeichnung mit 25 Zeichen

Codeblock
languagejavascript
titleAnswer PLZ 2206
collapsetrue
{
  "QueryAutoComplete2Result" : {
    "AutoCompleteResult" : [ {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 1359,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Les Geneveys-sur-Coffrane",
      "ZipAddition" : "00",
      "Zipcode" : "2206"
    } ],
    "Status" : 0
  }
}

Ort

Request: Ortssuche mit «Aarau»

Codeblock
languagejavascript
titleRequest Ort
collapsetrue
{
  "request" : {
    "HouseKey" : 0,
    "HouseNumber" : "",
    "HouseNumberAddition" : "",
    "Onrp" : 0,
    "Streetname" : "",
    "StrId" : 0,
    "TownName" : "Aarau",
    "ZipAddition" : "",
    "Zipcode" : ""
  },
  "zipOrderMode" : 0
}

Answer

Codeblock
languagejavascript
titleAnswer Ort
collapsetrue
{
  "QueryAutoComplete2Result" : {
    "AutoCompleteResult" : [ {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 2913,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Aarau",
      "ZipAddition" : "00",
      "Zipcode" : "5000"
    }, {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 2928,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Aarau 1",
      "ZipAddition" : "00",
      "Zipcode" : "5001"
    }, {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 2932,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Aarau",
      "ZipAddition" : "00",
      "Zipcode" : "5004"
    }, {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 2949,
      "StrId" : 0,
      "Streetname" : "",
      "TownName" : "Aarau Rohr",
      "ZipAddition" : "00",
      "Zipcode" : "5032"
    } ],
    "Status" : 0
  }
}

Strasse

Request: Strassensuche mit «Frankl», eingeschränkt auf die PLZ 8050

Codeblock
languagejavascript
titleRequest Strasse
collapsetrue
{
  "request" : {
    "HouseKey" : 0,
    "HouseNumber" : "",
    "HouseNumberAddition" : "",
    "Onrp" : 0,
    "Streetname" : "Frankl",
    "StrId" : 0,
    "TownName" : "",
    "ZipAddition" : "",
    "Zipcode" : "8050"
  },
  "zipOrderMode" : 0
}

Answer: eine Strasse, mit Schlüssel der Strasse und des Orts

Codeblock
languagejavascript
titleAnswer Strasse
collapsetrue
{
  "QueryAutoComplete2Result" : {
    "AutoCompleteResult" : [ {
      "HouseKey" : 0,
      "HouseNumber" : "",
      "HouseNumberAddition" : "",
      "Onrp" : 4468,
      "StrId" : 66043,
      "Streetname" : "Franklinstrasse",
      "TownName" : "Zürich",
      "ZipAddition" : "00",
      "Zipcode" : "8050"
    } ],
    "Status" : 0
  }
}