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:
Die Arbeitsweise mit nach PRINT NGEN importierten Agenturmeldungen kann folgender allgemeiner Knowledge-Base-Seite entnommen werden: Agenturmeldungen
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 | - |
link | Link des Endpunktes | - |
author | Autor:in / Urheber:in des Endpunktes | - |
id | ID des Endpunktes | - |
updated | Zeitpunkt der letzten Aktualisierung | - |
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&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&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 | erforderlich |
articleArchive/ hugoParentId | huGO-Eltern-ID des Artikels | - |
articleArchive/creationTS | Erstellungszeitpunkt in huGO | 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><div class="fp-article-body" data-t-name="Article"><p class="fp-paragraph"><strong>Berlin</strong> - 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.</p></div></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&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&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&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&entry=08F1EC7D_D8B3A87453A4&consumer=CONSUMER&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 & 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&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 | erforderlich |
picture/creationTS | Erstellungszeitpunkt in huGO | - |
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