Seit Stampit Ende 2011 durch die Plattform Internetmarke der Deutschen Post abgelöst wurde, können Kunden online ein Adressformular ausfüllen und Briefmarken herunterladen. Unternehmen und Betriebe, die diesen Schritt jedoch häufiger durchlaufen, möchten ihre Kundendaten nicht umständlich auf eine Website kopieren und anschließend die Marke manuell an den Drucker senden. Abhilfe leistet ein Webservice, der von der Deutschen Post kostenfrei zur Verfügung gestellt wird.

Auf Anfrage vergibt die Post hierfür eine Partner-ID sowie einen zugehörigen Schlüssel. Aus Erfahrung sollte hier mit einer Bearbeitungsdauer von knapp einem Monat gerechnet werden.

Bevor man eine Implementierung der Schnittstelle beginnt, sollte die Dokumentation des Webservices eingehend studiert werden. Für Testzwecke empfehlen wir die Web Tools Plattform von Eclipse, da somit der Funktionsumfang erkundet werden kann, ohne hierfür sofort die technischen Grundlagen zu schaffen. Dazu wird die WSDL angegeben und die Eclipse-Anwendung stellt alle Funktionen grafisch zur Verfügung.

Um eine Briefmarke automatisiert über den Webservice zu drucken, muss folgender Prozess durchlaufen werden:

1. Authentifizieren

Für die Portomarkenbestellung ist eine Authentifizierung über einen Token nötig. Dieser muss täglich nur einmal angefordert werden, bevor er seine Gültigkeit verliert.

response = client.request :onec, "AuthenticateUserRequest" do |soap|
  soap.header = {
    'onec:PARTNER_ID' => data[:partner_id],
    'onec:REQUEST_TIMESTAMP' => timestamp,
    'onec:KEY_PHASE' => data[:key_phase],
    'onec:PARTNER_SIGNATURE' => partner_sig
  }
  soap.body = {
    'onec:username' => 'mymail@address.com',
    'onec:password' => 'mypw',
    :order! => ['onec:username', 'onec:password']
  }
end

2. Anfordern der Briefmarken

Ist man authentifiziert, können als nächstes die notwendigen Briefmarken bestellt werden. Dabei wird über den Parameter onec:voucherLayout angegeben, ob die Empfänger- und Absenderadresse mit abgedruckt wird.

Das linke Bild entspricht der typischen Briefmarke, die auf einen Brief geklebt werden könnte, wenn es sich hierbei nicht um einen Musterdruck handeln würde. Alternativ kann auch eine Adresse angegeben werden - siehe rechtes Beispiel.

Frankierung ohne Adresse

Frankierung ohne Adresse

Frankierung mit Adresse

Frankiermarke mit Adresse

Der Webservice von der Deutschen Post ist leider nicht der schnellste. Pro Briefmarke ist mit einer Ladezeit von ca. 2-3 Sekunden zu rechnen. Es darf an dieser Stelle nicht vergessen werden, dass diese Funktion die Portokasse bereits belastet. Sollte es bei den folgenden Schritten zu Fehlern kommen, kann der Portomarkendruck zur Not auch noch manuell vorgenommen werden. Die Deutsche Post versendet nach jeder Bestellung eine E-Mail mit den entsprechenden Links.

3. Briefmarken laden

Die oben angegebenen Briefmarken werden als Zip-Archiv zur Verfügung gestellt und heruntergeladen. Verwendet man die Programmiersprache Ruby, können mittels rubyzip die PNG-Dateien extrahiert werden.

Zip::ZipFile.open(File.join(output_dir, loaded_archive))  do |zip_file|
  zip_file.each do |f|
    f_path = File.join(franking_path, f.name)
    zip_file.extract(f, f_path) unless File.exist?(f_path)
  end
end

4. Drucken der Bilddateien

Im letzten Schritt wird die Portomarke ausgedruckt. Hierfür nutzen wir den Dymo LabelWriter 450 , welcher für Labels dieser Art konzipiert wurde. Dank des Webservices lassen sich beispielsweise Briefe online schreiben und per Knopfdruck frankieren.

5. Professionelle Unterstützung

Wer sich mit den technischen Details nicht auseinandersetzen möchte, dem bieten wir entsprechende Dienstleistungen an. Nehmen Sie dazu einfach Kontakt mit uns auf.

Quellcode für PHP + Ruby

Derzeit bieten wir ein PHP- und Ruby-Script mit entsprechender Dokumentation an.

weitere Infos
comments powered by Disqus