Diese Seite beschreibt die extern zugängliche API für ePublikation. Die API ermöglicht die programmgesteuerte Interaktion zum Publizieren von Meldungen in Amtsblättern. Diese RESTful-API wurden gemäß der OpenAPI-Spezifikation für eine nahtlose Integration durch Drittanbieter entwickelt und verfügen über eine interaktive Dokumentation, die über Swagger UI bereitgestellt wird.
Das Tutorial „Erste Schritte“ ist so konzipiert, dass es weder fundierte Kenntnisse der Konzepte hinter ePublikation noch tiefgreifende Programmierkenntnisse erfordert. Es ist jedoch ratsam, sich zunächst einen Überblick über das Konzept und die Funktionen der Plattform zu verschaffen, um später die verschiedenen Meldungstypen implementieren zu können.
Das Frontend der Anwendung ist unter https://preview.epublication.ch erreichbar.
In dieser Anleitung führen wir Sie durch die Grundlagen der Nutzung der ePublikation-API. Es gibt verschiedene Möglichkeiten, sich mit der API vertraut zu machen.
- Die einfachste Methode: Probieren Sie die API mit Swagger aus
- Senden Sie eine Anfrage über cURL im CLI
- Nutzen Sie die vordefinierte Bruno-Sammlung, die in diesem Repository bereitgestellt wird
Swagger
Swagger ist ein Open-Source-Toolset, das auf der OpenAPI-Spezifikation basiert und Entwicklern dabei hilft, RESTful-Webdienste zu entwerfen, zu erstellen, zu dokumentieren und zu nutzen. Wenn Sie ein wenig experimentieren und sich mit der API vertraut machen möchten, müssen Sie keine lokale Software installieren. Rufen Sie einfach die öffentlichen Swagger-Endpunkte auf.
Veröffentlichte Meldungen abrufen
Das Abrufen veröffentlichter Meldungen erfolgt Schritt für Schritt wie folgt:
1. Für die Anfrage veröffentlichter Meldungen ist keine Authentifizierung erforderlich (der Screenshot unten zeigt alle Endpunkte, die keine Authentifizierung erfordern).
2. Über den Endpunkt "../announcements" können die Meldungen in einer Liste abgerufen werden. Die Liste enthält nur Metadaten, wie den Meldungstitel und die Veröffentlichungsnummer. Der folgende Beispielcode veranschaulicht die Filtermöglichkeiten. Unter Verwendung der angegebenen Filterkriterien werden nur jene Meldungen zurückgegeben, die in der „Gazette A“ veröffentlicht wurden und den Begriff „Sample“ enthalten. Klicken Sie dazu auf "Try it out".
Fügen Sie den nachfolgenden Code in das Feld „Request Body“ ein.
{
"filter": {
"gazette": "GZA",
"term": "Sample"
},
"page": 0,
"pageSize": 20,
"sort": {
"field": "businessId",
"direction": "ASC"
}
}Klicken Sie "Execute".
Wenn die Anfrage erfolgreich ist (HTTP-Status 200), wird die Liste als JSON zurückgegeben.
3. Der Wert von „publicationNumber“ wird dann verwendet, um die detaillierten Daten einer Meldung abzurufen. Dazu wird der Endpunkt "../announcement/{publicationNumber}" verwendet. Kopieren Sie den Wert von "publicationNumber“ in das Feld „publication-number".
Dieses Verfahren veranschaulicht, wie der Datenabruf im Wesentlichen umgesetzt werden sollte
Meldung einreichen
Der Endpunkt zum Einreichen von Meldungen dürfte von besonderem Interesse sein. Gehen wir dies Schritt für Schritt durch. Für bestimmte Anfragen (Einreichen von Meldungen, Abrufen von unveröffentlichten Meldungen) ist eine Authentifizierung erforderlich. Bitte kontaktieren Sie uns für einen Demo-Zugang. Mit den bereitgestellten Zugangsdaten können Sie die folgenden eingeschränkten Endpunkte nutzen.
1. Melden Sie sich mit den bereitgestellten Zugangsdaten an.
2. Öffnen Sie den Endpunkt "../submission" und klicken Sie auf "Try it out".
3. Sie sehen nun ein bearbeitbares Feld mit weißem Hintergrund. Löschen Sie den Code im Feld.
4. Fügen Sie den unten angegebenen Code in das Feld ein.
Wichtig: Der Wert von "publicationDateTime" muss in der Zukunft liegen und auf einen Wochentag fallen.
{
"publishingEntity": "PEA",
"organizationUnit": "PEA-OE01",
"gazette": "GZA",
"announcementType": "000",
"publicationPeriod": 35,
"languages": [
"DE"
],
"primaryLanguage": "DE",
"secondaryGazettes": [
"GZB"
],
"primaryTopic": "debtEnforcementBankruptcy",
"allowedTopics": [
"debtEnforcementBankruptcy"
],
"primaryAffectedCanton": "ZH",
"affectedCantons": [
"ZH"
],
"primaryAffectedMunicipality": "Hausen am Albis",
"affectedMunicipalities": [
"Hausen am Albis"
],
"businessCase": "documentA",
"content": [
{
"language": "DE",
"elements": [
{
"key": "name",
"label": "Titel der Meldung",
"type": "stringMultiLang",
"value": [
"Some Sample Title"
]
},
{
"key": "notice",
"label": "Inhalt",
"type": "textarea",
"value": [
"Some Sample Content: Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard <strong>dummy text</strong> ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.<br /><br /><ul><li>It has survived not only five centuries</li><li>but also the leap into electronic typesetting</li></ul>Remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum."
]
}
]
}
],
"publicationDateTime": "2026-04-02",
"status": "PUBLISHED"
}
5. Sie sollten nun eine HTTP-201-Antwort erhalten. Das bedeutet, dass der Meldungsimport erfolgreich durchgeführt wurde.
6. Die Meldung ist nun veröffentlicht. Sie können die Meldung im Frontend der Anwendung unter https://preview.epublication.ch.
CLI
Eine weitere einfache Möglichkeit, eine erste Verbindung herzustellen, ist die Verwendung des folgenden einfachen cURL-Befehls. Auch hier ist keine Authentifizierung erforderlich, um eine Liste der veröffentlichten Meldungen anzuzeigen. Öffnen Sie einfach eine Eingabeaufforderung (z. B. „cmd“ auf Ihrem Windows-Computer) und fügen Sie den folgenden cURL-Befehl ein. Als Ergebnis sollten Sie eine Liste im JSON-Format der letzten 20 auf ePublikation.ch veröffentlichten Meldungen erhalten.
curl -X "POST" "https://preview.epublication.ch/api/management/public/interface/v1/announcements" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"page\": 0, \"pageSize\": 20}"
Bruno
Bruno ist ein Open-Source-API-Client, welcher vorliegend als freie Alternative zu Tools wie Postman und Insomnia verwendet wird. Bruno speichert Ihre Sammlungen mithilfe einer einfachen Textmarkup-Sprache direkt in einem Ordner auf Ihrem Dateisystem.
Bruno herunterladen: https://www.usebruno.com
Importieren Sie die hier bereitgestellte Collection. Weitere Informationen zur Verwendung finden Sie auf der Registerkarte "Docs" innerhalb der Collection.
Muster-Collection
Der Bruno-Collection wurden neue Meldungsimporte für die folgenden Meldungstypen hinzugefügt:
- Allgemeine amtliche Meldung
- Einzelnes Bauvorhaben
- Mitteilung zum Notariatsregister
- Eintrag im Handelsregister
- Eröffnung eines Insolvenzverfahrens
- Aufforderung zur Geltendmachung von Ansprüchen aufgrund einer Organisationsänderung
Wie geht es weiter?
Das MVP wird nun kontinuierlich verbessert. Neue Informationen und Schritt-für-Schritt-Anleitungen werden hier fortlaufend publiziert. Als Nächstes folgen:
- Schemas der wichtigsten Meldungstypen
- Katalog der möglichen Schlüssel/Begriffe
- Katalog der möglichen Geschäftsfälle