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 Benutzer API dient zum Anlegen, Editieren, Löschen und Auslesen von Benutzer:innen & Gruppen. Darüber hinaus können Profilbilder über die API manipuliert werden.

Funktionalitäten der Benutzer API

  • Anlegen und Editieren von Benutzer:innen & Gruppen

  • Löschen und Auslesen von Benutzer:innen & Gruppen

Inhaltsverzeichnis

Expand
titleInhaltsverzeichnis anzeigen
Table of Contents
maxLevel4

Grundlegendes zur Benutzer API

Die Benutzer API dient zum Anlegen, Editieren, Löschen und Auslesen von Benutzer:innen & Gruppen. Darüber hinaus können Profilbilder über die API manipuliert werden.

Verfügbare Endpunkte für User

Benutzer:innen sind alle Autor:innen und Leser:innen im PORTAL. Über die Benutzer API können sämtliche Informationen von Benutzer:innen ausgelesen oder manipuliert werden. Auch das Löschen von einzelnen Benutzer:innen ist über die API möglich. Wird ein:e Benutzer:in gelöscht, hat das auch das Löschen seiner bzw. ihrer veröffentlichten Inhalte zur Folge. Es ist daher sehr darauf zu achten, wer diesen Endpunkt bedient und wie.

Status
colourBlue
titleGET

  • Get All Users by Filters

    • first_name

    • last_name

    • email

    • updated_since

    • registration_date_from

    • registration_date_to

    • enabled

    • locked

    • lock_state (available values: none, pending_approval, locked)

    • tags

    • user_ids

  • Get User Information by user_id

    • user_id

  • Get User Information by Authentication Token

  • Get All User Segments

Response

Code Block
languagejson
{
  "total_results": 234,
  "total_pages": 12,
  "page": 1,
  "page_size": 20,
  "data": [
    {
      "embeds":{
        "embedcode": {
          "e3rux4b8nc0" {
            "content": "<b>Bold</b>"
          }
        }
      },
      "id": "1",
      "remote_id": {
        "ssofact": "12345"
      },
      "first_name": "Max",
      "last_name": "Mustermann",
      "full_name": "Max Mustermann",
      "credits": 132,
      "group_ids": [
        2,
        3
      ],
      "email": "max@mustermann.de",
      "registration_date": "2015-03-07T03:00:00+00:00",
      "last_login": "2019-03-07T13:00:00+00:00",
      "user_type": "person",
      "user_segment": "leserreporter",
      "location_id": 17,
      "static_tags": [
        "commercial"
      ],
      "avatar": {
        "url": "https://example.com/resources/mediadb/user/2019/04/18/1/1_M.jpg",
        "id": "12"
      },
      "wallpaper": {
        "url": "https://example.com/resources/mediadb/user/2019/04/18/1/1_XL.jpg",
        "id": "13"
      },
      "lock_state": "none",
      "enabled": true,
      "address": {
        "street": "Example Street",
        "street_number": "123",
        "zipcode": "86159",
        "city": "Augsburg",
        "phone": "08212849204"
      },
      "biograpy": "[embedcode=e3rux4b8nc0][/embedcode]This is the example biography from Max Mustermann.",
      "gender": "male",
      "birthdate": "1977-03-07",
      "tags": [
        "Tagger",
        "I'm a Tag"
      ]
    }
  ]
}

Sofern ein

Status
colourBlue
titleGET
-Aufruf mehr als 10.000 Treffer zurückgibt, wird ein 400-Fehler ausgegeben. In diesem Fall müssen die Ergebnisse mithilfe der Filter weiter eingeschränkt werden.

Status
colourGreen
titlePOST

  • Create User

Status
colourYellow
titlePUT

  • Update User

Status
colourRed
titleDELETE

  • Delete User by ID

    • user_id

Request Body

Code Block
languagejson
{
  "remote_id": {
    "ssofact": "12345"
  },
  "first_name": "Max",
  "last_name": "Mustermann",
  "credits": 1,
  "group_ids": [
    2,
    3
  ],
  "email": "max@mustermann.de",
  "plaintext_password": "Password123!",
  "last_login": "2019-03-07T13:00:00+00:00",
  "user_type": "person",
  "user_segment": "leserreporter",
  "location_id": 17,
  "static_tags": [
    "commercial"
  ],
  "lock_state": "none",
  "enabled": true,
  "address": {
    "street": "Example Street",
    "street_number": "123",
    "zipcode": "86159",
    "city": "Augsburg",
    "phone": "08212849204"
  },
  "biograpy": "This is the example biography from Max Mustermann.",
  "gender": "male",
  "birthdate": "1977-03-07",
  "tags": [
    "Tagger",
    "I'm a Tag"
  ]
}

HTTP Status Codes

Code Block
200 - Success         Alles hat wie erwartet funktioniert
201 - User Successfully Created
204 - User Successfully Updated / Deleted
400 - Bad Reqest      Der Request war nicht akzeptabel. Das liegt oft an einem fehlenden Parameter. Checken Sie hierfür den gesendeten Request Body.
404 - User Not Found  Der User scheint nicht zu existieren


Verfügbare Endpunkte für User Groups

Benutzergruppen können im PORTAL über die Berechtigungsgruppenverwaltung angelegt werden. Der API Endpunkt dient dazu, die IDs von Benutzergruppen zu ermitteln und diese dem User zuzuweisen.

Status
colourBlue
titleGET

  • Get All User Groups

  • Get User Group Information by group_id

    • group_id

Response

Code Block
languagejson
[
  {
    "id": 1,
    "name": "Super Admin",
    "description": "Super Admins have access to everything on the Portal."
  }
]

Verfügbare Endpunkte für User Images

Die Profilseite eines bzw. einer Benutzer:in enthält sowohl ein Profilbild als auch ein Panorama-Wallpaper. Über folgende Endpunkte können die Bilder gelesen und gelöscht oder neue Bilder, z. B. von externen Quellen, ins PORTAL geladen werden.

Status
colourBlue
titleget

  • Get User Avatar by user_id

    • user_id

  • Get User Wallpaper by user_id

    • user_id

Response

Code Block
languagejson
{
  "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",
  "focus_x": "2",
  "focus_y": "3"
}

Status
colourGreen
titlePOST

  • Upload User Avatar for a specific User

    • user_id

  • Upload User Wallpaper for a specific User

    • user_id

Status
colourRed
titledelete

  • Delete User Avatar by user_id

    • user_id

  • Delete User Wallpaper by user_id

    • user_id

Request Body

Code Block
languagejson
{
  "url": "https://www.example.com/resources/mediadb/article/2019/03/04/1/1_XL.jpg",
  "creation_date": "2019-03-07T00:00:00+00:00",
  "focus_x": "2",
  "focus_y": "3"
}

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 Themen

Filter by label (Content by label)
showLabelsfalse
maxCheckboxfalse
showSpacefalse
reversefalse
cqllabel = "api" and space = "PUPKB"

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

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