pressmind® für Entwickler

Das pressmind® PIM System stellt diverse Integrationsmöglickeiten zur Verfügung. Je nach Integrationsart können unterschiedliche APIs eingesetzt werden.
Lassen Sie sich bitte vor dem Einsatz dieser Tools ausführlich durch Ihren Pressmind Integrations-Manager beraten.

pressmind® web-core SDK

PHP Framework basierend auf dem pressmind® SDK mit lokalen Caching. Für Projekte die Daten verarbeiten und lesen müssen. (Details on Github.com)

WordPress TravelShop Theme

Beispiel für ein WordPress Theme auf Basis des web-core. (Details on Github.com)

REST API V2 Dokumentation

Die REST API V2 ist performanter und bietet ein optimiertes Datenmodell im Vergleich zum Vorgänger. Aktuell ist diese API noch in der Entwicklungsphase und bietet noch nicht den vollständigen Funktionsumfang zum Vorgänger - kann aber bereits produktiv im definitierten Umfang genutzt werden. (Details auf Swagger)

REST API V1 Dokumentation

Direkter Zugriff via REST API auf verschiedene Bereiche von pressmind®. (Aktuell für den Produktiv-Betrieb empfohlen)

MyContent Anbindung

Inhalte an pressmind® via JSON Feeds anbinden.

Image Service

Einfacher, URL basierter Zugriff auf Bildmaterial.

pressmind® IB3 Integration Kit

Mastertemplate für die pressmind® IB3 inkl. einiger Info's und Helper zur Integration der pressmind® Booking Engine IB3 (Details on Github.com)

REST-API Getting started

pressmind® PHP REST-API Client

pressmindRestClientV2.zip (2 KB)

Wie ist die REST API aufgebaut?

Die pressmind® API ist in sogenannte Controller aufgeteilt. Jeder dieser Controller ist für die Verarbeitung von Daten eines bestimmten Bereiches zuständig. Derzeit stellt pressmind® ca. 5 verschiedene Controller zur Verfügung. Der wohl am häufigsten gebrauchte Controller ist der s.g. Text Controller, mit diesem ist es u.a. möglich sich direkt die Produktdaten aus pressmind® ausgeben zulassen. Dazu ist nicht viel mehr zu tun als eine spezielle URL zu formen und sich über diese die Daten abzurufen. Die pressmind® API liefert auf jede Anfrage entweder eine JSON Ausgabe oder im Fehlerfall einen HTTP Code zurück. Für einen möglichst einfachen Start haben wir im Download Bereich einen PHP basierten Beispiel Client bereitgestellt. Auf den folgenden Seiten finden Sie alle verfügbaren Controller und dessen Parameter. Zögern Sie auch nicht uns zu kontaktieren. Wir stehen Ihnen gern mit Rat und Tat zur Seite.

Endpunkt:

Der Endpunkt ist abhängig von dem installierten pressmind® System. Den korrekten Endpunkt entnehmen Sie bitte der pressmind® Software unter: Menü => Einstellungen => Client

https://{ENDPOINT}/rest/

Bei Systemen im Produktiv-Einsatz empfiehlt sich die Spezifierung der API-Version. Somit werden Änderungen an der API ausgeschlossen und kompatibilitäts Probleme vermieden.

https://{ENDPOINT}/{VERSION}/rest/

Die Versionsnummer ist identisch mit der des pressmind® Clients. Bitte beachten das veraltete Versionen nur zeitlich begrenzt zur Verfügung stehen. Beta Versionen sind nicht für den Produktivbetrieb bestimmt.

Repräsentation: JSON

Das Antwort-Format ist JSON (JavaScript Object Notation). Dies ist ein einfaches maschinenlesbares Format zum Datenaustausch. Weitere Informationen zu JSON finden Sie unter json.org. Beispiel Antwort:

[
	{
		"somekey": "somevalue"
	}
]

Syntax

https://{ENDPOINT}/{VERSION}/rest/{CONTROLLER}/api/{KEY}/{PARAMETER1}/{VALUE1}/

Wenn nicht anderes angegeben erfolgen die Aufrufe via HTTP GET Header.

Parameter
Beschreibung
Parameter
{URI}
Beschreibung
Endpunkt des Webservices
Parameter
{VERSION}
Beschreibung
Optional. Spezifiziert die Version des Services. Die Version ist analog zur pressmind® Client Version.
Parameter
{CONTROLLER}
Beschreibung
Name des Controllers. Case-Sensitive.
Parameter
{KEY}
Beschreibung
API Schlüssel. Den Schlüssel finden Sie in der pressmind® Software unter Menü => Einstellungen => Voreinstellungen => Server => Common. Beachten Sie das eine zusätzliche Benutzer-Autorisierung erforderlich ist. Ein ungültiger API Key gibt den Status HTTP Code 401-Unauthorized zurück.
Parameter
{PARAMETER}/{VALUE}
Beschreibung
Je nach Methode werden beliebige Parameter Paare an die URL angehangen. Parameter Schlüssel sind Case-Sensitive. Values müssen URL encoded übermittelt werden.

Autorisierung

Via HTTP Digest. Grundsätzlich kann sich jeder in der pressmind® definierte Frontend User anmelden. Bei erfolgreicher Anmeldung werden die Benutzer Informationen/Berechtigungen mittels der Methode currentUser:index bereitgestellt. Im Fehlerfall HTTP Header 401 Unauthorized.

Hello World Beispiel

Ein einfaches Beispiel: Der Aufruf der HelloWorld::helloPressmind Methode. Tauschen Sie in der URI den Wert "pressmind" gegen "world" aus. .

https://{ENDPOINT}/rest/HelloWorld/api/{Key}/hello/pressmind

Ausgabebeispiel:

[
	{
		"you": "hello pressmind"
	},
	{
		 "pressmind": "hello dude"
	}
 ]

Controller

Die einzelnen Controller bieten Zugriff auf verschiedene Bereiche und Funktionen innerhalb des pressmind® Systems. Die folgende Liste bietet eine Übersicht aller verfügbaren Controller:

CategoryTree Controller

Merkmale und Kategorien werden in pressmind® in sogenannten "Trees" abgelegt. Jedes Merkmal kann somit beliebig tief veschachtelt werden. Der CategoryTree Controller gibt alle vorhandenen Trees, wahlweise mit oder ohne Elemente der Baumstruktur aus.

Aufruf

Ausgabe aller CategoryTrees

https://{URI}/rest/CategoryTree/api/{Key}

Ausgabe aller CategoryTrees, samt aller Elemente

https://{URI}/rest/CategoryTree/api/{Key}/withData/1

Parameter

Parameter
Type
Beschreibung
Parameter
withData
Type
int
Beschreibung
Zulässige Werte 0 oder 1. Wenn 1 dann wird der vollständige Tree inkl. allen Elementen ausgegeben. Defaultwert ist 0.

Siehe auch CategoryTreeIndex

Contact Controller

In pressmind® gespeicherte Adressen werden über der Contact Controller bereitgestellt.

Aufruf

Alle Kontakte

https://{URI}/rest/Contact/api/{Key}

Aufruf eine Kontaktes mit bekannter ID:

https://{URI}/rest/Contact/api/{Key}/id/{ID}/

Aufruf aller Kontakte aus der Schweiz

https://{URI}/rest/Contact/api/{Key}/country/CH

Aufruf aller männlichen Kontakte aus der Schweiz

https://{URI}/rest/Contact/api/{Key}/country/CH/gender/male

Parameter

Parameter
Type
Beschreibung
Parameter
id
Type
int
Beschreibung
Dieser Parameter kann nicht mit den anderen Parametern kombiniert werden
Parameter
name
Type
string
Parameter
middlename
Type
string
Parameter
surname
Type
string
Parameter
title
Type
string
Parameter
gender
Type
enum
Beschreibung
Gültige Werte "male" oder "female"
Parameter
country
Type
enum
Beschreibung
Erwartet Country Code nach ISO-3166-alpha-2
Parameter
zip
Type
string
Parameter
city
Type
string
Parameter
street
Type
string
Parameter
email
Type
string

CountryCode Controller

Country Code Tabelle nach ISO-3166-1-alpha-2. Der Controller erlaubt die Auflösung von Code zu Name oder gibt die vollständige Liste zurück. Siehe auch https://www.iso.org/iso-3166-country-codes.html

Aufbaubeispiele

Ausgabe der kompletten Länderliste

https://{URI}/rest/CountryCode/api/{Key}

Auflösung von Country Code "CH" zu Name "Switzerland":

https://{URI}/rest/CountryCode/api/{Key}/code/CH

Parameter

Parameter
Type
Beschreibung
Parameter
code
Type
enum
Beschreibung
Zulässige Werte 0 oder 1. Wenn 1 dann wird der vollständige Tree inkl. allen Elementen ausgegeben. Defaultwert ist 0.

CategoryTreeIndex Controller

Dieser Service dient speziell zur Entwicklung von Suchmasken. Es werden nur valide und zugeordnete Merkmale der Trees ausgegeben, damit wird es ermöglicht das z.B. eine Selectbox nur Elemente anzeigt zu der auch Produkte aktiv vorhanden sind.

Aufruf

Beispiel 1: Gibt einen definierten Tree nur mit Elemente aus welche mindestens einem Medienobjekt zugewiesen sind.

http://{URI}/rest/CategoryTreeIndex/api/{Key}/id_category_tree/{ID}

Beispiel 2: Wie Beispiel 1 nur mit ergänzter Sichtbarkeitsstufe "public"

http://{URI}/rest/CategoryTreeIndex/api/{Key}/id_category_tree/{ID}/visibilty/30

Parameter

Parameter
Type
Beschreibung
Parameter
id_category_tree
Type
int
Beschreibung
ID des Trees. Eine vollständige Liste aller Trees kann mit dem Controller "CategoryTree" abgefragt werden.
Parameter
id_media_object
Type
int
Beschreibung
Parameter
id_pool
Type
int
Beschreibung
Gibt nur Elemente aus, dessen Medienobjekte einem bestimmten Pool zugewiesen sind.
Parameter
visibility
Type
enum
Beschreibung
Gibt nur Elemente aus, dessen Medienobjekte eine bestimmte Sichtbarkeitstufe definiert haben.

Erlaubte Werte: 10, 30, 40, 50

Zuordnung der Werte:

10 = "Nobody"
30 = "Public"
40 = "Extranet"
50 = "Intranet"
Parameter
treeAsXml
Type
int
Beschreibung
Gibt den Tree als XML aus.
Parameter
objectType
Type
int
Beschreibung
Filtert nur Elememte eines bestimmten Objekttypen heraus.
Parameter
category
Type
string
Beschreibung
Gibt nur Elemente aus, deren zugeordnete Medienobjekte der angegeben Kategorie entsprechen.

CurrentUser Controller

Der CurrrentUser Controller gibt alle Informationen rund um den eingeloggten Frontend-Benutzer zurück. Frontend Benutzer sind innerhalb von pressmind® berechtigt sich an der API anzumelden. Über ein individuelles Rechtemanagement ist es somit möglich auf ein vorgefertigtes Usermanagement zurück zugreifen.

Aufruf

https://{URI}/rest/Text/api/{Key}/

Parameter

Parameter
Type
Beschreibung
Parameter
Diese Methode hat keine Parameter

Document Controller

Dokumentbasierte Medienobjekte sind Bilder bzw. Dateien welche in pressmind® hinterlegt sind. Der Document Controller bietet die Möglichkeit diese über verschiedene Schalter zu filtern. Der Syntax ist dabei annähernd der gleiche wie der des Text Controllers.

Aufrufbeispiele:

Aufruf eines Medienobjektes:

https://{URI}/rest/Document/api/{Key}/id/{ID}

Aufruf aller Medienobjekte eines bestimmten Objekttypen:

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/

Aufruf aller Medienobjekte mit der Sichtbarkeit "public":

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility/30

Aufruf aller Medienobjekte mit der Sichtbarkeit "public" unter Berücksichtigung des Gültigkeitzeitraums:

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30

Aufruf aller Medienobjekte einer bestimmten Kategorie mit der aktuellen Sichtbarkeitsstufe "public":

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30/category/{CATEGORY_ID}

Aufruf aller Medienobjekte welche Kategorie1 und Kategorie2 entsprechen

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30/category/{CATEGORY_ID1,CATEGORY_ID2}

Volltextsuche:

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/q/{KEYWORD}

Volltextsuche in spezifischem Pool:

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/q/{KEYWORD}/id_pool/{ID_POOL}

Ausgabe aller Medienobjekte welche in einem bestimmten Zeitraum geändert wurden:

https://{URI}/rest/Document/api/{Key}/objectType/{OBJECTTYPE_ID}/modified_date_from/{Y-m-d h:m:i}/modified_date_to/{Y-m-d h:m:i}

Parameter

Parameter
Type
Beschreibung
Parameter
author
Type
string
Beschreibung
Sucht explizit im Feld "Author" (Copyright Modul)
Parameter
author_not_in
Type
string
Parameter
cache
Type
string
Parameter
Parameter
caption
Type
string
Beschreibung
Sucht explizit im Feld "Caption" (Copyright Modul)
Parameter
Parameter
category
Type
string
Beschreibung
Sucht explizit nach category-IDs. Mehrere IDs können durch Komma getrennt werden - in diesem Fall wird eine UND-Suche ausgeführt, d.h. jedes Medienobjekt muss allen genannten Kategorien entsprechen.
Parameter
code
Type
int
Beschreibung
Gibt ein oder mehrere Medienobjekte aus, welche dem geforderten Code entsprechen.
Parameter
copyright
Type
string
Beschreibung
Sucht explizit im Feld "Copyright" (Copyright Modul)
Parameter
copyright_not_in
Type
string
Parameter
created_by
Type
int
Parameter
created_by_not_in
Type
int
Parameter
created_date_from
Type
Y-m-d h:m:i
Parameter
created_date_to
Type
Y-m-d h:m:i
Parameter
fields
Type
int
Parameter
id
Type
int
Beschreibung
Gibt das Medienobjekt mit der definierten ID aus.
Hinweis: Alle anderen Parameter werden ignoriert, sobald explizit nach einer Medienobjekt ID gesucht wird.
Parameter
id_license
Type
int
Beschreibung
Sucht explizit nach einer Lizenz ID (Copyright Modul)
Parameter
id_licensor
Type
int
Beschreibung
Sucht explizit im Feld Lizenzgeber ID (Copyright Modul)
Parameter
id_media_objects
Type
int
Beschreibung
Gibt das Medienobjekt mit der definierten ID aus. Im Gegensatz zum Parameter "ID" kann dieser mit anderen Werten verknüpft werden.
Parameter
id_media_objects_not_in
Type
int
Parameter
id_media_objects_versions
Type
int
Parameter
id_media_objects_versions_not_in
Type
int
Parameter
id_pool
Type
int
Beschreibung
Sucht explizit nach der Pool ID. Mehrere IDs können durch Komma getrennt werden.
Parameter
id_pool_not_in
Type
int
Parameter
id_user
Type
int
Beschreibung
Sucht in den Felder modified_by und created_by nach der Benutzer ID
Parameter
id_user_not_in
Type
int
Parameter
import_code
Type
string
Beschreibung
Sucht explizit im Feld "import_code".
Parameter
license_info
Type
string
Beschreibung
Sucht explizit im Feld "Lizenz Info" (Copyright Modul)
Parameter
license_info_not_in
Type
string
Parameter
license_type
Type
int
Parameter
license_type_not_in
Type
int
Parameter
licensor
Type
int
Parameter
media_object_name
Type
string
Parameter
media_object_name_not_in
Type
string
Parameter
media_object_tags
Type
string
Parameter
media_object_tags_not_in
Type
string
Parameter
modified_by
Type
int
Parameter
modified_by_not_in
Type
string
Parameter
modified_date_from
Type
Y-m-d h:m:i
Parameter
modified_date_to
Type
Y-m-d h:m:i
Parameter
name
Type
string
Beschreibung
Sucht explizit im Feld "Name"
Parameter
Parameter
objectType
Type
int
Beschreibung
Spezifiziert alle Abfragen auf einen Objekttypen.
Hinweis: Pflichtangabe (außer bei Nutzung des Parameters "id")
Parameter
Parameter
q
Type
string
Beschreibung
Volltextsuche. Sucht in allen Medienobjekten nach den geforderten Keywords. Gibt ein odere mehrere Objekte aus.
Parameter
Parameter
state
Type
enum
Beschreibung
Gibt alle Medienobjekte mit dem definierten Status zurück.
Erlaubte Werte: 30, 40, 50, 60, 70, 80, 90, 100, 110, 200

Zuordnung der Werte:

30 = "Draft"
40 = "Pending Review"
50 = "OK"
60 = "Closed"
70 = "Closed (reason: age)"
80 = "Closed (reason: law)"
90 = "Closed (reason: bad quality)"
100 = "Closed (reason: duplicate content)"
110 = "Closed (reason: technical error)"
200 = "Imported"
Parameter
Parameter
tags
Type
string
Beschreibung
Sucht explizit im Feld "Tags"
Parameter
valid_from
Type
Y-m-d
Parameter
valid_to
Type
Y-m-d
Parameter
visibility
Type
enum
Beschreibung
Gibt alle Medienobjekte mit dem definierten Sichtbarkeitsstatus aus.
Erlaubte Werte: 10, 30, 40, 50

Zuordnung der Werte:

10 = "Nobody"
30 = "Public"
40 = "Extranet"
50 = "Intranet"
Parameter
visibility_current
Type
int
Beschreibung
Wie Parameter "visibility", jedoch unter Berücksichtigung des Gültigkeitszeitraums ("valid_from" und "valid_to")
Parameter
Parameter
withData
Type
int

DocumentsGlobal Controller

https://api.pressmind.net/x.x.xxx/rest/DocumentsGlobal/api/meinApiKey

Folgende Funktionen können aufgerufen werden:

Parameter
Beschreibung
Parameter
q
Beschreibung
Stichwortsuche
Parameter
visibility
Beschreibung
Eine kommaseparierte Liste an visibility Status die Medien Objekt haben kann (ist ein ODER Prinzip, nur eins der Werte muss das Medien Objekt haben):
10 => Nobody
30 => Public
40 => Extranet
50 => Intranet
60 => Hidden
Parameter
pool
Beschreibung
Die Pool ID die das Medien Objekt haben muss
Parameter
image_format
Beschreibung
Das Format die das Dokument aufweisen muss:
10 => Hochformat
20 => Hochformat - A4
30 => Querformat
40 => Querformat A4
50 => Panorama
Parameter
code
Beschreibung
Der Medien Objekt Code
Parameter
name
Beschreibung
Der Medien Objekt Name
Parameter
states
Beschreibung
Eine kommaseparierte Liste an state Status die Medien Objekt haben kann (ist ein ODER Prinzip, nur eins der Werte muss das Medien Objekt haben) 30 => Draft 40 => Pending Review 50 => OK 60 => Closed 70 => Closed (reason: age) 80 => Closed (reason: law)
Parameter
tags
Beschreibung
Die Medien Objekt Tags
Parameter
author
Beschreibung
Der Medien Objekt Copyright Author
Parameter
copyright
Beschreibung
Der Medien Objekt Copyright Hinweis
Parameter
license_info
Beschreibung
Die Medien Objekt Lizenzinfo
Parameter
id_media_objects
Beschreibung
Eine Liste mit Medien Objekt IDs
Parameter
filename
Beschreibung
Der Dateiname des Medien Objekt Dokuments
Parameter
created_by
Beschreibung
Der Benutzername des Erstellers des Medien Objektes
Parameter
modified_by
Beschreibung
Der Benutzername des zuletzt Bearbeiteten Benutzers am Medien Objekt
Parameter
startIndex
Beschreibung
Wo soll die Ausgaben beginnen (Paging Staart)
Parameter
numItems
Beschreibung
Die Anzahl an Medien Objekten die zurück kommen sollen (maximal 50 Medien Objekte)
Parameter
cache
Beschreibung
Ist der Cache aktiviert oder nicht, standardmäßig auf 1

ErpGroup Controller

Artikel werden in pressmind zu logischen Verkaufsgruppen zusammengestellt. Diese Verkaufsgruppen bestehen aus Artikeln, Artikelvarianten, Bildern, Preisen und je nach Konfiguration unterschiedlichen Zubehörlisten. Ein Artikel kann zudem innerhalb einer Verkaufsgruppe spezifische Attribute annehmen. Innerhalb einer Verkaufsgruppe kann ein Artikel als Master markiert sein. Einer Produktbeschreibung können mehrere Verkaufsgruppen zugewiesen sein. Der ErpGroup Controller gibt diese Informationen in strukturierter Form aus.

Aufruf

Aufruf aller ERP Gruppen

https://{URI}/rest/ErpGroup/api/{KEY}/

Aufruf einer bestimmten ERP Gruppe

https://{URI}/rest/ErpGroup/api/{KEY}/id/{ID}

Parameter

Parameter
Type
Beschreibung
Parameter
id
Type
int
Beschreibung
Id der Gruppe
Parameter
q
Type
string
Beschreibung
Sucht nach Gruppennamen
Parameter
startIndex
Type
int
Beschreibung
Default = 0
Parameter
numItems
Type
int
Beschreibung
Default = 30

ErpArticle Controller

https://api.pressmind.net/x.x.xxx/rest/Aggregator/api/meinApiKey/

Führt eine ERP Artikel Suche aus. Folgende Parameter sind möglich:

Parameter
Beschreibung
Parameter
id
Beschreibung
Parameter
q
Beschreibung
Suchbegriff der in Artikel Name, Artikel Code, Artikel Nummer, Import Code und ID sucht.
Parameter
withData
Beschreibung
Liefert alle Daten eines ERP Artikels zurück.
Parameter
startIndex
Beschreibung
Startet den Suchlauf an einer bestimmten Stelle
Parameter
numItems
Beschreibung
Die Anzahl der ERP Artikel die zurück geliefert werden sollen
Parameter
cache
Beschreibung
Soll das Resultat gecacht werden oder nicht
Parameter
cacheTTL
Beschreibung
Die Cachezeit, wenn der cache aktiviert ist. Standard 240 Sekunden

ErpAttribute Controller

https://api.pressmind.net/x.x.xxx/rest/ErpAttribute/api/meinApiKey

Startet eine Suche in ERP Attributen. Folgende Parameter sind möglich:

Parameter
Beschreibung
Parameter
q
Beschreibung
Sucht in Attribut Name, Feldtyp und Variablen Name
Parameter
name
Beschreibung
Sucht nur im Feld Attribut Name
Parameter
field_type
Beschreibung
Gibt nur Attribute zurück, die einem bestimmten Feldtyp angehören.
Parameter
variable_name
Beschreibung
Sucht nach einem Attribut das einen bestimmten Variablen Namen bekommt.

Image Controller

Der Image Controller dient zum vereinfachten Zugriff auf dokumentorientierte Medienobjekte. Er wurde speziell dazu entwickelt, Bilder mit allen zur Veröffentlichung erforderlichen Informationen auszugeben. Dazu zählt: Bildunterschrift, Copyrighthinweis, Lizenztyp sowie die Sichtbarkeitsstufe innerhalb von pressmind®. Zudem wird auch die URL des Bildes mitgeliefert.

Aufruf

Aufruf eines eines Bildes, das Bild wird mit einer Größe von 100x100 Pixel ausgegeben

https://{URI}/rest/Image/api/{Key}/id/{ID}/w/100/h/100

Aufruf eines eines Bildes, das Bild wird mit einer Größe von 100x100 Pixel ausgegeben, zusätzlich wird ein Filter angewandt

https://{URI}/rest/Image/api/{Key}/id/{ID}/w/100/h/100/f/toaster

Parameter

Parameter
Type
Beschreibung
Parameter
id
Type
int
Beschreibung
Id des dokumentorientierten Medienobjektes
Parameter
visibility
Type
int
Beschreibung
Sichtbarkeitsstufe

Erlaubte Werte: 10, 30, 40, 50

Zuordnung der Werte:

10 = 'Nobody'
30 = 'Public'
40 = 'Extranet'
50 = 'Intranet'
Parameter
w
Type
int
Beschreibung
Breite des auzugebenen Bildes.
Die maximal verfügbare Bildgröße ist 2000x2000 Pixel
Parameter
h
Type
int
Beschreibung
Höhe des auszugebenen Bildes.
Parameter
f
Type
enum
Beschreibung
Bildfilter: Angewandte Bildmodifikation.

Erlaubte Werte:

toaster
yomads
nashville

Weitere Effekte können auf Wunsch konfiguriert werden. Wenden Sie sich hierzu bitte an unseren Support.

ObjectType Controller

Jedes pressmind® System basiert auf individuell für den Kunden konfigurierten Datenmodellen. Jede Entinität innerhalb des dynamischen Datenmodells wird als "Objekttyp" bezeichnet. Dieser Controller gibt alle Informationen des Medienobjekttypen aus. (Ein Medienobjekttyp kann entweder für ein dokument- oder textbasiertes Medienobjekt definiert werden).

Aufruf

http://{URI}/rest/ObjectType/api/{Key}/

Parameter

Parameter
Type
Beschreibung
Parameter
id
Type
int
Beschreibung

Ping Controller

Der Ping Controller ist zu einfachen Testzwecken gedacht.

Aufruf

https://{URI}/rest/Ping/api/{Key}/ping/helloworld

Parameter

Parameter
Type
Beschreibung
Parameter
ping
Type
string
Beschreibung
Jeder hier übergebene Wert, wird direkt in die Ausgabe umgeleitet.
Parameter
pong
Type
string
Beschreibung
siehe Parameter "ping"

Text Controller

Der Text Controller dient zur Bereitstellung von textbasierten Medienobjekten. Auf dieser Seiten finden Sie die aktuelle Dokumentation des Controllers. Dieser Controller ist häufig der Ausgangspunkt für die auf der pressmind® API basierenden Projekte. Er listet und filtert alle textbasierten Produktbeschreibungen auf und kann als vollständige Suchmaschne genutzt werden.

Aufrufbeispiele:

Aufruf eines Medienobjektes:

https://{URI}/rest/Text/api/{Key}/id/{ID}

Aufruf aller Medienobjekte eines bestimmten Objekttypen:

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/

Aufruf aller Medienobjekte mit der Sichtbarkeit "public":

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility/30

Aufruf aller Medienobjekte mit der Sichtbarkeit "public" unter Berücksichtigung des Gültigkeitzeitraums:

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30

Aufruf aller Medienobjekte einer bestimmten Kategorie mit der aktuellen Sichtbarkeitsstufe "public":

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30/category/{CATEGORY_ID}

Aufruf aller Medienobjekte welche Kategorie1 und Kategorie2 entsprechen

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/visibility_current/30/category/{CATEGORY_ID1,CATEGORY_ID2}

Volltextsuche:

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/q/{KEYWORD}

Volltextsuche in spezifischem Pool:

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/q/{KEYWORD}/id_pool/{ID_POOL}

Ausgabe aller Medienobjekte welche in einem bestimmten Zeitraum geändert wurden:

https://{URI}/rest/Text/api/{Key}/objectType/{OBJECTTYPE_ID}/modified_date_from/{Y-m-d h:m:i}/modified_date_to/{Y-m-d h:m:i}

Parameter

Parameter
Type
Beschreibung
Parameter
author
Type
string
Beschreibung
Sucht explizit im Feld "Author" (Copyright Modul)
Parameter
author_not_in
Type
string
Parameter
cache
Type
string
Parameter
Parameter
caption
Type
string
Beschreibung
Sucht explizit im Feld "Caption" (Copyright Modul)
Parameter
Parameter
category
Type
string
Beschreibung
Sucht explizit nach category-IDs. Mehrere IDs können durch Komma getrennt werden - in diesem Fall wird eine UND-Suche ausgeführt, d.h. jedes Medienobjekt muss allen genannten Kategorien entsprechen.
Parameter
code
Type
int
Beschreibung
Gibt ein oder mehrere Medienobjekte aus, welche dem geforderten Code entsprechen.
Hinweis: Alle anderen Parameter werden ignoriert, sobald explizit nach einem Code gesucht wird. (deprecated, siehe Parameter media_object_code)
Parameter
copyright
Type
string
Beschreibung
Sucht explizit im Feld "Copyright" (Copyright Modul)
Parameter
caption
Type
string
Beschreibung
Sucht explizit im Feld "Caption" (Copyright Modul)
Parameter
category
Type
string
Beschreibung
Sucht explizit nach category-IDs. Mehrere IDs können durch Komma getrennt werden - in diesem Fall wird eine UND-Suche ausgeführt, d.h. jedes Medienobjekt muss allen genannten Kategorien entsprechen.
Parameter
code
Type
int
Beschreibung
Gibt ein oder mehrere Medienobjekte aus, welche dem geforderten Code entsprechen.
Hinweis: Alle anderen Parameter werden ignoriert, sobald explizit nach einem Code gesucht wird. (deprecated, siehe Parameter media_object_code)
Parameter
copyright
Type
string
Beschreibung
Sucht explizit im Feld "Copyright" (Copyright Modul)
Parameter
copyright_not_in
Type
string
Parameter
created_by
Type
int
Parameter
created_by_not_in
Type
int
Parameter
created_date_from
Type
Y-m-d h:m:i
Parameter
created_date_to
Type
Y-m-d h:m:i
Parameter
fields
Type
int
Parameter
id
Type
int
Beschreibung
Gibt das Medienobjekt mit der definierten ID aus.
Hinweis: Alle anderen Parameter werden ignoriert, sobald explizit nach einer Medienobjekt ID gesucht wird.
Parameter
id_license
Type
int
Beschreibung
Sucht explizit nach einer Lizenz ID (Copyright Modul)
Parameter
id_licensor
Type
int
Beschreibung
Sucht explizit im Feld Lizenzgeber ID (Copyright Modul)
Parameter
id_media_objects
Type
int
Beschreibung
Gibt das Medienobjekt mit der definierten ID aus. Im Gegensatz zum Parameter "ID" kann dieser mit anderen Werten verknüpft werden.
Parameter
id_media_objects_not_in
Type
int
Parameter
id_media_objects_versions
Type
int
Parameter
id_media_objects_versions_not_in
Type
int
Parameter
id_pool
Type
int
Beschreibung
Sucht explizit nach der Pool ID. Mehrere IDs können durch Komma getrennt werden.
Parameter
id_pool_not_in
Type
int
Parameter
id_user
Type
int
Beschreibung
Sucht in den Felder modified_by und created_by nach der Benutzer ID
Parameter
id_user_not_in
Type
int
Parameter
import_code
Type
string
Beschreibung
Sucht explizit im Feld "import_code".
Parameter
license_info
Type
string
Beschreibung
Sucht explizit im Feld "Lizenz Info" (Copyright Modul)
Parameter
license_info_not_in
Type
string
Parameter
license_type
Type
int
Parameter
license_type_not_in
Type
int
Parameter
licensor
Type
int
Parameter
licensor_not_in
Type
int
Parameter
media_object_code
Type
string
Parameter
media_object_name
Type
string
Parameter
media_object_name_not_in
Type
string
Parameter
media_object_tags
Type
string
Parameter
media_object_tags_not_in
Type
string
Parameter
modified_by
Type
int
Parameter
modified_by_not_in
Type
int
Parameter
modified_date_from
Type
Y-m-d h:m:i
Parameter
modified_date_to
Type
Y-m-d h:m:i
Parameter
name
Type
string
Beschreibung
Sucht explizit im Feld "Name"
Parameter
numItems
Parameter
objectType
Type
int
Beschreibung
Spezifiziert alle Abfragen auf einen Objekttypen.
Hinweis: Pflichtangabe (außer bei Nutzung des Parameters "id")
Parameter
orderBy
Parameter
q
Type
string
Beschreibung
Volltextsuche. Sucht in allen Medienobjekten nach den geforderten Keywords. Gibt ein odere mehrere Objekte aus.
Parameter
startIndex
Parameter
state
Type
enum
Beschreibung
Gibt alle Medienobjekte mit dem definierten Status zurück.
Erlaubte Werte: 30, 40, 50, 60, 70, 80, 90, 100, 110, 200

Zuordnung der Werte:

30 = "Draft"
40 = "Pending Review"
50 = "OK"
60 = "Closed"
70 = "Closed (reason: age)"
80 = "Closed (reason: law)"
90 = "Closed (reason: bad quality)"
100 = "Closed (reason: duplicate content)"
110 = "Closed (reason: technical error)"
200 = "Imported"
Parameter
states_not_in
Parameter
tags
Type
string
Beschreibung
Sucht explizit im Feld "Tags"
Parameter
valid_from
Type
Y-m-d
Parameter
valid_to
Type
Y-m-d
Parameter
visibility
Type
enum
Beschreibung
Gibt alle Medienobjekte mit dem definierten Sichtbarkeitsstatus aus.
Erlaubte Werte: 10, 30, 40, 50

Zuordnung der Werte:

10 = "Nobody"
30 = "Public"
40 = "Extranet"
50 = "Intranet"
Parameter
visibility_current
Type
int
Beschreibung
Wie Parameter "visibility", jedoch unter Berücksichtigung des Gültigkeitszeitraums ("valid_from" und "valid_to")
Parameter
visibility_not_in
Parameter
withData
Type
int

Touristik Modul

Folgende Parameter sind nur bei aktiviertem Touristikmodul nutzbar:

Parameter
Type
Beschreibung
Parameter
touristicArrival
Type
Y-m-d
Parameter
touristicData
Type
int
Beschreibung
Erlaubte Werte: 1 oder 0. Wenn 1 dann werden die touristischen Daten des Medienobjektes mit ausgegeben.
Parameter
touristicDeparture
Type
Y-m-d
Parameter
touristicDuration
Type
int

PHP Rest Client

Features:

  • direkter Zugriff auf die pressmind® REST API via GET, POST, PUT und DELETE
  • Unterstützung der pressmind® Controller Logik
  • GZIP Unterstützung
  • SSL Unterstützung
  • basiert auf der PHP Extension mod_curl
  • kompatibel mit PHP > 5.3

pressmindRestClientV2.zip (2 KB)

Image Service

Über die Image Service lassen sich Bilder bzw. dokumentorientierte Medienobjekte abrufen und direkt on-the-fly in entsprechende Größen verrechnen. Der Dienst generiert on-the-fly Thumbnails in beliebigen Größen aus dokumentorientierten Medienobjekten. Die Funktion kann z.B. direkt in einen Tag eingebunden werden.

Beispiel


<html>
	<body>
		<img src="http://{URI}/image.php?api={Key}&id={Id}&w={width}&h={height}">
	</body>
</html>

Parameter

Parameter
Type
Beschreibung
Parameter
api
Type
string
Beschreibung
API Key
Parameter
id
Type
int
Beschreibung
Id des dokumentbasierten Medienobjektes
Parameter
w
Type
int
Beschreibung
Breite des auzugebenen Bildes.
Die maximal verfügbare Bildgröße ist 2000x2000 Pixel
Parameter
h
Type
int
Beschreibung
Höhe des auszugebenen Bildes.
Parameter
f
Type
string
Beschreibung
Bildfilter: Angewandte Bildmodifikation.
Erlaubte Werte:
toaster
yomads
nashville

Weitere Effekte können auf Wunsch konfiguriert werden. Wende Sie sich hierzu bitte an unseren Support.

Parameter
d
Type
int
Beschreibung
Sollte ein Bild nicht erzeugt/angezeigt werden kann mit Hilfe dieses Parameters der Fehler analysiert werden.

Return Codes

Code
Beschreibung
Code
200
Beschreibung
Erfolg
Code
404
Beschreibung
Medienobjekt nicht gefunden, oder nicht mehr verfügbar. Dies kann u.a. sein wenn das Bild aus rechtlichen Gründen gesperrt wurde, oder  aber die Medien Objekt ID nicht existiert.
Code
400
Beschreibung
Falsches Format der Parameter oder fehlende Parameter
Code
500
Beschreibung
Serverfehler

Dokumentation Anbindung MyContent

Mit dem pressmind® Modul "MyContent" integrieren Sie Content aus dem eigenen System.

  • Legen Sie dazu ein Script auf Ihrem Server, welches zwei unterschiedliche JSON Objekte ausgibt
  • Sie konfigurieren selbst die abzufragenden Werte wie Produktname, Preis, Beschreibung etc.
  • Innerhalb von pressmind® können Sie fortan direkt auf die Produktdaten zugreifen
  • Sobald Sie ein Produkt aus Ihrem System mit pressmind® verknüpft haben, wird der pressmind® Datensatz mit Ihrem System synchron gehalten

Zögern Sie nicht uns zu kontaktieren. Wir stehen Ihnen gern mit Rat und Tat zur Seite.

Objekt Liste:

Pressmind ruft via POST das definierte Script auf. z.B.:

http://domain.de/cms/pressmind.php

Als POST Parameter werden die Werte numItems und startIndex mit übermittelt. Mit diesen übermittelten Werten können Sie auf Ihrer Seite ein Paging realisieren um ein schnelles Anzeigen von vielen Objekte zu gewährleisten (analog zu MySQL "limit")

POST Parameter
Beschreibung
POST Parameter
numItems
Beschreibung
Gibt an wie viele Objekte ihr Script zurückgeben soll
POST Parameter
startIndex
Beschreibung
Gibt an ab welchem Datensatz die Ausgabe erfolgen soll

Als Antwort wird folgendes JSON Objekt erwartet:


{
    "filter": [{
        "fields": [ // defines the search filter
            {
                "name": "Code", // display name
                "key": "code", // submitted POST name of the field. Do not use numItems or startIndex (reserved for paging)
                "type": "input", // possible types = input | dropdown
                "values": [] // if type=dropdown set values here
            },
            {
                "name": "Name",
                "key": "name",
                "type": "input",
                "values": []
            },
            {
                "name": "Destination",
                "key": "destination",
                "type": "dropdown",
                "values": [ // the dropdown list
                    {
                        "text": "Deutschland", // display name
                        "value": "DE" // submitted value
                    },
                    {
                        "text": "Holland",
                        "value": "nl"
                    }
                ]
            }
        ]
    }],
    "count": 10, // count of search result, see paging
    "items": [{
            "id": 1,
            "link": "http://api.domain.de/detail.php?id=1", // link to your detail objects description -> see below
            "editor_link": "http://cms.domain.de/editor.php?id=1", // [optional] link to your cms editor, displays a button
            "values": [{
                    "key": "code", // same key as above
                    "value": "ABCD"
                },
                {
                    "key": "name",
                    "value": "Produkt 1"
                },
                {
                    "key": "destination",
                    "value": "Deutschland"
                }
            ]
        },
        {
            "id": 2,
            "link": "http://api.domain.de/detail.php?id=2",
            "editor_link": "http://cms.domain.de/editor.php?id=2",
            "values": [{
                    "key": "code",
                    "value": "DCBA"
                },
                {
                    "key": "name",
                    "value": "Produkt 2"
                },
                {
                    "key": "destination",
                    "value": "Holland"
                }
            ]
        }
    ]
}
	

Detaillierte Objektbeschreibung

Nach dem der pressmind® Benutzer einen Datensatz aus der Objekte Liste aufgerufen hat, wird anhand der definierten URL die detallierte Objektbeschreibung aufgerufen und in pressmind® importiert. Das Objekt ist ab diesem Zeitpunkt mit pressmind® vernüpft. pressmind® überprüft in regelmäßigen Abständen ob sich der Datensatz geändert hat und führt ggf. einen Reimport aus

Folgende Ausgabe wird als Objektbeschreibung erwartet:

{
    "id": 12345, // unique id
    "code": "ABCD", // [optional] code or article no
    "name": "Produktname 1",
    "checksum": "acbd18db4cc2f85cedef654fccc4a4d8", // pressmind will reimport the object if this token is changend
    "values": [{
            "id": 1,
            "name": "headline", // your field name
            "value": "Produktname 1
Lorem Ipsum", // value htmlencoded, if type = image, value = array -> see below "type": "text", // plaintext | text | image | table "pressmind_target": "Headline:Default" // the target field in pressmind. Syntax: [FieldVariable]:[SectionName] }, { "id": 2, "name": "subline", "value": "Ipsum Lorem", "type": "text", "pressmind_target": "Subline:Default" }, { "id": 3, "name": "details", "value": "Lorem Ipsum
Lorem Ipsum...", "type": "text", "pressmind_target": "details:Default" }, { "id": 4, "name": "details", "value": " <table> <tr> <td > .... </td> </tr> </table> ", "type": "table", "pressmind_target": "PriceTable:Default" }, { "id": 5, "name": "pictures", "value": [{ "checksum": xxx, // pressmind will reimport this image if this value is changed "url": "http://yourdomain.de/hires_image1.jpg", "title": "", "copyright": "", "caption": "" }, { "checksum": yyy, "url": "http://yourdomain.de/hires_image2.jpg", "title": "", "copyright": "", "caption": "" } ], "type": "image", "pressmind_target": "Bilder:Default" } ] }

Bitte nehmen Sie vor der Implementierung unbedingt Kontakt mit uns auf.
support@pressmind.de