PEIQ Knowledge Base
[1-28] INBOUND Anzeigenimport von kaufmännischem System
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 |
Funktionalitäten der Schnittstelle
Import Auftragsdaten
Import Anzeigenmotive
Export Anstrich/Statusrückmeldungen
Inhaltsverzeichnis
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.
Fehlerhaftes Beispiel, da nicht exakte Struktur/Tag-Benennung
<?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>
Beispiel für eine korrekte Struktur
<?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>
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”.
Falsch angelieferte Beispiele:
<DAnzProduktTyp>TT-Textteil</DAnzProduktTyp>
<DAnzProduktTyp>ST</DAnzProduktTyp>
DAnzeigeBreiteGebucht und DAnzeigeHoeheGebucht
Kommastellen müssen hier mit einem “.” oder “,” voneinander getrennt werden (ein Punkt wird in dem Stylesheet in ein Komma umgewandelt). Beispiel:
angeliefert: <DAnzeigeBreiteGebucht>47.8</DAnzeigeBreiteGebucht> → Fehler
wird übersetzt in: <DAnzeigeBreiteGebucht>47,8</DAnzeigeBreiteGebucht>
Termin
Termine (Erscheinungstage) müssen in dem Format “JJJJ-MM-TT” mitgeliefert werden.
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.
<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 PRINT NGEN überwachten Hotfolder (siehe https://peiq.atlassian.net/wiki/spaces/CORE/pages/906133524 ) abgelegt. Je nach kaufmännischem System hat das angelieferte XML eine jeweils eigene Struktur (siehe Beispieldaten unten). PRINT 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 PRINT NGEN erstellt und aktualisiert.
Import Anzeigenmotive
Die Motive werden vom technischen Anzeigensystem in einem weiteren Hotfolder als PDF angeliefert. PRINT 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 PRINT NGEN aus genau einem Anzeigenmotiv. Eine Anzeige kann dabei mehrere Buchungen haben. Aus jedem Motiv eines Anzeigenauftrags im Kaufmännischen System wird in PRINT NGEN eine Anzeige generiert. Bei jeder Anzeige wird in PRINT NGEN zur Identifizierung die Auftragsnummer sowie die Motivnummer als Anzeigennummer (“DAnzeigeNr”) gespeichert.
Die Erscheinungen des Auftrages werden der jeweiligen Anzeige in PRINT NGEN zugeordnet und dort als Buchung hinzugefügt. Bei jeder Buchung in PRINT 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 PRINT 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 PRINT 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 PRINT 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 PRINT NGEN übernommen. Wenn eine Buchung im Import-XML komplett wegfällt, dann wird sie auch in PRINT NGEN wegfallen, sofern sie in dort 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 PRINT 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 PRINT NGEN in einem definierten Verzeichnis abgelegt wird.
Der Anstrich erfolgt in PRINT 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>
Verwandte Seiten
Nur für PEIQ-Mirabeiter:innen