PORTAL und PPS Knowledge Base

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

« Previous Version 12 Next »

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

 Inhaltsverzeichnis anzeigen

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.

  • No labels