Neu Automatisiertes Kaufen und Drucken von Deutsche Post Internetmarken via API / CSV-Import

dc-nico

Sehr aktives Mitglied
17. März 2011
3.018
274
Brandenburg an der Havel
Hallo,

hier ein kleines Programm, welches den Versand per Internetmarke von jedem Programm mit CSV-Export ermöglicht.


Internetmarken-Center​

Automatisiertes Kaufen und Drucken von Deutsche Post Internetmarken via CSV-Import

Das Internetmarken-Center ist eine leistungsstarke Windows-Desktop-Anwendung zur effizienten Abwicklung Ihres Postversands. Die Software liest Empfängerdaten direkt aus CSV-Dateien (z. B. aus Shop-Systemen, JTL-Wawi oder Excel) ein, kauft vollautomatisch die benötigten Portomarken über die offizielle REST-API der Deutschen Post und druckt diese passgenau auf Ihren Etikettendrucker.

1. Funktionsübersicht & Key Features​

  • Automatischer CSV-Import: Flexible Zuordnung von Empfängerfeldern (Name, Straße, PLZ, Ort, Land) aus beliebig strukturierten CSV-Dateien.
  • Batch-Verarbeitung (Massenkauf): Hunderte Sendungen gleichzeitig auswählen, Porto berechnen und in einem einzigen Durchgang kaufen.
  • Direktes Drucken auf Etikettendrucker: Nahtlose Ansteuerung von Labeldruckern (z. B. Brother QL, Dymo, Zebra) für Einzeletiketten oder DIN-A4-Bögen.
  • Porto-Vorauswahl & Automatische Erkennung: Schnelle Auswahl gängiger Brief- und Paketprodukte der Deutschen Post (Standardbrief, Kompaktbrief, Großbrief, Maxibrief, Priorität, Einschreiben, Warenpost) oder automatische Zuweisung direkt aus der CSV-Datei.
  • Historie & Nachdruck: Lokale Speicherung gekaufter Marken mit Möglichkeit zum erneuten Ausdrucken im Fehlerfall (z. B. bei Papierstau) sowie Export der generierten Sendungsnummern.
  • Lokale Datenhaltung: Keine monatlichen Lizenzgebühren oder Abhängigkeiten von Drittservern – die Kommunikation erfolgt direkt zwischen Ihrem PC und der API der Deutschen Post.

2. Einrichtungsanleitung: API & Portokasse freischalten​

Um die automatische Schnittstelle nutzen zu können, benötigen Sie offizielle Entwickler-Zugangsdaten der Deutschen Post sowie eine aktivierte Portokasse.

Teil A: API-Zugangsdaten der Deutschen Post anfordern​

  1. Registrierung im Entwicklerportal: Öffnen Sie das Entwicklerportal der Deutschen Post unter developer.deutschepost.de und erstellen Sie ein kostenloses Entwickler-Konto (Developer Account).
  2. API-Anwendung anlegen: Loggen Sie sich ein, navigieren Sie zu App-Verwaltung / Meine Apps, erstellen Sie eine neue App (z. B. Name: Internetmarken-Center) und wählen Sie die Schnittstelle "Internetmarke API" bzw. "Portokasse API" aus.
  3. API-Keys notieren: Nach dem Erstellen erhalten Sie im Entwickler-Dashboard Ihre Client ID (App-Schlüssel) und Ihr Client Secret (Geheimschlüssel).

Teil B: Portokasse einrichten, aufladen & Drittanbieter-App freischalten​

  1. Portokasse-Konto erstellen: Rufen Sie portokasse.deutschepost.de auf und registrieren Sie sich (oder nutzen Sie Ihre bestehenden Login-Daten der Deutschen Post / DHL).
  2. Erste Aufladung durchführen (Voraussetzung für Freischaltung): Loggen Sie sich in Ihre Portokasse ein und führen Sie eine erste Aufladung/Bestellung durch (z. B. 10 € oder 20 € per SEPA-Lastschrift, PayPal, Kreditkarte oder Überweisung). Erst durch diese erste Transaktion wird der Versand der Freischalt-E-Mail für die API-Anwendung angestoßen.
  3. App in der Portokasse aktivieren (Finaler Schlüssel): Sobald Sie die Bestätigungs-E-Mail zur App-Freischaltung von der Deutschen Post erhalten haben, loggen Sie sich erneut in Ihre Portokasse ein. Navigieren Sie zu Einstellungen ➔ Drittanbieter-Anwendungen / Berechtigungen (bzw. App-Verwaltung), suchen Sie die Anwendung Internetmarken-Center und aktivieren/bestätigen Sie diese explizit.

Teil C: Einmalige Konfiguration im Internetmarken-Center​

  1. Öffnen Sie das Internetmarken-Center auf Ihrem PC.
  2. Gehen Sie zu Einstellungen ➔ API / Post-Zugangsdaten.
  3. Tragen Sie Ihre Client ID, Ihr Client Secret sowie Ihre Portokasse-Zugangsdaten (E-Mail & Passwort) ein und speichern Sie die Eingabe.
  4. Die Software ist nun vollständig einsatzbereit!

Teil C: Option für Entwickler & Tests (Sandbox-Testkonto)​

  1. Wenn Sie das System vorab risikofrei in einer reinen Testumgebung testen möchten, registrieren Sie ein neues, separates Portokassen-Konto (ohne echtes Geld aufzuladen).
  2. Senden Sie anschließend eine E-Mail mit Ihrer Portokassen-ID und der registrierten E-Mail-Adresse an den Entwickler-Support (Internetmarke-Technik@deutschepost.de)
    und bitten darum, dieses als Testkonto einzurichten.
  3. Der Support stellt dieses Konto anschließend als kostenloses Entwickler-/Sandbox-Konto mit virtuellem Testguthaben für API-Tests um.

3. Wie das Programm funktioniert (Workflow)​


[ CSV-Datei / Export ] ➔ [ Daten-Import & Vorschau ] ➔ [ Produkt wählen / Automatisch aus CSV erkennen ] ➔ [ API-Kauf via Portokasse ] ➔ [ Etikettendruck ] ➔ [ Sendungsnummer für Import ]

  1. CSV-Datei laden: Sie wählen Ihre Exportdatei aus dem Shop- oder Warenwirtschaftssystem aus.
  2. Adressen prüfen: Die Anwendung zeigt eine übersichtliche Tabelle mit den eingelesenen Empfängern.
  3. Porto festlegen: Wählen Sie das gewünschte Porto-Produkt (z. B. Großbrief) manuell aus oder lassen Sie es automatisch über ein Feld in der CSV-Datei erkennen.
  4. Portokasse belasten & Generieren: Die Software sendet die Kaufanfrage verschlüsselt an die API der Deutschen Post. Das Guthaben wird automatisch von Ihrer Portokasse abgebucht, und das fertige Druckbild wird zurückgeliefert.
  5. Drucken & Sendungsnummern verarbeiten: Die Etiketten werden direkt an Ihren angeschlossenen Etikettendrucker gesendet. Die erzeugten Sendungsnummern stehen für den Rückimport in Ihr System zur Verfügung.

4. Systemvoraussetzungen​

  • Betriebssystem: Windows 10 / Windows 11 (64-Bit)
  • Hardware: Standard-PC / Laptop, angeschlossener Etikettendrucker (Brother QL, Dymo, Zebra etc.) oder Standard-A4-Drucker
  • Internetverbindung: Erforderlich zur Kommunikation mit der Schnittstelle der Deutschen Post
  • Voraussetzung: Aktive Portokasse mit ausreichendem Guthaben, API-Zugangsdaten & erfolgte App-Aktivierung
Betriebssystem: Windows 10 / Windows 11 (64-Bit)
  • Hardware: Standard-PC / Laptop, angeschlossener Etikettendrucker (Brother QL, Dymo, Zebra etc.) oder Standard-A4-Drucker
  • Internetverbindung: Erforderlich zur Kommunikation mit der Schnittstelle der Deutschen Post
  • Voraussetzung: Aktive Portokasse mit ausreichendem Guthaben & API-Zugangsdaten


    Download
Sollten noch Fragen offen sein, könnt ihr mich einfach anschreiben.

Gruß, Nico
 

Morimus

Sehr aktives Mitglied
16. Mai 2019
748
206
Echt gut!
Aber leider könnte ich das so bei uns im Hause (noch) nicht einsetzen:

Befehlsausführung über CSV-Daten:
Die Bestellreferenz aus der CSV wird zum Dateinamen.
Dabei werden nur / und \ ersetzt (main.py:1718, 1806).
Der daraus gebildete Pfad wird ungefiltert in einen PowerShell-Befehl mit doppelten Anführungszeichen eingesetzt (main.py:660–681).
PowerShell wertet darin Ausdrücke wie $() aus.
Ich konnte so mit einer manipulierte CSV, befehle mit den Rechten des angemeldeten Benutzers auslösen.

Zugangsdaten im Klartext:
Portokasse-Benutzername und Passwort werden unverändert per json.dump in %APPDATA%\InternetmarkenCenter\config.json gespeichert (main.py:86–89, 1041–1047).

Doppelkäufe:
Deine Anwendung kauft zuerst, speichert und druckt danach.
Scheitert das Erkennen der Markennummer, das Laden des PDFs, das Speichern oder Drucken, meldet sie einen Fehler, obwohl der Kauf bereits erfolgt sein kann (main.py:529–630, 1804–1812).

Und diverse weitere "Fehler" wie das hardgecodete Produktcode 1 wenn eine Versandart fehlt.
Oder fehlender timeout der API-Aufrufe.

Die Zeilennummern sind Zeilenzuordnungen des eingebetteten Python-Bytecodes.
 

dc-nico

Sehr aktives Mitglied
17. März 2011
3.018
274
Brandenburg an der Havel
Hallo, danke für dein Feedback.
In der heute erstellten Version scheint etwas mit dem von dir genannten PDF Erstellung und dem Kauf falsch zu laufen.
Habe es soeben selbst bemerkt, da ich den Versand ausgeführt habe.
Melde mich dann, sobald die Fehler behoben und Verbesserungen umgesetzt wurden.

Gruß, Nico
 

dc-nico

Sehr aktives Mitglied
17. März 2011
3.018
274
Brandenburg an der Havel
Ich möchte hier nochmals erwähnen, dass in der Anfangsphase, User dieses Forums eine kostenlose Vollversion erhalten.
Das hatte ich in einem anderen Beitrag versprochen und vergessen, hier ebenfalls zu erwähnen.
Einfach bei der Anfrage zur Freischaltung euren Usernamen mit angeben.
Update-Übersicht: Neuerungen & Verbesserungen im Internetmarken Center

In den letzten Updates haben wir das Internetmarken Center umfassend erweitert, viele Abläufe im Arbeitsalltag automatisiert und zahlreiche Detailverbesserungen umgesetzt. Hier findet ihr alle Neuerungen und Optimierungen im Überblick:

💳 Live-Portokasse, Direkt-Aufladung & Modus-Anzeige

  • Live-Guthaben in der Kopfzeile: Das aktuelle Portokassen-Guthaben wird dauerhaft oben im Programm angezeigt (mit farblicher Warnung bei niedrigem Stand) und aktualisiert sich jetzt automatisch nach jedem Einzel- und Stapeldruck sowie nach einer Stornierung.
  • Direktes Aufladen aus der Hauptansicht: Über das neue Betragsfeld und den Button „💳 Aufladen“ in der Kopfzeile lässt sich die Portokasse jetzt direkt aus dem Programm heraus mit den hinterlegten Zugangsdaten aufladen.
  • Deutliche Modus-Anzeige (Produktiv vs. Sandbox): Ein farbiges Status-Badge in der Kopfzeile zeigt auf den ersten Blick an, ob aktuell die produktive Echtgeld-Portokasse (🟢 PRODUKTIV-MODUS) oder die Testumgebung (🟠 SANDBOX / TESTMODUS) aktiv ist.
📂 CSV-Stapeldruck, Export & JTL-Wawi / Ameise-Anbindung

  • Automatischer Sendungsnummern-Export: Nach jedem Einzel- und Stapeldruck wird die erzeugte Voucher-ID samt Auftragsnummer, Versandart, Datum, Uhrzeit und Empfängerdaten automatisch in eine CSV-Datei gespeichert. Über den neuen Button „📄 Sendungsnummern öffnen“ gelangt man direkt in den Export-Ordner (für den Import über die JTL-Ameise).
  • Zentrale Sammeldatei & Mehrpaket-Support: Verbesserte Handhabung von Mehrpaket-Sendungen durch Umstellung auf die Lieferscheinnummer (Vorgang.Lieferschein.Lieferscheinnummer) sowie Bündelung der Sendungsnummern in einer zentralen Exportdatei.
  • Automatische Archivierung („Erledigt“-Ordner): Bereits verarbeitete Import-CSVs werden nach dem Stapeldruck automatisch in einen Unterordner Erledigt verschoben (inklusive Zeitstempel-Schutz gegen versehentliches Überschreiben) und aus der offenen Stapel-Tabelle entfernt.
  • Automatischer Live-Abruf beim Programmstart: Sobald API-Zugangsdaten hinterlegt sind, lädt das Programm beim Start automatisch alle aktuell gültigen Briefprodukte und Ergänzungsmarken direkt von der Post-API und speichert sie lokal im Cache, sodass sie auch sofort offline parat sind.
✍️ Manuelle Erfassung, Produkte & Live-Vorschau

  • Strukturierte Adressfelder & ISO-Länder: Getrennte Eingabefelder für Name 1, Name 2 (Abteilung / c/o), Adresszusatz, Straße, Hausnummer, PLZ, Ort und ISO-Zielland (mit automatischer Umschaltung auf internationale Briefprodukte bei Auslandszielen).
  • Interaktive Produktkacheln & Ergänzungsmarken: Alle nationalen und internationalen Briefprodukte sowie offizielle Ergänzungsmarken (wird noch geprüft ob umsetzbar) lassen sich direkt aus der Post-API abrufen, nach Zone filtern, durchsuchen und über Kacheln (inkl. Mengensteuerung + / −) flexibel kombinieren.
  • Absender-Profile & Echtzeit-Druckvorschau: Verwaltung mehrerer speicherbarer Absender-Profile sowie eine dynamische Live-Vorschau des Etiketts (wahlweise nur Wertmarke mit DataMatrix-Code oder inklusive Empfängeranschrift).
🛠️ Fehlerbehebungen & Performance

  • Absturz beim Drucken und Nachdrucken von Versandlabels behoben.
  • Typkonflikt-Fehler (System.Int32) in DotLiquid-Vorlagen durch saubere String-Formatierung beseitigt.
  • Programmgröße deutlich reduziert und Ladezeiten optimiert.

Gruß, Nico
 

Ähnliche Themen