API-Schnittstelle

API-Schnittstelle

Einführung

Die API-Schnittstelle der Print Lounge ermöglicht einen automatisierten, maschinengeeigneten Zugriff auf Daten aus der Print Lounge. Dies ermöglicht eine Integration in interne Prozesse und Tools. Die API ist ein zusätzliches Modul und kann für jeden Mandanten aktiviert werden. Für die Nutzung sind keine speziellen Pakete oder Optionen erforderlich. Die verfügbaren Daten entsprechen den Daten aus der Print Lounge. Auf dieser Seite werden generelle API-Informationen bereitgestellt. Der Abruf von Print Lounge-Daten geschieht über die URL.

API-Authentifizierung

Die Authentifizierung erfolgt durch eine Basic-Authentication. Hierfür werden API-Benutzer und API-Key übermittelt.

Der API-Benutzer/API-Key kann in der Administration unter Verwaltung → Shops → bearbeiten → API gesetzt werden. Beim Passwort wird die Passwortrichtlinie angewendet.

Der API-Benutzer/API-Key muss bei allen Abfragen übermittelt werden. Geschieht dieses nicht oder werden ungültige API-Daten verwendet, meldet die API den Fehlercode „401 Unauthorized“. Um API-Daten zu erhalten, kontaktieren Sie bitte Ihren Shopbetreiber.

Wird bei der Authentifizierung mehrfach ein falsches Passwort verwendet, wird der Zugriff für 15 Minuten gesperrt. Nach der Sperrzeit ist keine manuelle Freischaltung notwendig, dies passiert automatisch und kann anschließend wieder verwendet werden.

Ab Release 8.5.0 gibt es Limits

Es ist dann so, dass pro Shop nur 300 Anfragen pro 15min getätigt werden dürfen.

 

Artikel

Verfügbare Daten

Über die API kann auf folgende Daten zugegriffen werden. (Diese Methode ist veraltet, bitte anstelle den Endpunkt "/api/article" verwenden)

URL

Daten

Parameter

Rückgabe

URL

Daten

Parameter

Rückgabe

{*}.print-server.net/api/article.php

Artikel

status = 1|0

offset

limit

sortby

sort = ASC|DESC

format = json|serialize|print

Array

(

    [data] => Array

        (

            [39336] => Array

                (

                    [name] => Artikelbezeichung

                    [name_internal] => Artikelbezeichung Intern

                    [created] => 2016-03-01T15:19:41+0100

                    [changed] => 2016-04-13T12:19:27+0200

                )

        )

    [error] =>

)

 

 

 

 

 

Ausgabeformat

Alle Anfragen und Rückgabewerte sind UTF-8 kodiert. Standardmäßig erfolgt die Rückgabe der API-Schnittstelle im Json-Format. Alternativ kann eine serialisierte Rückgabe oder zu Testzwecken auf Ausgabe umgestellt werden. Dafür ist der Parameter „format“ mit dem Wert „json“,  „serialize“ oder „print“ an jede URL anzuhängen.

REST-API

Jedes Kommando für die API – Schnittstelle ist eine HTTP Anfrage.

In der URL wird das Ziel, das gewünschte Datenobjekt angegeben und die HTTP Methode (GET, POST, PUT, DELETE) gibt an, was gemacht werden soll.

  • GET: Liefert einen oder mehrere Datenobjekte.

  • POST: Erstellt ein neues Datenobjekt.

  • PUT: Ändert ein bestehendes Datenobjekt.

  • DELETE: Löscht ein bestehendes Datenobjekt.

Artikel

HTTP Methode

Pfad

Parameter

Request-Body

Beispiel

Info

Rückgabeformat

HTTP Methode

Pfad

Parameter

Request-Body

Beispiel

Info

Rückgabeformat

GET

/api/article

 -

 

http://shop.printlounge.local
/api/article

 

[  
   {  
      "id":"39293",
      "name":"Handelsware",
      "nameIntern":"intern",
      "fullDescription":"<p>full<\/p>\r\n",
      "detailedDescription":"<p>detailed<\/p>\r\n",
      "additionalInformation":"<p>additional<\/p>\r\n",
      "articleType":"25",
      "articleSapNumber":"sap",
      "productionTime":"1",
      "deliveryTime":"2"
   },
   {  
      "id":"39294",
      "name":"PrintOnDemand",
      "nameIntern":"",
      "fullDescription":"",
      "detailedDescription":"",
      "additionalInformation":"",
      "articleType":"26",
      "articleSapNumber":"SAP-Nummer12",
      "productionTime":"0",
      "deliveryTime":"0"
   }
]

Wobei articleType sein kann:

25: Handelsware
80: Handeslware mit Upload
27: Handelsware Plus
26: Print on Demand
139: Mietartikel
100: Artikelpaket
152: Mailing
106: Global

GET

/api/article

number

 

http://shop.printlounge.local
/api/article?number=A112233

Es kann nach der Artikelnummer/SAP-Nummer gefiltert werden.

[  
   {  
      "id":"39293",
      "name":"Handelsware",
      "nameIntern":"intern",
      "fullDescription":"<p>full<\/p>\r\n",
      "detailedDescription":"<p>detailed<\/p>\r\n",
      "additionalInformation":"<p>additional<\/p>\r\n",
      "articleType":"25",
      "articleSapNumber":"A112233",
      "productionTime":"1",
      "deliveryTime":"2"
   },
   {  
      "id":"39294",
      "name":"PrintOnDemand",
      "nameIntern":"",
      "fullDescription":"",
      "detailedDescription":"",
      "additionalInformation":"",
      "articleType":"26",
      "articleSapNumber":"A112233",
      "productionTime":"0",
      "deliveryTime":"0"
   }
]

GET

/api/article/{article-id}

-

 

http://shop.printlounge.local
/api/article/4711

 

{  
   "id":"39293",
   "name":"Handelsware",
   "nameIntern":"intern",
   "fullDescription":"<p>full<\/p>\r\n",
   "detailedDescription":"<p>detailed<\/p>\r\n",
   "additionalInformation":"<p>additional<\/p>\r\n",
   "articleType":"25",
   "articleSapNumber":"sap",
   "productionTime":"1",
   "deliveryTime":"2"
}

 

Artikeloptionen ab v8.23.0

HTTP Methode

Pfad

Parameter

Request-Body

Beispiel

Info

Rückgabeformat

HTTP Methode

Pfad

Parameter

Request-Body

Beispiel

Info

Rückgabeformat

GET

/api/article-option

(optional) articleId

 

https://shop.printlounge.local/api/article-option?articleId=111

 

{

"success": true,

"message": "",

"data": [

{

"id": 11,

"tag": "Farbe",

"name": "Grün",

"articleId": 11,

"externalNumber": "ao_112",

"orderBy": 2,

"backgroundColor": "",

"price": 0,

"stock": 5,

"status": 3

},

{

"id": 12,

"tag": "Farbe",

"name": "Rot",

"articleId": 11,

"externalNumber": "ao_113",

"orderBy": 3,

"backgroundColor": "",

"price": 0,

"stock": 15,

"status": 3

}

]

}

GET 

/api/article-option/{article-option-id}

 

 

https://shop.printlounge.local/api/article-option/11

 

{

"success": true,

"message": "",

"data": {

"id": 14,

"tag": "Farbe",

"name": "Lila",

"articleId": 11,

"externalNumber": "ao_111",

"orderBy": 4,

"backgroundColor": "",

"price": 0,

"stock": 6,

"status": 3

}

}

POST

/api/article-option

 

{

"articleId": 11,

"tag": "Farbe",

"name": "Lila",

"stock": 11,

"price": 0,

"priceIntern": 0,

"orderBy": 4,

"status": 3

}

https://shop.printlounge.local/api/article-option

 

{

"success": true,

"message": "",

"data": {

"id": 16,

"tag": "Farbe",

"name": "Lila",

"articleId": 11,

"externalNumber": null,

"orderBy": 4,

"backgroundColor": "",

"price": 0,

"stock": 11,

"status": 3

}

}

PUT/PATCH

/api/article-option/{article-option-id}

 

{

"articleId": 11,

"tag": "Farbe",

"name": "Lila",

"stock": 11,

"price": 0,

"priceIntern": 0,

"orderBy": 4,

"status": 3

}

https://shop.printlounge.local/api/article-option/11

 

{

"success": true,

"message": "",

"data": {

"id": 16,

"tag": "Farbe",

"name": "Lila",

"articleId": 11,

"externalNumber": null,