Transportverfahren | Datei-Import/Export über SFTP-Hotfolder |
---|---|
Objekt | Anzeigen (XML (Buchungsdaten, eine XML-Datei pro Auftrag oder pro Anzeige mit jeweils allen Daten des Auftrages / der Anzeige), PDF (Anzeigenmotive)) |
Trigger | zeitgesteuert mit Intervall (Workflow) |
Typische Drittsysteme | Typische Drittsysteme sind zum Beispiel Vi&Va, SAP, alfa adsuite |
Inhaltsverzeichnis
Funktionalitäten der Schnittstelle
Import Auftragsdaten
Import Anzeigenmotive
Export Anstrich/Statusrückmeldungen
Besondere Angaben zu Eigenschaften
Struktur
Die Tag-Namen sind genau den Namen aus dem oben genannten Beispiel zu entnehmen. Andere Tag-Strukturen werden nicht verarbeitet.
Beispiel:
<?xml version="1.0" encoding="UTF-8" ?>
- <Anzeigen>
- <Anzeige>
<DAnzeigeNr>638524-1</DAnzeigeNr>
<DAnzAuftragNr>638524</DAnzAuftragNr>
<DAnzMotivNr>1</DAnzMotivNr>
<DAnzeigeName>638524(1-1)/AanzName</DAnzeigeName>
<DAnzeigeKunde>AnzKunde</DAnzeigeKunde>
<DAnzeigeKundenNr>444921</DAnzeigeKundenNr>
<Status>beauftragt</Status>
<DAnzProduktTyp>TA</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>47</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>29</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht>
<DAnzSort1></DAnzSort1>
<DAnzSort2></DAnzSort2>
- <Buchungen>
- <Buchung1>
<Ausgabe>ausgabe1</Ausgabe>
<Termin>2023-02-22</Termin>
<AnzeigenRubrik>Immo</AnzeigenRubrik>
<Platzierung></Platzierung>
<PlKommentar />
</Buchung1>
</Buchungen>
</Anzeige>
</Anzeigen>
→ Fehler, da nicht exakte Struktur/Tag-Benennung
Beispiel:
<?xml version="1.0" encoding="UTF-8" ?>
- <Anzeigen>
- <Anzeige>
<DAnzeigeNr>638524-1</DAnzeigeNr>
<DAnzAuftragNr>638524</DAnzAuftragNr>
<DAnzMotivNr>1</DAnzMotivNr>
<DAnzeigeName>638524(1-1)/AanzName</DAnzeigeName>
<DAnzeigeKunde>AnzKunde</DAnzeigeKunde>
<DAnzeigeKundenNr>444921</DAnzeigeKundenNr>
<Status>beauftragt</Status>
<DAnzProduktTyp>TA</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>47</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>29</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht>
<DAnzSort1></DAnzSort1>
<DAnzSort2></DAnzSort2>
- <AnzeigeBuchungen>
- <Buchung>
<Ausgabe>ausgabe1</Ausgabe>
<Termin>2023-02-22</Termin>
<AnzeigenRubrik>Immo</AnzeigenRubrik>
<Platzierung></Platzierung>
<PlKommentar />
</Buchung>
</AnzeigeBuchungen>
</Anzeige>
</Anzeigen>
→ Korrekte Struktur
Pflichtfelder
Um einen fehlerlosen Anzeigenimport zu gewährleisten, müssen die Inhalte folgender Felder zwingend mitgeliefert werden:
DAnzeigeNr
DAnzAuftragNr
DAnzMotivNr
DAnzeigeName
DAnzProduktTyp
DAnzeigeBreiteGebucht
DAnzeigeHoeheGebucht
DAnzeigeFarbplanGebucht
Einschränkungen zu mitgelieferten Inhalten
Neben den Pflichtfeldern, die zwingend mitgeliefert werden müssen, gibt es auch zu bestimmten Eigenschaften eine Struktur, die richtig angeliefert werden muss.
DAnzeigeProduktTyp
Zu DAnzeigeProduktTyp dürfen nur folgende Werte geliefert werden: AT, TT oder TA
Beispiel:
angeliefert: <DAnzProduktTyp>TT-Textteil</DAnzProduktTyp> → Fehler
angeliefert: <DAnzProduktTyp>ST</DAnzProduktTyp> → Fehler
richtige Anlieferung: <DAnzProduktTyp>TT</DAnzProduktTyp>
DAnzeigeBreiteGebucht und DAnzeigeHoeheGebucht
Kommastellen müssen hier mit einem “.” voneinander getrennt werden
Beispiel:
angeliefert: <DAnzeigeBreiteGebucht>47,8</DAnzeigeBreiteGebucht> → Fehler
richtige Anlieferung: <DAnzeigeBreiteGebucht>47.8</DAnzeigeBreiteGebucht>
Termin
Termine (Erscheinungstage) müssen in dem Format JJJJ-MM-TT mitgeliefert werden
Beispiel:
angeliefert: <Termin>22.02.2023</Termin> → Fehler
richtige Anlieferung: <Termin>2023-02-22</Termin>
Storno
Um Anzeigen als Storniert zu kennzeichnen, sind leere Buchungen mitzugeben. Wichtig zu beachten ist, dass das Tag für die Buchungen weiterhin bestehen muss. Lediglich die Inhalte sind leer zu lassen.
Beispiel einer korrekt angelieferten, stornierten Anzeige:
<Anzeigen>
- <Anzeige>
<DAnzeigeNr>638308-1</DAnzeigeNr>
<DAnzAuftragNr>638308</DAnzAuftragNr>
<DAnzMotivNr>1</DAnzMotivNr>
<DAnzeigeName>638308name</DAnzeigeName>
<DAnzeigeKunde />
<DAnzeigeKundenNr />
<Status>storno</Status>
<DAnzProduktTyp>AT</DAnzProduktTyp>
<DAnzeigeBreiteGebucht>42</DAnzeigeBreiteGebucht>
<DAnzeigeHoeheGebucht>42</DAnzeigeHoeheGebucht>
<DAnzeigeFarbPlanGebucht />
<DAnzSort1 />
<DAnzSort2 />
<AnzeigeBuchungen />
</Anzeige>
</Anzeigen>
Workflow
Import Auftragsdaten
Vom kaufmännischen Anzeigensystem werden XML-Dateien mit Auftragsdaten in einem von NGen überwachten Hotfolder (siehe /wiki/spaces/CORE/pages/906133524 ) abgelegt. Je nach kaufmännischem System hat das angelieferte XML eine jeweils eigene Struktur (siehe Beispieldaten unten). NGen importiert die Auftragsdaten mittels einer komplexen Workflow-Aktion und bringt sie mittels XSLT-Stylesheet und Konfigurationsabbildungen in die benötigte Struktur. Dabei werden auch die Bezeichnungen der Ausgaben, Rubriken und Platzierungsvorschriften an die gewünschte Schreibweise in der Blattplanung angepasst. So werden entsprechende Buchungen in NGen erstellt und aktualisiert.
Import Anzeigenmotive
Die Motive werden vom technischen Anzeigensystem in einem weiteren Hotfolder als PDF angeliefert. NGen importiert diese und führt sie mit den Auftragsdaten zusammen. Als eindeutiges Kennzeichen der Zuordnung dient dabei die Auftragsnummer in Kombination mit der Motivnummer im Dateinamen des Motivs.
Eine Anzeige besteht in NGen aus genau einem Anzeigenmotiv. Eine Anzeige kann dabei mehrere Buchungen haben. Aus jedem Motiv eines Anzeigenauftrags im Kaufmännischen System wird in NGen eine Anzeige generiert. Bei jeder Anzeige wird in NGen zur Identifizierung die Auftragsnummer sowie die Motivnummer als Anzeigennummer (DAnzeigeNr) gespeichert.
Die Erscheinungen des Auftrages werden der jeweiligen Anzeige in NGen zugeordnet und dort als Buchung hinzugefügt. Bei jeder Buchung in NGen wird eine ID der Erscheinung gespeichert. Diese wird später in der Rückmeldung an das kaufmännische System zur eindeutigen Identifizierung der Erscheinung enthalten sein.
Bei einer Kombi im kaufmännischen System müssen entsprechend für jede zugehörige Belegung einzelne Buchungen übergeben werden.
Eindeutigkeit der NGen-Buchungen
Im kaufmännischen System kann es vorkommen, dass es zu einem Motiv mehrere Erscheinungen am gleichen Tag in der gleichen Ausgabe gibt, zum Beispiel wenn ein- und dieselbe Anzeige dort in mehreren Rubriken erscheinen soll. Damit würde in NGen die Eindeutigkeit (Ausgabe und Erscheinungstag) der Buchungen innerhalb einer Anzeige verletzt werden. Beim Import werden deshalb in einem solchen Fall automatisch durch Kopieren mehrere Anzeigen mit der gleichen Anzeigennummer in NGen erstellt, und die nicht eindeutigen Buchungen auf diese Anzeigen verteilt. Die so erstellten Kopien haben die gleiche Anzeigennummer wie das Original und sind über die Relation COID mit der Original-Anzeige verknüpft. Beim PDF-Import wird dann das PDF automatisch vom Original auf alle Kopien übertragen.
Statusstufen von einzelnen Buchungen
Buchungen (=Erscheinungen) werden beim Import grundsätzlich immer nach NGen übernommen. Wenn eine Buchung im Import-XML komplett wegfällt, dann wird sie auch in NGen wegfallen, sofern sie in NGen noch nicht angestrichen wurde. Angestrichene Buchungen bleiben erhalten.
Statusstufen von Anzeigen
Beim Import wird geprüft, ob das gelieferte Motiv in Größe und Farbigkeit mit den Auftragsdaten zusammenpasst. Im Fehlerfall wird die Anzeige entsprechend gekennzeichnet und nach Bedarf Workflows zur Benachrichtigung ausgelöst.
Eine Anzeige erhält beim erfolgreichen Import grundsätzlich den Status Geplant. Nach dem anschließenden, erfolgreichen Abgleich von gebuchten und technischen Größen und Farben wird die Anzeige automatisch in den Status Fertig gestuft. Falls beim Import oder beim Größen-/ Farbenvergleich ein Fehler auftritt, so geht die Anzeigen in den Status Fehler.
Änderung von bereits platzierten Anzeigen
Im Rahmen des Imports wird geprüft ob eine importierte Anzeige bereits auf Seiten mit Erscheinungsdatum in der Zukunft platziert ist. Ist das der Fall wird geprüft, ob es sich um eine platzierungsrelevante Anzeigenänderung handelt. Platzierungsrelevant ist eine Größenänderung oder eine Änderung der Buchungen, durch die die aktuelle Platzierung nicht mehr den gültigen Buchungen entspricht. Bei platzierungsrelevanten Änderungen erhalten die jeweiligen Anzeigenbereich die Kennzeichnung Bereichsänderung=”Storno” oder “Größe” und werden über den Ansichtmodus kenntlich gemacht.
Das XML für diese Änderungsfälle würde folgendermaßen angepasst:
Storno bedeutet, es fehlen Buchungen im XML (stornierte Buchungen werden nicht mehr übergeben).
Komplett-Storno: Anzeige wird ohne Buchungen übergeben.
Update (z.B. Größenänderung): gleiche XML-Struktur, halt mit geänderten Größen. Es werden immer alle übergebenen Merkmale aktualisiert.
Optional auf Anfrage: Export Anstrich/Statusrückmeldung
Eine Rückmeldung über die importierten Anzeigen aus NGen heraus erfolgt in Form des Anstrichs für die erschienenen Buchungen nach der täglichen Produktion in Form von XML-Dateien an das kaufmännische System, wenn das für die Verrechnung und Reklamationsbearbeitung nötig ist. Die Rückmeldung erfolgt jeweils in Form einer XML-Datei pro Anzeige, die von NGen in einem definierten Verzeichnis abgelegt wird.
Der Anstrich erfolgt in NGen für alle Anzeigen in einem erschienenen Druckprodukt. Bei den zugehörigen Buchungen dieser Anzeigen werden die Informationen für jede Erscheinung in dem Tag <Anstrich> vermerkt.
Nachdem der Anstrich gelaufen ist, werden alle erschienenen Anzeigen gesucht und für jede gefundene Anzeige eine XML-Datei erzeugt, in der für jede erschienene Buchung ein Eintrag enthalten ist, der die Daten zur Erscheinung wie zum Beispiel Buchungsnummer, Seitennummer, Position usw. enthält.
Im XML-Element wird dabei der Wert produced übergeben, zum Beispiel:
<?xml version="1.0" encoding="iso-8859-1"?> <ProductionControl originator="Multicom"> <IssuedObject scheduleCompositionId="219939"> <Date>2008-07-09</Date> <Info>produced</Info> <Page>3</Page> <PosX>164000</PosX> <PosY>275750</PosY> <Height>30000</Height> <Width>45000</Width> </IssuedObject> </ProductionControl>
Generische Beispieldaten
<?xml version="1.0" encoding="UTF-8"?> <Anzeigen> <Anzeige> <DAnzeigeNr>16642-1</DAnzeigeNr> <DAnzAuftragNr>16642</DAnzAuftragNr> <DAnzMotivNr>1</DAnzMotivNr> <DAnzeigeName>Mein Stichwort Motiv 1</DAnzeigeName> <DAnzeigeKunde>Reisebüro PEIQ</DAnzeigeKunde> <DAnzeigeKundenNr>3085</DAnzeigeKundenNr> <Status>Fertig</Status> <DAnzProduktTyp>AT</DAnzProduktTyp> <DAnzeigeBreiteGebucht>45</DAnzeigeBreiteGebucht> <DAnzeigeHoeheGebucht>100</DAnzeigeHoeheGebucht> <DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht> <DAnzSort1>Mein Kriterium 1</DAnzSort1> <DAnzSort2>Mein Kriterium 2</DAnzSort2> <AnzeigeBuchungen> <Buchung> <Ausgabe>ost</Ausgabe> <Termin>14.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>s:3</Platzierung> <PlKommentar>Bitte ganz oben rechts</PlKommentar> <Kollektiv>12345</Kollektiv> </Buchung> <Buchung> <Ausgabe>west</Ausgabe> <Termin>14.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>s:3</Platzierung> <PlKommentar>Bitte ganz oben rechts</PlKommentar> <Kollektiv>12345</Kollektiv> </Buchung> <Buchung> <Ausgabe>ost</Ausgabe> <Termin>15.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>s:3</Platzierung> <PlKommentar>Bitte ganz oben rechts</PlKommentar> <Kollektiv>12345</Kollektiv> </Buchung> <Buchung> <Ausgabe>west</Ausgabe> <Termin>15.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>s:3</Platzierung> <PlKommentar>Bitte ganz oben rechts</PlKommentar> <Kollektiv>12345</Kollektiv> </Buchung> </AnzeigeBuchungen> </Anzeige> <Anzeige> <DAnzeigeNr>16642-2</DAnzeigeNr> <DAnzAuftragNr>16642</DAnzAuftragNr> <DAnzMotivNr>2</DAnzMotivNr> <DAnzeigeName>Mein Stichwort Motiv 2</DAnzeigeName> <DAnzeigeKunde>Reisebüro PEIQ</DAnzeigeKunde> <DAnzeigeKundenNr>3085</DAnzeigeKundenNr> <Status>Geplant</Status> <DAnzProduktTyp>TT</DAnzProduktTyp> <DAnzeigeBreiteGebucht>90</DAnzeigeBreiteGebucht> <DAnzeigeHoeheGebucht>200</DAnzeigeHoeheGebucht> <DAnzeigeFarbPlanGebucht>K,C,M,Y</DAnzeigeFarbPlanGebucht> <DAnzSort1>Mein Kriterium 1</DAnzSort1> <DAnzSort2>Mein Kriterium 2</DAnzSort2> <AnzeigeBuchungen> <Buchung> <Ausgabe>ost</Ausgabe> <Termin>16.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>r:reise</Platzierung> <PlKommentar>Bitte ganz oben links</PlKommentar> <Kollektiv>5678</Kollektiv> </Buchung> <Buchung> <Ausgabe>west</Ausgabe> <Termin>17.12.2021</Termin> <AnzeigenRubrik>E00100</AnzeigenRubrik> <Platzierung>r:reise</Platzierung> <PlKommentar>Bitte ganz oben links</PlKommentar> <Kollektiv>5678</Kollektiv> </Buchung> </AnzeigeBuchungen> </Anzeige> </Anzeigen>
Voraussetzungen für den Betrieb der Schnittstelle:
Belieferung des sFTP mit entsprechendem XML
Das Modul Blattplanung (optional Anzeigenumbruch, technisches Anzeigensystem) muss sich im Einsatz befinden
Es müssen immer die gesamten Daten eines Auftrages im XML mitgeliefert werden, auch beim Update (kein Delta, Teile oder einzelne Erscheinungstage)
Disclaimer
Für die vorliegende Systemübersicht/Publikation behalten wir uns alle Rechte vor. Nachdruck, Vervielfältigung und Verbreitung (auch auszugsweise) ist nur mit schriftlicher Genehmigung der PEIQ GmbH erlaubt. Wir behalten uns vor, die Systemübersicht/Publikation jederzeit ohne vorherige Ankündigung zu ändern und/oder zu erweitern. Die vorliegenden Angaben dienen lediglich Informationszwecken. Die PEIQ GmbH übernimmt keinerlei Haftung und/oder Garantie für Fehler und/oder unvollständige Angaben in der Systemübersicht/Publikation, mit Ausnahme von vorsätzlich falschen oder arglistig verschwiegenen Angaben. Da unsere Software laufend weiter entwickelt wird, handelt es sich bei den vorliegenden nur um allgemeine Angaben. Es handelt sich weder um eine Zusicherung von Mindestvertragsinhalten, noch um Beschaffenheitsgarantien im Sinne des § 443 BGB.
Optionale weitere Informationen (auf Anfrage)
[1-28] INBOUND/ OUTBOUND Anzeigenimport von kaufmännischem System