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 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
Detaillierte Beschreibung

Grundsätzliches zur Veranstaltungs API

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

Verfügbare Endpunkte für Eventitems

Veranstaltungen werden vom System als Eventitems bezeichnet. Ein Eventitem enthält verschiedene Parameter zur Festlegung des Ortes und des Zeitpunkts der Veranstaltung.

Status
colourBlue
titleget

  • 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",
      "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",
      "updated": "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,
      "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"
  ]
}

HTTP Status Codes

Code Block
languagetext
200 - Success             Alles hat wie erwartet funktioniert
201 - Eventitem Successfully created / deleted
204 - Eventitem 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 - Eventitem Not Found Die Veranstaltung mit der angegebenen ID scheint nicht zu existieren


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"
  }
]

HTTP Status Codes

Code Block
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 - Eventitem Not Found Die Veranstaltung mit der angegebenen ID scheint nicht zu existieren


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
titleget

  • 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"
    }
  ]
}

Status
colourGreen
titlepost

  • Create Eventitem Comment

    • eventitem_id

Status
colourYellow
titleput

  • Update Eventitem Comment

    • comment_id

Status
colourRed
titledelete

  • 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"
  }
]

HTTP Status Codes

Code Block
200 - Success             Alles hat wie erwartet funktioniert
201 - Eventitem Comment Successfully created / deleted
204 - Eventitem 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 - Not Found   	      Die Veranstaltung/Der Kommentar mit der angegebenen ID scheint nicht zu existieren


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

Status
colourBlue
titleget

  • 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_id

Status
colourYellow
titleput

  • Update Eventitem Image by image_id

    • image_id

Status
colourRed
titledelete

  • 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"
  }
]

HTTP Status Codes

Code Block
languagetext
200 - Success             Alles hat wie erwartet funktioniert
201 - Eventitem Image Successfully uploaded / deleted
204 - Eventitem 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 - Not Found   	      Die Veranstaltung/Das Bild mit der angegebenen ID scheint nicht zu existieren

Berechtigte Nutzer

Die Beitrags API ist eine Adminfunktion, welche Nutzer mit der Berechtigung “Zugang zur API-Dokumentation“abrufen dürfen.

Die Interaktive Bedienung - Try it out

Die API 2.0 BETA Dokumentation kann bereits ohne große Programmierkenntnisse oder ein darauf ausgerichtetes Programm bedient werden. Hierfür gibt es die “Try-it-out” - Funktion.

Jeder Lesende (GET) Endpunkt der Dokumentation hat einen “Try it out” Button. Hierüber können Daten nach den im Front-End vorliegenden Filtern aus dem Live-System abgerufen werden. Bedingung für das Benutzen der Funktion ist ein gültiger API key .

Image Removed

 Der 'Try it out' Button

Note

Um ein versehentliches Manipulieren der Daten zu verhindern, ist die Benutzung auf die Lesenden Endpunkte (GET) beschränkt.

 

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