Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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.

Die API des Eventcalendar Moduls kann zum Abrufen, Erstellen, Editieren und Löschen von Veranstaltungen verwendet werden. Bilder werden asynchron importiert.

Funktionalitäten der Veranstaltungskalender API

  • Auslesen der im PORTAL vorliegenden Veranstaltungen, Bilder und Kommentare

  • Anlegen der im PORTAL vorliegenden Veranstaltungen, Bilder und Kommentare

  • Ändern der im PORTAL vorliegenden Veranstaltungen, Bilder und Kommentare

  • Löschen der im PORTAL vorliegenden Veranstaltungen, Bilder und Kommentare

Inhaltsverzeichnis

Expand
titleInhaltsverzeichnis anzeigen
Table of Contents
maxLevel4
Grundsätzliches zur Veranstaltungs API

Allgemeine Beschreibung

Die

Veranstaltungskalender

API

ist der API Endpunkt für Veranstaltungen. Über die unten genannten Endpunkte können die im PORTAL vorliegenden Veranstaltungen, ihre Bilder und Kommentare ausgelesen, angelegt, geändert oder gelöscht werden.Verfügbare Endpunkte für Eventitems

-Dokumentation ist als interaktive Dokumentation für berechtigte Admins direkt im jeweiligen PORTAL unter /admin/api/v2/doc?module=eventcalendar erreichbar.

Das swagger-File kann auch hier heruntergeladen werden (Stand: ):

View file
nameapi_module_eventcalendar_swagger.json

 

Image Added

 

Verfügbare Endpunkte

Eventitem

Veranstaltungen werden vom System als Eventitems bezeichnet. Ein Eventitem enthält verschiedene Parameter zur Festlegung des Ortes und des Zeitpunkts der Veranstaltungder Orte und der Zeitpunkte der Veranstaltung. Es sind mehrere Veranstaltungsorte sowie mehrere Zeitpunkte der Veranstaltungen (=Termine) pro Eventitem möglich.

Verfügbare Endpunkte für Eventitem Categories

Dieser Endpunkt bildet einen speziellen Endpunkt zum einfacheren Auslesen der Veranstaltungs-Kategorien.

Code Block
https://yourdomain.com/api/v2/eventitems/categories

Status
colourBlue
titleget

  • Get All Eventitem Categories

  • Get Eventitem Category by Id

    • category_id

Response

Code Block
languagejson
[
  {
    "id": "1",
    "name": "Sport",
    "name_norm": "sport"
  }
]

Verfügbare Endpunkte für Eventitem Comments

Dieser Endpunkt bildet einen speziellen Endpunkt für Kommentare an Veranstaltungen.

Code Block
languagetext
https://yourdomain.com/api/v2/eventitems/{eventitem_id}/comments
  • Status
    colourBlue
    title

get
  • Get All Eventitems 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

    • statig_tags (Available value: commercial)

  • Get Eventitem by Id

    • eventitem_id

Response

Code Block
languagejson
{
  "total_results": 234,
  "total_pages": 12,
  "page": 1,
  "page_size": 20,
  "data": [
    {
      "id": "1",
      "url": "https://www.example.com/event/augsburg/c-category-a/test-event-1_e1",
      "url_qr": "https://www.example.com/event/qr/eventitem/1",
      "poi_data": {
        "id": "1",
        "name": "Rathaus",
        "street": "Maximilianstraße",
        "city": "Augsburg",
        "zipcode": "86150",
        "lat": "41.4123541",
        "lng": "10.213123412",
        "url": "https://goo.gl/maps/9sEHVqx6jSA2"
      },
      "event_locations": [
      {
        "type": "loc",
        "name": "string",
        "street": "string",
        "city": "string",
        "zipcode": "string",
        "lat": "Unknown Type: float",
        "lng": "Unknown Type: float",
        "url": "string",
        "gplid": "string",
        }
      ],
      "embeds": {
        "embedcode": {
          "e3rux4b8nc0": {
            "content": "<b>Bold</b>"
          }
        }
      },
      "embed_type_count": {
        "map": 1,
        "video": 1,
        "social": 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",
      "title": "Test Event #1",
      "description": "[embedcode=e3rux4b8nc0][/embedcode][tiktok]https://www.tiktok.com/@example/video/0001[/tiktok][map]https://www.google.com/maps/embed?params[/map][video]https://www.youtube.com/watch?v=9CDs067081E[/video]This is the description of Test Event #1",
      "eventitem_dates": [
        "2019-03-30T18:30:00",
        "2019-04-31T12:30:00"
      ],
      "static_tags": [
        "commercial"
      ],
      "user_id": 1,
      "category_id": 1,
      "location_id": 17,
      "thumbnail": {
        "url": "https://www.example.com/resources/mediadb/event/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"
      ]
    }
  ]
}

Status
colourGreen
titlepost

  • Create Eventitem

Status
colourYellow
titlePUT

  • Update Eventitem by Id

    • eventitem_id

Status
colourRed
titledelete

  • Delete Eventitem by Id

    • eventitem_id

Request Body

Code Block
languagejson
{
  "poi_data": {
    "id": "1",
    "name": "Rathaus",
    "street": "Maximilianstraße",
    "city": "Augsburg",
    "zipcode": "86150",
    "lat": "41.4123541",
    "lng": "10.213123412",
    "url": "https://goo.gl/maps/9sEHVqx6jSA2"
  },
  "status": "draft",
  "created": "2019-03-07T00:00:00+00:00",
  "published": "2019-03-07T00:00:00+00:00",
  "title": "Test Event #1",
  "description": "This is the description of Test Event #1",
  "eventitem_dates": [
    "2019-03-30T18:30:00",
    "2019-04-31T12:30:00"
  ],
  "static_tags": [
    "commercial"
  ],
  "user_id": 1,
  "category_id": 1,
  "location_id": 17,
  "tags": [
    "Tagger",
    "I'm a Tag"
  ]
}
  • GET
    ​/eventitems: Gibt eine paginierte Liste an Veranstaltungen nach den gesetzten Filtern aus.

  • Status
    colourBlue
    titleGET
    /eventitems/{eventitem_id}: Gibt die durch die ID spezifizierte Veranstaltung zurück.

  • Status
    colourGreen
    titlePOST
    /eventitems: Erstellt eine neue Veranstaltung.

  • Status
    colourYellow
    titlePUT
    /eventitems/{eventitem_id}: Aktualisiert die im Request Body angegebenen Informationen der durch die ID spezifizierten Veranstaltung.

  • Status
    colourRed
    titleDELETE
    /eventitems/{eventitem_id}: Löscht die durch die ID spezifizierte Veranstaltung unwiderruflich.

Note

Das PORTAL prüft bei der Beitrags API sowie bei der https://peiq.atlassian.net/wiki/pages/resumedraft.action?draftId=236028423 nicht dahingehend, ob die gesendete remote_ID eindeutig ist. Dies müssen die angeschlossenen Systeme selbst sicherstellen. Sofern die gleiche Remote-ID an mehreren Inhalten vergeben ist, berücksichtigt ein Request mithilfe der remote_ID immer nur ein Item (in der Regel das erste Item in der nach der ID aufsteigend sortierten Liste).

Eventitem Category

  • Status
    colourBlue
    titleGET
    /eventitems/categories: Gibt eine Liste der im PORTAL hinterlegten Kategorien für Veranstaltungen zurück (Informationen: id, name, name_norm).

  • Status
    colourBlue
    titleGET
    /eventitems/categories/{category_id}: Gibt die durch die ID spezifizierten Kategorie für Veranstaltungen zurück (Informationen: id, name, name_norm).

Eventitem Comment

  • Status
    colourBlue
    titleGET
    /eventitems/{eventitem_id}/comments: Gibt die Kommentare der durch die ID spezifizierten Veranstaltung zurück.

  • Status
    colourGreen
    titlePOST
    /eventitems/{eventitem_id}/comments: Erstellt einen Kommentar an der durch die ID spezifizierten Veranstaltung.

  • Status
    colourYellow
    titlePUT
    /eventitems/comments/{comment_id}: Aktualisiert die im Request Body angegebenen Informationen des durch die ID spezifizierten Kommentars.

  • Status
    colourRed
    titleDELETE
    /eventitems/comments/{comment_id}: Löscht den durch die ID spezifizierten Kommentar.

Eventitem Image

  • Status
    colourBlue
    titleGET
    /eventitems/{eventitem_id}/images: Gibt alle Bilder der durch die ID spezifizierten Veranstaltung zurück.

  • Status
    colourBlue
    title

get
  • Get Eventitem Comments

    • eventitem_id

Response

Code Block
languagejson
{ "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" } ] }
  • GET
    /eventitems/images/{image_id}: Gibt das durch die ID spezifizierte Bild einer Veranstaltung zurück.

  • Status
    colourGreen
    title

post

Create Eventitem Comment

comment_id
  • POST
    /eventitems/{eventitem_id}/images: Fügt ein oder mehrere Bilder (array) einer durch die ID spezifizierten Veranstaltung hinzu.

  • Status
    colourYellow
    title

put

Update Eventitem Comment

Verfügbare Endpunkte für Eventitem Images

Dieser Endpunkt bildet einen speziellen Endpunkt für Bilder von Veranstaltungen. Mit dem Parameter caption kann eine Bildunterschrift vergeben werden. Der Parameter copyright befüllt die Information zum Urheber.

Code Block
languagetext
https://yourdomain.com/api/v2/eventitems/{eventitem_id}/images
  • PUT
    /eventitems/images/{image_id}: Aktualisiert die Meta-Informationen (hochgeladen von, Copyright, Bildunterschrift, Bildfokus) des durch die ID spezifizierten Bildes.

  • Status
    colourRed
    title

delete
  • Delete Eventitem Comment

    • comment_id

Request Body

Code Block
languagejson
[
  {
    "author_id": 1,
    "text": "This is a test comment!",
    "created": "2019-03-07T00:00:00+00:00"
  }
]
  • DELETE
    /eventitems/images/{image_id}: Löscht das durch die ID spezifizierte Bild einer Veranstaltung unwiderruflich.

Note

Bilder werden asynchron importiert.

Note

Bilder müssen für einen Import in das PORTAL von einer öffentlich zugänglichen URL abrufbar sein. Die Bilder können nicht direkt in das PORTAL eingespeist werden. Dies ist eine Maßnahme zur besseren Skalierbarkeit, um das System, bzw. die Schnittstelle nicht zu überlasten und eine schnelle Verarbeitung der Importe zu gewährleisten.

Note

Bei den image-Endpunkten der Beitrags API und der https://peiq.atlassian.net/wiki/pages/resumedraft.action?draftId=236028423 wird nur die ID des articles / des eventimtems unterstützt: Die remote-ID von Beiträgen / Veranstaltungen kann also in den Request-URLs für

Status
colourBlue
title

get
  • Get all Images for a specific Eventitem

    • eventitem_id

  • Get Eventitem Image by image_id

    • image_id

Response

Code Block
languagejson
[
  {
    "id": "1",
    "url_set": {
      "NATIVE": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_NATIVE.jpg",
      "T": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_T.jpg",
      "XS": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_XS.jpg",
      "S": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_S.jpg",
      "M": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_M.jpg",
      "L": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_L.jpg",
      "XL": "https://www.example.com/resources/mediadb/event/2019/03/27/1/1_XL.jpg",
      "XXL": "https://www.example.com/resources/mediadb/event/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"
  }
]

Status
colourGreen
titlepost

Upload Images for a specific Eventitem

eventitem_idimage_id

GET
,
Status
colourYellow
titlePUT
und
Status
colourRed
titleDELETE
bei den image-Endpunkten nicht genutzt werden.

Stattdessen kann die remote-ID des Beitrags / der Veranstaltung im

Status
colourBlue
titleGET
-Endpunkt genutzt werden, um die ID des articles / des eventitems zu erhalten, welche dann in den image-Endpunkten verwendet werden kann.

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#F4F5F7

Beachte auch die Hinweise hier: https://peiq.atlassian.net/wiki/spaces/CORE/pages/44400763/API+Cloud-Connect#Fragen-zu-Bilder-Workflows-%C3%BCber-die-APIs

Wichtige Hinweise zu Embeds, HTML- & BBCode-Tags im Text bei Importen

Panel
panelIconIdatlassian-note
panelIcon:note:
bgColor#F4F5F7

Siehe die entsprechende Dokumentation: Verwendung von HTML- & BBCode-Tags bei Importen

Wichtige Hinweise zur remote_id

Das PORTAL prüft bei der Beitrags API sowie bei der https://peiq.atlassian.net/wiki/pages/resumedraft.action?draftId=236028423 nicht dahingehend, ob die gesendete remote_ID eindeutig ist. Dies müssen die angeschlossenen Systeme selbst sicherstellen. Sofern die gleiche remote-ID an mehreren Inhalten vergeben ist, berücksichtigt ein Request mithilfe der remote_ID immer nur ein Item (in der Regel das erste Item in der nach der ID aufsteigend sortierten Liste).

Bei den image-Endpunkten der Beitrags API und der https://peiq.atlassian.net/wiki/pages/resumedraft.action?draftId=236028423 wird nur die ID des articles / des eventimtems unterstützt: Die remote-ID von Beiträgen / Veranstaltungen kann also in den Request-URLs für

Status
colourBlue
titleGET
,
Status
colourYellow
title

put

Update Eventitem Image by image_id

PUT
und
Status
colourRed
title

delete
  • Delete Eventitem Image by image_id

    • image_id

Request Body

Code Block
languagejson
[ { "url": "https://www.example.com/resources/mediadb/event/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" } ]

DELETE
bei den image-Endpunkten nicht genutzt werden.

Stattdessen kann die remote-ID des Beitrags / der Veranstaltung im

Status
colourBlue
titleGET
-Endpunkt genutzt werden, um die ID des articles / des eventitems zu erhalten, welche dann in den image-Endpunkten verwendet werden kann.

Trouble Shooting bei HTTP Status Codes

400 - Bad Request

Insert excerpt
API 2.0 Dokumentation PORTAL
API 2.0 Dokumentation PORTAL
name400
nopaneltrue

404 - Not Found

Insert excerpt
API 2.0 Dokumentation PORTAL
API 2.0 Dokumentation PORTAL
name404
nopaneltrue

Verwandte Seiten

Filter by label (Content by label)
showLabelsfalse
maxCheckboxfalse
showSpacefalse
reversefalse
cqllabel in ( = "api" , "schnittstellen" , "veranstaltungen" ) and space = "PPSDPUPKB"

Include Page
Disclaimer der PEIQ PORTAL - Produktdokumentation
Disclaimer der PEIQ PORTAL - Produktdokumentation

Nur für PEIQ-Mitarbeiter:innen
https://peiq.atlassian.net/wiki/x/lALRAg