PEIQ Knowledge Base

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Anzeigen und Aufträge können angelegt und geändert werden. Änderungen werden dabei bei Anzeigen mit bestimmter Bedingung in PRINT NGEN abgefragt und gespeichert. Zusätzlich werden Buchungsdaten abgefragt und der Produktionsstatus kann zurückgegeben werden.

Funktionalitäten des Anlegens und Änderns von Anzeigen und Aufträgen

  • Abfrage von Buchungsdaten

  • Vergleich von Anzeigen

  • Aktualisierung des Anzeigenmotivs

Inhaltsverzeichnis

 Inhaltsverzeichnis anzeigen

Abfrage geänderter Anzeigen

Änderungen an einem Auftrag oder an Anzeigen werden als Event in der Tabelle “dauftrag_changed_event” gespeichert. Zudem werden produktionsrelevante Änderungen an Anzeigen mit der Eigenschaft “DAnzProduktionsArt=api” in der Tabelle “dauftrag_production_event” gespeichert. Jedes Event erhält eine fortlaufende ChangeID und wird zusammen mit der CID des DAuftrag gespeichert. Bei den Abfragen werden nur Anzeigen berücksichtigt, die die Bedingung “DAnzeigeZugeladen!=ja” erfüllen.

Aufruf: {{baseURL}}/adapi/v1/ads/events

Parameter

  • eventName: Entscheidet über die Art der Abfrage. Folgende Werte sind möglich:

    • changed: Alle Änderungen an Aufträgen und Anzeigen werden berücksichtigt

    • production: Nur produktionsrelevante Änderungen an Anzeigen mit “DAnzProduktionsArt=api” werden berücksichtigt

  • offset: Gibt die letzte ChangeID an. Alle nachfolgenden ChangeIDs in der Tabelle “dauftrag_production_event” werden beim nächsten Aufruf berücksichtigt. Zurückgegeben wird die im Aufruf höchste berücksichtigte ChangeID. Der Wert ist beim ersten Aufruf leer. Bei weiteren Aufrufen wird der Wert des jeweils vorherigen Aufrufs zurückgegeben.

  • limit: Gibt an, wie viele Datensätze bei jedem Aufruf ausgegeben werden sollen.

Token-Variable unter “Authorization” eintragen:

Rückgabewerte

offset: Die im Aufruf höchste berücksichtigte ChangeID.

data: Auftrags- und Anzeigennummern ab dem angegebenen offset. Es werden maximal soviele Datensätze ausgegeben, wie im limit definiert ist.

Mit den bei /ads/events erhaltenen Nummern können die Daten der zugehörigen Elemente abgefragt werden.

Buchungsdaten

Abfrage Auftragsdaten

GET {{baseURL}}/adapi/v1/orders/{{Auftragsnummer}}

Abfrage Anzeigendaten

GET {{baseURL}}/adapi/v1/ads/{{Anzeigennummer}}

Beim Abrufen von Anzeigen wird einschränkend mit der Bedingung “DAnzeigeZugeladen!=ja” gesucht. Nur mit dieser Zusatzbedingung ist die Suche eindeutig, denn durch die Funktion “AnzeigenZuladen” kann es mehrere Anzeigen mit derselben Anzeigennummer geben.

Rückmeldung Produktionsstatus

PUT {{baseURL}}/adapi/v1/ads/{{Anzeigennummer}}

Unmittelbar nach dem Abholen der Anzeigendaten über die API liefert die technische Anzeigenproduktion den beim Abrufen zuletzt erhaltenen Timestamp (production_timestamp) im Feld “production_status_timestamp” als Quittierung sowie den Produktionsstatus (“production_status”) und eine optionale textuelle Info (“production_info”) zurück.

Beispiel:

{
"production_status": "Gestaltet",
"production_status_timestamp": "2022-06-07T07:35:00+01:00",
"production_note": "Wie gewünscht dezente Farben verwendet."
}

Prüfungen

Motivprüfung

Bei jedem Put oder Post einer Anzeige wird in der Abbildung “AdAPISettings” die dem Eintrag “MotivPrüfen” zugeordnete Suchbedingung durchlaufen, die feststellt, ob die Anzeigenprüfung durchzuführen ist. (Rückgabewert 2). Ist die Bedingung erfüllt, wird die in Rückgabewert 1 angegebene komplexe Aktion ausgeführt. In dieser komplexen Aktion ist das ActiveX#AnzeigenImport aufzurufen, damit der Anzeigenvergleich ausgeführt oder das Motiv verworfen und die Anzeige in den Status “Geplant” zurückgesetzt wird.

Suchbedingung kann sein: Produktionsstatus=Fertig & Status=(Fertig,Fehler). In der Suchbedingung werden nur Eigenschaften der Anzeige ausgewertet (unabhängig vom Auftrag). So ist ausgeschlossen, dass eine Änderung am Auftrag eine Prüfung der Motive mit Rückmeldung in Richtung Anzeigenproduktion erfordert.

Prüfung Timestamp

Bei jedem PUT oder POST einer Anzeige wird in der Abbildung “AdAPISettings” die dem Eintrag “TimestampPrüfen” zugeordnete Suchbedingung durchlaufen, die feststellt, ob die Prüfung des Timestamps durchzuführen ist. Ist die Suchbedingung erfüllt, wird geprüft, ob der übergebene Timestamp dem zuletzt gespeicherten Event in der Tabelle “dauftrag_production_event” entspricht.

Andernfalls ist davon auszugehen, dass nicht mit dem aktuellen Stand der Daten gearbeitet wurde und die Anzeige sollte noch einmal aktualisiert übergeben werden.

Rückmeldungen

Falls mindestens eine Prüfung zum Fehler führt, gibt es im Response Body des POST- oder PUT-Requests die "validations"-Property, bei der nur die Properties enthalten sind, bei denen ein Fehler auftrat. Der Inhalt der Property ist jeweils eine entsprechende Fehlermeldung.

Beispiel:

{
"validations": {
"colors": "verschieden",
"width": "zu schmal",
"height": "zu hoch",
"production_timestamp": "The production_status_timestamp does not correspond to the current version of the ad."
}
}

Motivdaten

Anzeigenmotiv abrufen

Aufrufe:

GET {{baseURL}}/adapi/v1/ads/images/10009404-1/HighRes

GET {{baseURL}}/adapi/v1/ads/images/10009104-1/Thumbnail

 

Anzeigenmotiv aktualisieren

Aufruf:

PUT {{baseURL}}/adapi/v1/ads/images/10009404-1?filename=Test1.pdf

Motivaktualisierungen werden immer nur an Anzeigen ausgeführt, die die Bedingung “DAnzeigeZugeladen!=ja” erfüllen. Gibt es zugeladene Anzeigen mit derselben Anzeigennummer, so sind diese im Rahmen des Anzeigenvergleichs im Workflow zu aktualisieren.

Übernahme der Motivhöhe als gebuchte Höhe der Anzeige

Beim Motivupdate wird die Abbildung “Änderungen#DAnzeige#AdAPIMotiv” aufgerufen. Hier können Eigenschaften der zu aktualisierenden Anzeige geändert werden.

Mit der Zeile

="DAnzGroesseFest=nein" {"DAnzeigeHoeheGebucht=$(BildHoehe)", "DAnzHoeheGebWert=$(BildHoehe)"}

wird erreicht, dass bei Anzeigen, deren Höhe nicht fixiert ist, die Höhe des angelieferten Motivs als neue gebuchte Anzeige zur Höhe übernommen wird. Somit passen bei einer darauffolgenden Motivprüfung Motiv und Buchungsdaten zusammen.

Bildausschnitt und Bildbeschnitt

Beim Motivupdate werden Bildausschnitt und Bildbeschnitt gemäß Endformatrahmen und Beschnittrahmen der PDF-Datei ermittelt, sofern im Benutzerkontext des NWAs in der Gruppe “Bilder” “BeschnittSetzen=ja" eingestellt ist.

Farbplan

Bei Update eines Motivs wird der Farbplan der Anzeige entsprechend dem überstellten PDF angepasst.

Anzeigenvergleich

Bei Übertragung des Anzeigenmotivs wird die Abbildung “AdAPISettings” aufgerufen. Dort können folgende Parameter definiert werden:

  • MaxUploadFileSize: Maximal zulässige Größe einer hochzuladenden Datei, Standard ist "104857600".

  • AktionNachMotivUpdate: Komplexe Aktion, die im Anschluss an die Motivübertragung aufgerufen werden soll. Dies ist die komplexe Aktion “AdAPI_Motiv_Prüfen”.

In der komplexen Aktion “AdAPI_Motiv_Prüfen” findet der Anzeigenvergleich statt. Es werden Größen und Farben überprüft. Passt das überstellte Motiv zu den Buchungsdaten der Anzeige, erhält die Anzeige den im Variablenkontext festgelegten “OK”-Status. Andernfalls erhält die Anzeige den Status “Fehler” und in “DAnzeigeFehlerInfo” werden die Fehler vermerkt. Zusätzlich wird in der komplexen Aktion nach Anzeigen mit derselben Anzeigennummer und “DAnzeigeZugeladen=ja” gesucht und es werden die Bilddaten sowie der Status der Original-Anzeigen zu den zugeladenen Anzeigen übernommen. Damit wird sichergestellt, dass Motivupdates bei allen Anzeigen mit der angegebenen Anzeigennummer ausgeführt werden.

Aufträge

Ändern von Aufträgen: PUT orders

Falls der Auftrag in einem Status gespeichert werden soll, der nicht mindestens gebucht ist (FestdefinierteWerte "DAuftrag", "Status", "AtLeastBooked")
wird geprüft, ob dies “OK” ist: Es darf keine Leistung verrechnet sein, auch beim Hauptauftrag darf keine Leistung verrechnet sein. Außerdem darf keine Anzeige einen Anstrich haben.

Wird versucht, einen Auftrag, der sich z. B. im Status “fakturiert” befindet (mit fakturierten Leistungen), über die Schnittstelle in den Status Erfassung zurückzustufen, erscheint eine Fehlermeldung:

{
    "error": "Order status 'Erfassung' is not allowed: At least one benefit is already invoiced."
}

In der Abbildung “BuchungLoeschen” wird definiert, in welchen Statusstufen eines Auftrags die zugehörigen Anzeigen ohne Buchungen gespeichert werden (z. B. Status “Erfassung”). Wird ein Auftrag in eine dieser Statusstufen gestuft, werden die Buchungen an den Anzeigen gelöscht. Die Erscheinungsweise ist weiterhin gespeichert, sodass beim erneuten Stufen in einen planungsrelevanten Auftragsstatus die Buchungen an den Anzeigen wiederhergestellt werden können.

Aktualisieren von Abschlüssen

Beim Hinzufügen/Entfernen von Abschüssen zu einem Auftrag muss der Abschluss aktuell gehalten werden, d. h. der Erfüllungsgrad wird neu berechnet.

Bei PUT und POST einer Anzeige oder eines Auftrags wird möglicherweise die Preisberechnung durchgeführt, wodurch auch Abschlüsse ausgecheckt und verändert werden. Möglicherweise werden auch Abschlüsse vom Auftrag entfernt.

Um die korrekte Aktualisierung von Abschlüssen zu gewährleisten, müssen am Anfang des Prozesses mögliche Elemente gemerkt werden, die evtl. während der Verarbeitung des Requests ausgecheckt werden. Zusätzlich müssen auch Elemente gemerkt werden, die während der Verarbeitung des Requests neu in die Referenzen geschrieben wurden. Am Ende werden alle gemerkten Elemente eingecheckt, sofern das noch nicht der Fall ist und Abschlüsse neu berechnet.

Verwandte Seiten

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.

  • No labels