PEIQ Knowledge Base

[0-18] INBOUND Schnittstelle zu huGO API | Artikel (als Agenturmeldungen) mit Bildern

Transportverfahren

Übertragung per Restful API (https)

Objekt

Artikel im JSON und Bilder als strukturiertes Objekt im JSON, Artikel-ID als eindeutiges Merkmal (hugoId)

Trigger

Zeitlich gesteuerter Poll durch PRINT NGEN (Pull jede Minute, sofern vorhergehender Pull durchgeführt), Artikel-ID = eindeutiges Merkmal

Typische Drittsysteme

huGO

Funktionalitäten der huGO API

  • Die Schnittstelle dient zum Import von Artikeln und Bildern aus einem Web-CMS/Editor huGO nach PRINT NGEN

  • Die Artikel sind dann in einem Eingangskorb in PRINT NGEN als Agenturmeldungen verfügbar

  • PRINT NGEN pullt in regelmäßigen Abständen die huGO API, gemäß (Version V1.19 vom 23.11.2020)

  • In der Basis-Version werden folgende Werte importiert und entsprechend gemappt

Inhaltsverzeichnis

Austauschformat und Übertragung der Daten

Eigenschaften der huGO-Agenturmeldungen in PRINT NGEN

  • IptcDie: Dienst “hugo"

  • IptcEN: huGO-Artikel-ID

Folgende Metadaten der huGO Artikel-Daten können in PRINT NGEN an der Agenturmeldung dargestellt werden:

  • Artikel-Id (IptcEN)

  • Dienst (IptcDie)

  • Gesendet-Datum (IptcGD)

Folgende Inhaltsdaten der huGO Artikel-Daten können in PRINT NGEN in der Agenturmeldung dargestellt werden:

  • Titel

  • Text

  • Absätze

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

  • Pixeldaten

  • Ursprüngliche Bild-ID

Workflow

Artikel, die in huGO vorliegen, werden automatisiert als Agenturmeldungen in der PRINT NGEN Datenbank gespeichert.

Bereits in PRINT NGEN erstellte huGO-Agenturmeldungen werden nicht im klassischen Sinne aktualisiert. Jeder übertragene huGO-Artikel wird als neue Agenturmeldung in PRINT NGEN angelegt. D.h. beim Import wird nicht überprüft, ob es bereits eine Agenturmeldung in PRINT NGEN zur übertragenen huGO-Artikel-ID gibt. Somit bleiben frühere Versionen des huGO-Artikels, die nach PRINT NGEN übertragen wurden, mit dem Stand, in dem sie publiziert wurden, bestehen (ohne Verlinkung zwischen den verschiedenen Ständen / Agenturmeldungen mit der gleichen huGO-ID in IptcEN).

Aktuelle huGO-Agenturmeldungen können in PRINT NGEN über die Globalsuchmaske mit folgenden Einstellungen gefunden werden:

image-20240119-071111.png
Suche nach aktuellen huGO-Agenturmeldungen über die Globalsuchmaske

Die Arbeitsweise mit nach PRINT NGEN importierten Agenturmeldungen kann folgender allgemeiner Knowledge-Base-Seite entnommen werden: https://peiq.atlassian.net/wiki/spaces/PPSD/pages/765952107

Beispieldaten

Newsfeed-XML

Über den Endpunkt GET FeedsApi/v1/newsfeed/… ruft PRINT NGEN im Workflow jede Minute die “Newsfeeds” einer Group ab. Die Parameter “group” sowie “user” und “customer” müssen mitgegeben werden.

Dem “Newsfeed” gibt PRINT NGEN den “changessince”-Parameter zur Selektion der Newsfeeds anhand der letzten Änderung mit. Dieser Wert ist ein Datum mit Uhrzeit nach dem Schema YYYY-MM-DDThh:mm.ss.sssZ und wird in PRINT NGEN anhand des "hugoFeed:until" in der Antwort gemerkt, um beim nächsten Call wieder danach aufzusetzen, z. B.:

GET FeedsApi/v1/newsfeed?changessince=[newsfeed.hugoFeed:until]

Zudem wird im header “Accept: application/x-stw-newsfeed-resource-url-only" mitgegeben, um in der response die Artikel-Informationen ohne Artikelinhalte zu erhalten.

Das XML, das an PRINT NGEN zurück geliefert wird, enthält folgende Tags:

Metadaten:

Tag

Inhalt

Option

title

Titel des Systems / Endpunktes der API
→ wird nicht von PRINT NGEN ausgewertet

-

link

Link des Endpunktes

-

author

Autor:in / Urheber:in des Endpunktes

-

id

ID des Endpunktes

-

updated

Zeitpunkt der letzten Aktualisierung
→ wird nicht von PRINT NGEN ausgewertet

-

hugoFeed:since

Startzeitpunkt der Änderungen an den mitgelieferten Artikeln

-

hugoFeed:until

Endzeitpunkt der Änderungen an den mitgelieferten Artikeln

erforderlich

entry

Informationen eines Artikels

-

entry/title

Titel des Artikels

-

entry/author/name

Autor:in des Artikels

-

entry/id

ID des Artikels

-

entry/updated

Letzte Änderung des Artikels

-

entry/published

Zeitpunkt des Publizierens des Artikels

-

entry/content Attribut src

URL zur Abfrage der Artikelinhalte

erforderlich

entry/hugoEntry: hugoID

huGO-ID des Artikels

-

entry/hugoEntry: feedback-url

Feedback-URL des Artikels

-

entry/hugoEntry: lockflag

Sperrvermerk des Artikels

-

entry/hugoEntry: group

Group (wird auch beim Request mitgegeben) des Artikels

-

entry/hugoEntry: groupDescription

Beschreibung der Group des Artikels

-

entry/hugoEntry: location

Ort des Artikels

-

entry/hugoArchive Text:topline

Dachzeile des Artikels

-

entry/hugoArchive Text:teaser

Teaser / Vorspann des Artikels

-

entry/hugoArchive Text:origIdent

Original-ID des Artikels

-

entry/hugoArchive Text:origFilename

Original-Dateiname des Artikels

-

entry/hugoArchive Text:onlineFlag

Online-Flag des Artikels

-

entry/hugoArchive Text:syndicFlag

Syndikation-Flag des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication

Informationen zur Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/ hugoArchiveText: publicationDate

Erscheinungstag der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText:article PublicationId

Artikel-ID der Publikation

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText: newspaper

Zeitungsname der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText:issue

Ausgabe der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText: category

Kategorie der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText: subcategory

Unterkategorie der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText: pageNumber

Seitennummer der Publikation des Artikels

-

entry/hugoArchive Text:publications/ hugoArchiveText: publication/hugo ArchiveText: publishedFrom

Zeitpunkt des Publizierens des Artikels

-

Als Ergebnis erhält PRINT NGEN ein Array von Entrys, z. B.:

<?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:hugoFeed="http://api.finkundpartner.de/schema/product/huGOAPI/feeds/1.8/newsfeed/feed" xmlns:hugoEntry="http://api.finkundpartner.de/schema/product/huGOAPI/feeds/1.8/newsfeed/entry" xmlns:hugoArchiveText="http://api.finkundpartner.de/schema/product/huGOAPI/feeds/1.8/newsfeed/entryArchiveText"> <title>ABC Systems - huGOAPI:feeds - newsfeed - text</title> <link rel="self" href="https://c1.api.prd.abc.net/FeedsApi/v1/newsfeed/text" /> <author> <name>Autor</name> </author> <id>https://c1.api.prd.abc.net/FeedsApi/v1/newsfeed/text</id> <updated>2024-01-19T07:33:52Z</updated> <hugoFeed:since>2024-01-01T00:00:39.762Z</hugoFeed:since> <hugoFeed:until>2024-01-05T12:59:01.247Z</hugoFeed:until> <entry> <title>Kreis Stendal: Blinde können mit Tasten und Hören ganze Städte erkunden</title> <author> <name>Autor</name> </author> <id>tag:www.finkundpartner.de,2009-05-28:article-287921570</id> <updated>2024-01-05T00:13:01Z</updated> <published>2024-01-03T18:57:00Z</published> <content type="html" src="https://c1.api.prd.abc.net/ResourceApi/v1/articleArchive-273964489?user=USER&amp;signature=abc123" /> <hugoEntry:hugoID>article-287921570</hugoEntry:hugoID> <hugoEntry:feedback-url>https://c1.api.prd.abc.net/FeedsApi/v1/feedback/import/article-287921570</hugoEntry:feedback-url> <hugoEntry:lockflag>false</hugoEntry:lockflag> <hugoEntry:group id="225">IMP_T_LD</hugoEntry:group> <hugoEntry:groupDescription>LD Online Artikel</hugoEntry:groupDescription> <hugoEntry:location /> <hugoArchiveText:topline>Sehbehinderte und Reisen</hugoArchiveText:topline> <hugoArchiveText:teaser>Der Welt-Braille-Tag weist auf Probleme von Sehbehinderten. Gehen sie im Kreis Stendal auf Reisen, brauchen sie Hilfe. Kann die Region etwas für Blinde sein?</hugoArchiveText:teaser> <hugoArchiveText:origIdent>ld-3760038</hugoArchiveText:origIdent> <hugoArchiveText:origFilename>\\bau-prd-fs-01.ad.abc.com\prd_hugo_work\hugo_import\online\article\livingdocs\prd\ld-prd-3760038.json</hugoArchiveText:origFilename> <hugoArchiveText:onlineFlag>T</hugoArchiveText:onlineFlag> <hugoArchiveText:syndicFlag>F</hugoArchiveText:syndicFlag> <hugoArchiveText:publications> <hugoArchiveText:publication> <hugoArchiveText:publicationDate>2024-01-03</hugoArchiveText:publicationDate> <hugoArchiveText:articlePublicationId>articleArchive-273964489</hugoArchiveText:articlePublicationId> <hugoArchiveText:newspaper id="1155236854">Volksstimme Online</hugoArchiveText:newspaper> <hugoArchiveText:issue id="1155236816">digital</hugoArchiveText:issue> <hugoArchiveText:category id="1155236704">Lokal</hugoArchiveText:category> <hugoArchiveText:subcategory id="1155238127">Havelberg</hugoArchiveText:subcategory> <hugoArchiveText:pageNumber>1</hugoArchiveText:pageNumber> <hugoArchiveText:publishedFrom>2024-01-04T23:53:54.000Z</hugoArchiveText:publishedFrom> </hugoArchiveText:publication> </hugoArchiveText:publications> </entry> <entry> (...) </entry> </feed>

huGOAPI:Resource-XML

Die URLs zur Abfrage der Artikelinhalte, die PRINT NGEN bei der Abfrage der Newsfeeds erhalten hat, werden verwendet, um die huGOAPI:Resource-XMLs mit den Artikelinhalten abzufragen. Hier wird zusätzlich ein customer” mitgegeben, z. B.:

GET ResourceApi/v1/articleArchive-123?user=USER&amp;signature=abc123&customer=CUSTOMER

Das XML, das an PRINT NGEN zurück geliefert wird, enthält folgende Tags:

Metadaten:

Tag

Inhalt

Option

articleArchive/hugoId

huGO-ID des Artikels
→ Übernahme in die Eigenschaft IptcEN in PRINT NGEN

erforderlich

articleArchive/ hugoParentId

huGO-Eltern-ID des Artikels
→ wird nicht von PRINT NGEN ausgewertet

-

articleArchive/creationTS

Erstellungszeitpunkt in huGO
→ Übernahme in die Eigenschaft IptcGD in PRINT NGEN

optional

articleArchive/ modificationTS

Geändert-Zeitpunkt in huGO

-

articleArchive/lockFlag

Sperrvermerk

-

articleArchive/keywords

Schlagwörter des Artikels

-

articleArchive/note

Notizen

-

articleArchive/author

Autor:in des Artikels

-

articleArchive/topline

Dachzeile des Artikels

-

articleArchive/headline

Titel des Artikels

optional

articleArchive/subline

Unterzeile des Artikels

-

articleArchive/teaser

Vorspann des Artikels

-

articleArchive/body

Text des Artikels

optional

articleArchive/group

Group (wird auch beim Request mitgegeben) des Artikels

-

articleArchive/ groupDescription

Beschreibung der Group des Artikels

-

articleArchive/embed

Eingebettete Bilder

-

articleArchive/links/link Attribut  type="picture" und url

URL von verlinkten Bildern (Nur Bilder mit “type="picture"“ werden nach PRINT NGEN importiert. Für die Abfrage des Bildes wird der URL im Attribut “url” verwendet.)

optional

articleArchive/ attachments

Anhänge

-

articleArchive/ classifications

Klassifizierungen

-

articleArchive/origIdent

Original-ID des Artikels

-

articleArchive/ origFilename

Original-Dateiname des Artikels

-

Die Schnittstelle liefert an PRINT NGEN die Resource-XMLs zurück, z. B.:

<?xml version="1.0" encoding="UTF-8"?> <articleArchive xmlns="http://api.abc.net/schema/product/huGOAPI/resource/1.24" accessId="453268161"> <hugoId>articleArchive-274253768</hugoId> <hugoParentId>article-287969179</hugoParentId> <creationTS>2024-01-08T00:00:00</creationTS> <modificationTS>2024-01-08T04:10:23</modificationTS> <lockFlag>false</lockFlag> <keywords/> <note/> <author>dpa</author> <topline>Agrar</topline> <headline>Konvois, Demos, Blockaden: Bauernproteste gegen Agrarpolitik</headline> <subline/> <teaser>Die Koalition hat ihre Sparpläne abgemildert.</teaser> <body>&lt;div class="fp-article-body" data-t-name="Article"&gt;&lt;p class="fp-paragraph"&gt;&lt;strong&gt;Berlin&lt;/strong&gt; - Autofahrer, Schüler und Busfahrgäste müssen sich ab Montagmorgen wegen Bauernprotesten in vielen Orten Deutschlands auf starke Behinderungen einstellen. Erfahrungsgemäß könnten auch andere Bahnunternehmen betroffen sein, wenn zum Beispiel Mitarbeiter in den Stellwerken streiken. Die Bahn kündigte an, einen Eilantrag gegen den Ausstand beim Arbeitsgericht Frankfurt einzureichen.&lt;/p&gt;&lt;/div&gt;</body> <group>IMP_T_LD</group> <groupDescription>LD Online Artikel</groupDescription> <embed id="picture-34075286" type="picture" url="https://c1.api.prd.bau.abc.net/ResourceApi/v1/picture-34075286?user=USER&amp;signature=123"/> <links> <link hugoId="picture-34075286" id="AAAPedAAAAADuICAAB1" origIdent="db1c8e99-fcea-42fc-9061-aa0bc4ba4f14_rect-0-107-2048-1152.jpeg" type="picture" url="https://c1.api.abc.net/ResourceApi/v1/picture-34075286?user=USER&amp;signature=123"/> <link hugoId="picture-34075287" id="AAAPedAAAAADuICAAD1" origIdent="db1c8e99-fcea-42fc-9061-aa0bc4ba4f14.jpeg" type="origpicture" url="https://c1.api.abc.net/ResourceApi/v1/picture-34075287?user=USER&amp;signature=123"/> </links> <attachments> <attachment id="97379765" mimeType="APPLICATION/JSON" origFileName="ld-3762183.json" origIdent="" type="N/A" url="https://c1.abc.net/file_provider/v1/get/?group=ARTIKEL_ATTACH&amp;entry=08F1EC7D_D8B3A87453A4&amp;consumer=CONSUMER&amp;signature=123"/> </attachments> <classifications> <classification id="311" name="onl.paywall"> <item id="1155237221" name="F"/> </classification> <classification id="10042" name="sorg:RiverWater"> <item id="1000070787" name="Halle"/> </classification> <classification id="10041" name="sorg:LakeWater"> <item id="1000066454" name="Bodensee"/> </classification> <classification id="11000" name="PVA"> <item id="1155334958" name="HAL"/> <item id="1155336804" name="MD"/> <item id="1155336812" name="WR"/> </classification> <classification id="10032" name="sorg:Place"> <item id="1000020789" name="Nordsee"/> <item id="1000070347" name="Rhein-Main-Gebiet"/> </classification> <classification id="10035" name="sorg:City"> <item id="1000045016" name="Berlin"/> <item id="1000035999" name="Bodensee"/> <item id="1000035333" name="Bonn"/> <item id="1000035621" name="Bremen"/> <item id="1000065308" name="Dortmund"/> <item id="1000027287" name="Erfurt"/> <item id="1000027621" name="Flensburg"/> <item id="1000028448" name="Frankfurt"/> <item id="1000028447" name="Frankfurt am Main"/> <item id="1000019844" name="Halle"/> <item id="1000022595" name="Hamburg"/> <item id="1000023607" name="Köln"/> <item id="1000080365" name="Magdeburg"/> <item id="1000016233" name="München"/> <item id="1000016068" name="Münster"/> <item id="1000009939" name="Potsdam"/> <item id="1000089043" name="Ravensburg"/> <item id="1155335903" name="Sorge"/> </classification> <classification id="308" name="onl.categorie"> <item id="1155237908" name="mz/Deutschland &amp; Welt/Wirtschaft"/> </classification> <classification id="10045" name="sorg:Person"> <item id="1000352739" name="Joachim Rukwied"/> <item id="1000486573" name="Nancy Faeser"/> <item id="1000733647" name="Robert Habeck"/> </classification> <classification id="10037" name="sorg:State"> <item id="1000063598" name="Baden-Württemberg"/> <item id="1000063595" name="Bremen"/> <item id="1000063594" name="Land Berlin"/> <item id="1000063592" name="Land Nordrhein-Westfalen"/> <item id="1000063596" name="Saarland"/> </classification> <classification id="10036" name="sorg:Country"> <item id="1000063601" name="Deutschland"/> </classification> <classification id="10047" name="sorg:Organization"> <item id="1001623306" name="Berlin"/> <item id="1001662766" name="Bundesregierung"/> <item id="1001668483" name="Funke Mediengruppe"/> <item id="1001639074" name="GDL"/> <item id="1001664571" name="GdP"/> <item id="1001635068" name="Gewerkschaft der Polizei"/> <item id="1001611543" name="Magdeburg"/> <item id="1001629425" name="ZDF"/> </classification> </classifications> <origIdent>ld-3762183</origIdent> <origFilename>\\abc.com\prd_hugo_work\hugo_import\online\article\livingdocs\prd\ld-prd-3762183.json</origFilename> </articleArchive>

Wird beim Resource-Request ein HTTP-Fehler zurück geliefert, wird dieser Artikel übersprungen.

image:Resource-XML

Auch die im huGOAPI:Resource-XML angegebenen Bilder werden nach PRINT NGEN importiert. Hierfür wird zunächst aus dem huGOAPI:Resource-XML aus den Tags “articleArchive/links/link” mit Attribut  “type="picture"“ das Attribut “url” verwendet. Bei der Abfrage der image:Resource-XMLs wird zusätzlich ein “customer” mitgegeben, z. B.:

GET ResourceApi/v1/picture-34075286?user=USER&amp;signature=abc123&customer=CUSTOMER

Das XML, das an PRINT NGEN zurück geliefert wird, enthält folgende Tags:

Metadaten:

Tag

Inhalt

Option

picture/hugoId

huGO-ID des Bildes
→ Übernahme in die Eigenschaft DBildArchivID in PRINT NGEN

erforderlich

picture/creationTS

Erstellungszeitpunkt in huGO
→ wird nicht von PRINT NGEN ausgewertet

-

picture/note

Notizen

-

picture/archiveFlag

Archiv-Vermerk

-

picture/lockFlag

Sperrvermerk

-

picture/origIdent

Original-ID

-

picture/productionType

Produktionstyp

-

picture/thumbnailURL

URL zur Abfrage des Thumbnail-Bildes

-

picture/previewURL

URL zur Abfrage der Vorschau des Bildes

-

picture/previewPath

URL zur Abfrage des Thumbnail-Bildes

-

picture/lowresURL

URL zur Abfrage des LowRes-Bildes

-

picture/highresHeight

Höhe des HighRes-Bildes

-

picture/highresWidth

Breite des HighRes-Bildes

-

picture/highresFormat

Format des HighRes-Bildes

-

picture/highresPath

Pfad zum Abholen des HighRes-Bildes

-

picture/highresURL

URL zur Abfrage des HighRes-Bildes

erforderlich

picture/group

Group (wird auch beim Request mitgegeben) des Artikels

-

picture/groupDescription

Beschreibung der Group des Artikels

-

picture/objectName

Objektname

-

picture/urgency

Priorität

-

picture/category

Kategorie/Ressort

-

picture/suppCategory

Unterkategorie

-

picture/keywords

Schlagwörter

-

picture/instruction

Anweisung

-

picture/contentCreated

Erstellungszeitpunkt

-

picture/author

Autor:in

-

picture/byTitle

Untertitel

-

picture/location

Ort

-

picture/origRef

Referenz zum Original

-

picture/title

Titel

-

picture/credit

Objekt-Recht

-

picture/source

Quelle

-

picture/copyright

Copyright

-

picture/caption

Bildunterschrift

-

picture/descriptionWriter

Beschreibung

-

picture/lowresFlag

LowRes-Vermerk

-

picture/links

Links

-

picture/origName

Original-Name

-

picture/publications

Publikationen

-

image:Original

Der im image:Resource-XML angegebenen URL im Tag picture/highresURL wird nun zur Abfrage der Bilddatei verwendet, z. B.:

GET v1/get/?group=BILD&entry=a0b1c3&consumer=CONSUMER&signature=123&mts=456

 

Verwandte Seiten

Nur für PEIQ Mitarbeiter:innen:

https://peiq.atlassian.net/wiki/spaces/CORE/pages/edit-v2/811925833