Mithilfe der PEIQ Cloud-Connect APIs (engl. Application Programming Interfaces, Programmierschnittstellen) können Verlage Teile ihrer bestehenden Systeme und Produkte mit dem PEIQ PORTAL verbinden. Alle Cloud-Connect APIs sind nach der REST-Architektur aufgebaut. Der Zugriff wird dabei über die Standard HTTP-Methoden GET, POST, PUT und DELETE gesteuert. Die Zugriffskontrolle erfolgt hierbei über eine Implementierung nach OAuth V2 Standard.
Über die Endpunkte der Beitrags API können die im PORTAL vorliegenden Beiträge und Schnappschüsse nach verschiedenen Filtern abgerufen werden. Bilder werden asynchron importiert.
Funktionalitäten der Beitrags API
Abrufen, Erstellen, Editieren und Löschen von Beiträgen nach verschiedenen Filtern
Abrufen, Erstellen, Editieren und Löschen von Schnappschüssen nach verschiedenen Filtern
Inhaltsverzeichnis
Grundlegendes zur Beitrags API
Die Beitrags API ist der API Endpunkt der Beiträge & Schnappschüsse. Über die unten genannten Endpunkte können die im PORTAL vorliegenden Beiträge und Schnappschüsse nach verschiedenen Filtern abgerufen werden. Außerdem können Inhalte und dazugehörige Bilder und Kommentare angelegt, geupdatet oder gelöscht werden.
Verfügbare Endpunkte für Articles
Der untenstehende Response-Body zeigt die Struktur eines kompletten Beitrags. Neben dem Inhalt finden sich an diesem Objekt verschiedene Informationen zum Erstellungszeitpunkt, dem bzw. der Autor:in und der Einordnung in PORTAL nach Ortsstruktur.
Mit static_tags lässt sich ein Beitrag oder auch ein Schnappschuss als kommerzieller oder als Premium-Inhalt markieren. Mit den Countern für Kommentare & Likes kann das Engagement der User für jeden Artikel herausgelesen und analysiert werden.
GET
Get All Articles by Filters
status (Available values : draft, published, rejected, scheduled, deleted)
date_filter_type (Available values : published, created, updated ; Default value : published)
date_start
date_end
location_ids
user_id
user_segment
category_ids
tags
static_tags (Available values: commercial, premium_content)
Get Article by ID
article_id
Response
{ "total_results": 234, "total_pages": 12, "page": 1, "page_size": 20, "data": [ { "comments_enabled": true, "news_sitemap": true, "publish_schedule": { "start": "2019-03-07T00:00:00+00:00", "end": "2019-03-27T00:00:00+00:00" }, "remote_id": 1234, "url": "https://www.example.com/augsburg/c-category-a/test-article-1_a1", "id": "1", "status": "draft", "created": "2019-03-07T00:00:00+00:00", "published": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00", "display_locations": [ [ 17 ] ], "title": "Test Article #1", "comment_count": "24", "static_tags": [ "commercial", "premium_content", "amp" ], "text_elements": { "kicker": "Test Kicker Kicker Kicker Kicker Test", "text": "Test Text Text Test Text Test" }, "user_id": 1, "category_id": 1, "location_id": 17, "thumbnail": { "url": "https://www.example.com/resources/mediadb/article/2019/03/04/1/1_XL.jpg", "remote_id": "1234", "id": "12" }, "image_count": "5", "visit_count": "1235", "like_count": "15", "tags": [ "Tagger", "I'm a Tag" ] } ] }
POST
Create Article
PUT
Update Article by Id
article_id
DELETE
Delete Article by Id
article_id
Request Body
{ "comments_enabled": true, "news_sitemap": true, "publish_schedule": { "start": "2019-03-07T00:00:00+00:00", "end": "2019-03-27T00:00:00+00:00" }, "remote_id": 1234, "status": "published", "created": "2019-03-07T00:00:00+00:00", "published": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00", "display_locations": [ 17 ], "title": "Test Article #1", "static_tags": [ "commercial", "premium_content", "amp" ], "text_elements": { "kicker": "Test Kicker Kicker Kicker Kicker Test", "text": "Test Text Text Test Text Test" }, "user_id": 1, "category_id": 1, "location_id": 17, "tags": [ "Tagger", "I'm a Tag" ] }
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 201 - Article Successfully created / deleted 204 - Article Successfully updated 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Article Not Found Der Beitrag mit der angegebenen ID scheint nicht zu existieren.
Verfügbare Endpunkte für Article Categories
https://domain.tld/api/v2/articles/categories/{category_id}
Kategorien werden von PEIQ im Rahmen des Set-up oder während der Laufzeit eingepflegt. Sie können über diesen Endpunkt einfach ausgelesen und verwendet werden.
Zusätzlich kann man mehrere Kategorien als array, über category_ids, abrufen.
GET
Get All Article Categories
Get Article Category by Id
category_id
Response
[ { "id": "1", "name": "Sport", "name_norm": "sport" } ]
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Category Not Found Die Kategorie mit der angegebenen ID scheint nicht zu existieren.
Verfügbare Endpunkte für Article Comments
https://domain.tld/api/v2/articles/{article_id}/comments/{comment_id}
Beiträge können kommentiert werden. Dieser Endpunkt ermöglicht es, die vorliegenden Kommentare für einzelne Artikel zu lesen oder auch Kommentare zu posten, zu updaten oder zu löschen.
GET
Get Article Comments
article_id
Response
{ "total_results": 234, "total_pages": 12, "page": 1, "page_size": 20, "data": [ { "id": "1", "author_id": 1, "text": "This is a test comment!", "status": "published", "position": "1", "created": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00" } ] }
POST
Create Article Comments
article_id
PUT
Update Article Comment
comment_id
DELETE
Delete Article Comment
comment_id
Request Body
[ { "author_id": 1, "text": "This is a test comment!", "created": "2019-03-07T00:00:00+00:00" } ]
{ "status": "published", "text": "This is a modified test comment!" }
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 201 - Comment Successfully created / deleted 204 - Comment Successfully updated 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Comment / Article Not Found Der Kommentar / Beitrag mit der angegebenen ID scheint nicht zu existieren.
Verfügbare Endpunkte für Article Images
https://domain.tld/api/v2/articles/{article_id}/images/{image_id}
Dieser Endpunkt ermöglicht es Bilder an Beiträgen zu lesen oder auch hinzuzufügen (z. B. von einer externen Ressource oder aus einer Bildersammlung), zu updaten oder zu löschen. Mit dem Parameter caption kann eine Bildunterschrift vergeben werden. Der Parameter copyright befüllt die Information zum Urheber.
GET
Get all Article Images for a specific Article
article_id
Get Article Image by image_id
image_id
Response
[ { "id": "1", "url_set": { "NATIVE": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_NATIVE.jpg", "T": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_T.jpg", "XS": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XS.jpg", "S": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_S.jpg", "M": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_M.jpg", "L": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_L.jpg", "XL": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XL.jpg", "XXL": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XXL.jpg" }, "user_id": 1, "created": "2019-03-07T00:00:00+00:00", "modified": "2019-03-07T00:00:00+00:00", "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3", "remote_id": "1234" } ]
POST
Upload Article Images for a specific Article
article_id
PUT
Update Article Image by Image Id
image_id
DELETE
Delete Article Image by Image Id
image_id
Request Body
[ { "url": "https://www.example.com/resources/mediadb/article/2019/03/04/1/1_XL.jpg", "user_id": 1, "creation_date": "2019-03-07T00:00:00+00:00", "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3" } ]
{ "user_id": 1, "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3" }
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 201 - Image Successfully uploaded / deleted 204 - Image Successfully updated 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Article Images Not Found Der Kommentar / Beitrag mit der angegebenen ID scheint nicht zu existieren.
Verfügbare Endpunkte für Imageposts
https://domain.tld/api/v2/imageposts/{imagepost_id}
Der untenstehende Response-Body zeigt die Struktur eines kompletten Schnappschusses. Der Inhalt ist hier im Gegensatz zum Beitrag nur ein Bild (in verschiedenen Auflösungen) und ein Titel. Daneben finden sich an diesem Objekt verschiedene Informationen zum Erstellungszeitpunkt, dem bzw. der Autor:in und der Einordnung ins PORTAL nach Ortsstruktur und Kategorien im Nachrichtenmodul. Mit static_tags lässt sich ein Schnappschuss als kommerzieller oder als Premium-Inhalt markieren. Mit den Countern für Kommentare & Likes kann das Engagement der Leser:innen für jeden Schnappschuss herausgelesen und analysiert werden.
GET
Get All Imageposts by Filters
status (Available values : draft, published, rejected, scheduled, deleted)
date_filter_type (Available values : published, created, updated ; Default value : published)
date_start
date_end
location_ids
user_id
user_segment
category_id
category_ids (als array)
tags
static_tags (Available values: commercial, premium_content)
Get Imagepost by Id
imagepost_id
Response
{ "total_results": 234, "total_pages": 12, "page": 1, "page_size": 20, "data": [ { "comments_enabled": true, "remote_id": 1234, "id": "1", "status": "draft", "created": "2019-03-07T00:00:00+00:00", "published": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00", "display_locations": [ [ 17 ] ], "title": "Test Imagepost #1", "static_tags": "[commercial, premium]", "user_id": 1, "location_id": 17, "image": { "id": "1", "url_set": { "NATIVE": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_NATIVE.jpg", "T": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_T.jpg", "XS": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XS.jpg", "S": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_S.jpg", "M": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_M.jpg", "L": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_L.jpg", "XL": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XL.jpg", "XXL": "https://www.example.com/resources/mediadb/article/2019/03/27/1/1_XXL.jpg" }, "user_id": 1, "created": "2019-03-07T00:00:00+00:00", "modified": "2019-03-07T00:00:00+00:00", "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3", "remote_id": "1234" } } ] }
POST
Create Imagepost
Request Body
{ "comments_enabled": true, "remote_id": 1234, "status": "published", "created": "2019-03-07T00:00:00+00:00", "published": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00", "display_locations": [ 17 ], "title": "Test Imagepost #1", "static_tags": [ "commercial", "premium" ], "user_id": 1, "location_id": 17, "image": [ { "url": "https://www.example.com/resources/mediadb/article/2019/03/04/1/1_XL.jpg", "user_id": 1, "creation_date": "2019-03-07T00:00:00+00:00", "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3" } ] }
PUT
Update Imagepost by Id
imagepost_id
DELETE
Delete Imagepost by Id
imagepost_id
{ "comments_enabled": true, "remote_id": 1234, "status": "published", "created": "2019-03-07T00:00:00+00:00", "published": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00", "display_locations": [ 17 ], "title": "Test Imagepost #1", "static_tags": [ "commercial", "premium" ], "user_id": 1, "location_id": 17, "image": [ { "user_id": 1, "caption": "Test Image Caption", "copyright": "Test Image Copyright", "focus_x": "2", "focus_y": "3" } ] }
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 201 - Imagepost Successfully uploaded / deleted 204 - Imagepost Successfully updated 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Imageposts Not Found Der Schnappschuss mit der angegebenen ID scheint nicht zu existieren.
Verfügbare Endpunkte für Imagepost Comments
https://domain.tld/api/v2/imageposts/{imagepost_id}/comments
Schnappschüsse können kommentiert werden. Dieser Endpunkt ermöglicht es, die vorliegenden Kommentare für einzelne Schnappschüsse zu lesen oder auch Kommentare zu posten/ zu updaten/ zu löschen.
GET
Get Imagepost Comments
imagepost_id
Response
{ "total_results": 234, "total_pages": 12, "page": 1, "page_size": 20, "data": [ { "id": "1", "author_id": 1, "text": "This is a test comment!", "status": "published", "position": "1", "created": "2019-03-07T00:00:00+00:00", "updated": "2019-03-07T00:00:00+00:00" } ] }
POST
Post Imagepost Comments
imagepost_id
PUT
Update Imagepost Comment
comment_id
DELETE
Delete Imagepost Comment
comment_id
Request Body
[ { "author_id": 1, "text": "This is a test comment!", "created": "2019-03-07T00:00:00+00:00" } ]
{ "status": "published", "text": "This is a modified test comment!" }
HTTP Status Codes
200 - Success Alles hat wie erwartet funktioniert 201 - Imagepost Comment Successfully uploaded / deleted 204 - Imagepost Comment Successfully updated 400 - Bad Reqest Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body. 404 - Imagepost / Comment Not Found Der Schnappschuss / Kommentar mit der angegebenen ID scheint nicht zu existieren.
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 Publishing GmbH & Co. KG 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 Publishing GmbH & Co. KG ü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.