PEIQ Knowledge Base

[0-6] INBOUND DPA wireQ API

Transportverfahren

Übertragung per Restful API (https)

Objekt

JSON

Trigger

Zeitlich gesteuerter Poll durch PRINT NGEN (Pull jede Minute, sofern vorhergehender Pull durchgeführt)

Unterstützte Drittsysteme

DPA

Beispieldaten

 

Typische Drittsysteme

DPA

Per API-Poll werden die aktuellen Agenturmeldungen und Bilder, die über die wireQ API von DPA zur Verfügung stehen, abgerufen und nach PRINT NGEN importiert.

Funktionalitäten der DPA wireQ API

Inhaltsverzeichnis

Aufbereitung und Übertragung der Daten

Folgende Metadaten der Agenturmeldungen können in PRINT NGEN dargestellt werden:

  • Gesendet-Datum

  • ID

  • Dateiname

  • Revisionsnummer

  • Vorgänger-Verknüpfung

  • Status

  • Sprache

  • Priorität

  • Überschrift

  • Nachrichtentyp

  • Objektrecht=dpa

  • Stichworte

  • Stadt

  • Ressort

  • Dienst=weblines

Folgende Inhaltsdaten der Agenturmeldungen können in PRINT NGEN dargestellt werden:

  • Titel

  • Text

  • Notizblock

Folgende Metadaten der Bilder können in PRINT NGEN dargestellt werden:

Workflow

Durch entsprechend automatisierte Workflows werden die aktuellen Agenturmeldungen und Bilder in regelmäßigen Abständen abgefragt und in PRINT NGEN erstellt. Die Meldungen stehen anschließend zur Recherche und Verwendung in PRINT NGEN bereit.

Eine Verwendung der Meldung in einem Artikel ist in der Ergebnisliste als Verlinkung mit direkter Absprungmöglichkeit zum Artikel sichtbar. Direkt von dort kann diese auf die Seite gezogen werden.

Gibt es bei einer Agenturmeldung eine Vorgänger-Nachfolger-Beziehung, bleibt die alte Agenturmeldung wie bisher in PRINT NGEN bestehen und es wird eine neue Agenturmeldung erstellt. An der aktuellen Meldung wird zudem eine Referenz-Eigenschaft gesetzt, um jeweils den Vorgänger bzw. Nachfolger öffnen zu können.

Vorgänger.PNG
Button an der aktuellen Meldung, um die Vorgänger-Meldung zu öffnen
Nachfolger.PNG
Button an der alten Meldung, um die Nachfolger-Meldung zu öffnen

Beim Import der Bilder werden über die IPTC Daten entsprechende Metadaten, wie Quelle, Bildunterschrift, Ort, Dienst etc. ausgelesen (vgl. Auslesen der IPTC-Tags bei Bildern).

Bilder und Grafiken stehen über Suchmasken zur Recherche bereit und können von dort auf die Seite gezogen werden.

Mitwirkungspflichten der Kund:innen

Bitte übermitteln Sie uns für die Einrichtung die kundenspezifische, von DPA genannte base-URL.

Beispiel

wireQ API

Per API-Poll werden in regelmäßigen Abständen die aktuellen Agenturmeldungen und Bilder, die über die wireQ API von DPA zur Verfügung stehen, abgerufen (vgl. https://api-portal.dpa-newslab.com/doc/apis) und nach PRINT NGEN importiert.

Endpunkt GET /entries.json

Über den GET /entries.json Endpunkt erhält PRINT NGEN im JSON mehrere Agenturmeldungen mit Bilder-URLs zurück. Die Meldungen werden nach einem Zwischenspeichern im Filesystem nach PRINT NGEN importiert. Die Bilder werden direkt, d. h. ohne Zwischenspeichern, importiert.

Ist das article_html-Feld befüllt, werden jedoch keine verfügbaren Bilder mitgeliefert, wird nur eine Meldung in DAgnText erstellt. “Verfügbar” heißt, bei Abfrage des Bild-URLs kommt ein Bild zurück. Laut DPA wireQ API Doku sind Bilder nur 2 Tage verfügbar.

Ist zu einer Meldung im JSON das article_html-Feld leer, sind jedoch zugehörige Bilder verfügbar, werden nur die Bilder importiert und keine Meldung in DAgnText erstellt.

Bei leerem article_html-Feld ohne verfügbare Bilder werden weder Bilder noch Meldung in NGEN erstellt.

Bei befülltem article_html-Feld und verfügbaren Bildern werden Bilder und DAgnText in NGEN erstellt.

Das JSON, das an PRINT NGEN nach dem Absetzen des Requests zurück geliefert wird, enthält folgende Metadaten:

Feld

Inhalt

Option

"entries"

Enthält eine Liste von Agenturmeldungen (in PRINT NGEN DB-Tabelle “DAgnText”) mit Bildern.

erforderlich

"entries": [{"updated"}]

  • Wenn ein updated-Datum mitgeliefert wird, wird dieses in das Gesendet-Datum “IptcGD” übernommen. Wenn kein updated-Datum mitgeliefert wird, wird “version_created” verwendet.

  • “IptcInstruct” wird in PRINT NGEN auf “Aktualisierung” gesetzt, wenn ein updated-Datum mitgeliefert wird.

optional

"entries": [{"version_created"}]

Wenn kein updated-Datum mitgeliefert wird, wird “version_created” verwendet und in das Gesendet-Datum “IptcGD” übernommen.

optional

"entries": [{"urn"}]

Feld liefert die ID, Wert im JSON: "urn:newsml:dpa.com:<Datum>:<ID>":

  • Beispiel: Wert im JSON: "urn:newsml:dpa.com:20090101:240521-99-105561"; Hier ist die ID “240521-99-105561”

  • Übernahme der ID nach PRINT NGEN als Nummer “IptcEN”

  • Wird verwendet, um die Vorgänger-Meldung zu ermitteln und in “DAgnVorgaenger” zu referenzieren

Feld liefert zudem Dateiname, Wert im JSON: "urn:newsml:dpa.com:<Dateiname (mit Zeichenersetzung)>":

  • Beispiel: Wert im JSON: "urn:newsml:dpa.com:20090101:240521-99-105561"; Hier ist der Dateiname “20090101_240521_99_105561”

  • Übernahme des Dateinamens nach PRINT NGEN in “DAgnDateiName”

erforderlich

"entries": [{"version"}]

Revisionsnummer “IptcRev” wird verwendet, um die Vorgänger-Meldung zu ermitteln und in “DAgnVorgaenger” zu referenzieren

erforderlich

"entries": [{"pubstatus"}]

Feld liefert den Status; Werte im JSON: "usable", "withheld", "canceled":

  • “canceled”, “withheld”: Status “storniert” in PRINT NGEN

  • "usable": Status “verwendbar” in PRINT NGEN

optional

"entries": [{"language"}]

Sprache “DAgnSprache”

optional

"entries": [{"urgency"}]

Priorität “IptcPri”

optional

"entries": [{"headline": "“}]

Überschrift “IptcUeb”

optional

"entries": [{"categories": [{"type": "dnltype:genre", "name": "", }]}]

und

"entries": [{"genre_names": ["“]}]

Nachrichtentyp “IptcST” (z. B. Meldung, Vorschau)

optional

- (ausprogrammiert)

Objektrecht “IptcOR=dpa”

-

"entries": [{"categories": [{"type": "dnltype:dpasubject", "name": ““ }]}]

Stichworte “IptcSti”

optional

"entries": [{"dateline": ““}] (ohne Inhalt in Klammern)

Stadt “IptcStadt”

optional

"entries": [{"categories": [{"type": "dnltype:desk", "qcode": "dpacat:<Kürzel>", “name”: ““}]}]

Ressort “IptcRes”

optional

- (ausprogrammiert)

Dienst “IptcDie=weblines”

-

"entries": [{"_wireq_receipt": “<receipt>“ }]

Feld im JSON wird verwendet, um je Agenturmeldung den DELETE-Request abzusetzen.

erforderlich

Inhalt:

Feld

Inhalt

Option

"entries": [{"kicker"}]

Übernahme als Text

optional

"entries": [{"headline"}]

Übernahme im “<Titel>”-Tag

optional

"entries": [{"subhead"}]

Übernahme als Text

optional

"entries": [{"teaser"}]

Übernahme als Text

optional

"entries": [{"dateline"}]

Übernahme als Text

optional

"entries": [{"article_html"}]

Übernahme als Text

optional

"entries": [{“infobox_html”}]

Übernahme im “<dpa-Notizblock>”-Tag

optional

"entries": [{“linkbox_html”}]

Übernahme als Text

optional

"entries": [{“associations”: [{"type": "image", “url”: ““ }]}]

Feld im JSON wird verwendet, um die Bilder abzurufen und nach PRINT NGEN in die DB-Tabelle “DBild” zu importieren.

optional

"entries": [{“associations”: [{"type": "graphic", “url”: ““ }]}]

Feld im JSON wird verwendet, um die Bilder abzurufen und nach PRINT NGEN in die DB-Tabelle “DBild” zu importieren.

optional

Endpunkt DELETE /entry/{receipt}

PRINT NGEN löscht anschließend die einzelnen entries per DELETE /entry/{receipt} Request, damit diese nicht erneut in den GET-Requests mitkommen.

Fehler-Behandlung

Erhält PRINT NGEN beim Absetzen eines Requests einen Error zurück, da z. B. eine falsche / abgelaufene URL hinterlegt ist, wird dieser im Log-File dokumentiert.

 

Verwandte Seiten

Nur für PEIQ-Mitarbeiter:

https://peiq.atlassian.net/wiki/spaces/CORE/pages/1575321744