REST PageSpeed-Tool

Mit dem PageSpeed-Tool von WEBSALE V8s können Sie die Ladezeit Ihres Onlineshops auf einfache Weise optimieren. Das PageSpeed-Tool gruppiert, minimiert und exportiert die JavaScript- und CSS-Style-Dateien in den Webshop.

Mit diesem Request können Sie das Generieren der Gruppen anstoßen oder den Status abfragen.

Inhaltsverzeichnis

API PageSpeed-Tool

Generierung der Gruppen (pagespeedtool/build)

Das Generieren der Gruppierungen kann direkt angestoßen werden. Dabei muss im Body angegeben werden, ob die JavaScript-Gruppen oder CSS-Gruppen generiert werden sollen.

Der Build-Prozess wird über den Endpunkt angestoßen und läuft daraufhin asynchron. Um den Status abzufragen, muss der Endpunkt /status aufgerufen werden.

Es kann nur ein Build-Prozess auf einmal laufen. Darum kann erst ein neuer Build-Prozess gestartet werden, wenn zuvor ein Statusabfrage im Feld status den Wert “finished" oder "error" besitzt.

Request

POST https://www.websale.de/api/pagespeedtool/build

Content-Type

application/json

Authorization-Token

benötigt

Request-Body

Eigenschaft

Typ

Beschreibung

Eigenschaft

Typ

Beschreibung

type

string

Typangabe, welche Gruppen generiert werden sollen.  (Pflichtfeld)
Mögliche Werte: "js" oder "css".

Beispiel Request-Body

Generierung aller Javascript-Gruppen

{ "type": "js" }

Beispiel cURL

Generierung aller CSS-Gruppen

curl \ -X POST \ -H "Content-Type: application/json" \ -H "X-Authorization: Bearer eyJhbGciOiJIUzI1Ni...jBhOWMyMmRmNzFkOT==" \ -d '{ "type": "css" }' \ "https://www.websale.de/api/pagespeedtool/build"

Response

Bei Erfolg wird HTTP-Code 200 zurückgegeben. Der Content ist leer.

Mögliche Fehler

Status-Code

Bedeutung

Beschreibung

Status-Code

Bedeutung

Beschreibung

400

Bad Request

Ungültiger Content-Type oder Request-Body hat ein falsches Format/Inhalt.

401

Unauthorized

User hat keine Berechtigungen für die angegebene ShopID oder der Token ist nicht mehr gültig.

409

Conflict

Es läuft bereits ein Build-Prozess.

Status abfragen (pagespeedtool/status)

Statusabfrage des aktuellen Build-Prozesses. Der Endpunkt gibt so lange eine gültige Antwort, bis der Build-Prozess abgeschlossen ist und einmalig die finished- oder error-Meldung abgerufen wurde.

Request

Content-Type

application/json

Authorization-Token

benötigt

Request-Body

nicht benötig

Beispiel cURL 

Response

Bei Erfolg wird HTTP-Code 200 und ein JSON-Objekt zurückgegeben.

Feld

Typ

Beschreibung

Feld

Typ

Beschreibung

status

String

Mögliche Werte:

  • running: Build-Prozess ist aktiv

  • error: Während des Build-Prozesses ist ein Fehler aufgetreten

  • finished: Der Build-Prozess wurde abgeschlossen 

progress

Integer

Fortschritt (in %)

packages

Integer

Anzahl Pakete, die im Build-Prozess verarbeitet werden

finished

Integer

Anzahl Pakete, die im Build-Prozess bereits verarbeitet wurden

package

Array

Detailliertere Informationen zu allen Pakten

package[].id

String

ID des Paketes

package[].status

String

Status des Paketes.

Mögliche Werte:

  • "ok"

  • "bundle-error": Es konnten nicht alle Ressourcen geladen werden

  • "minify-error": Syntax-Fehler innerhalb einer Ressource

  • "error": Ergebnis konnte nicht gespeichert werden

package[].changed

Bool

Information, ob das Paket sich inhaltlich seit der letzten Generierung geändert hat

package[].error

Array / Object

Wenn package[].status den Wert bundle-error enthällt:
Liste aller Ressourcen, die nicht gefunden werden konnten

Wenn package[].status den Wert minify-error enthällt:
Objekt mit detaillierte Informationen zum Syntax-Fehler.

package[].error.resource

String

Name der Resource, in der der Syntax-Fehler gefunden wurde

package[].error.line

String

Zeile. in der der Syntax-Fehler identifiziert wurde

package[].error.pos

String

Position. an der der Syntax-Fehler identifiziert wurde

package[].error.msg

String

Beschreibung des Syntax-Fehlers

Mögliche Fehler

Status-Code

Bedeutung

Beschreibung

Status-Code

Bedeutung

Beschreibung

401

Unauthorized

User hat keine Berechtigungen für die angegebene ShopID oder der Token ist nicht mehr gültig.

404

Not Found

Es läuft aktuell kein Build-Prozess.

Beispiel: