Authentifizierung & Requests
Für die Anmeldung an der API muss zuvor ein API Benutzer angelegt werden (ab API Version 6.0) - bei früheren API Versionen, erfolgt der Login über den Admin Benutzer.
Legen Sie hierzu unter Einstellungen→API einen Benutzer mit Passwort an.
Hier haben Sie weiters die Möglichkeit den API Benutzer aktiv/nicht aktiv zu schalten oder den API Log zu aktivieren (der Log ist zu finden unter System->Logfiles→API Log). Weiters können Sie den Zugriff auf die API für jeden einzelnen API Benutzer auf eine oder mehrere IP Adressen beschränken.
Hinterlegen Sie hierzu im Feld "API IP Beschränkung) eine Liste mit gültigen IP Adressen (getrennt mit ; )
Requests
Endpoint: http://YOUR-SHOP.com/index.php?page=xt_api
Aufbau eines Requests:
JSON (HTTP POST, application/json)
Beispiel Call getManufacturers:
{ "function": "getManufacturers", "paras": { "user": "{{api_user}}", "pass": "{{api_password}}", "start": 0, "size": 50, "extNumberRange": 0 } }
SOAP/XML (SOAP oder HTTP POST, text/xml)
Beispiel Call getManufacturers:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <getManufacturers soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <user xsi:type="xsd:string">{{api_user}}</user> <pass xsi:type="xsd:string">{{api_password}}</pass> <start xsi:type="xsd:int">0</start> <size xsi:type="xsd:int">50</size> <extNumberRange xsi:type="xsd:int">?</extNumberRange> </getManufacturers> </soapenv:Body> </soapenv:Envelope>
Parameter
Parameter | Type | |
---|---|---|
user | String | API Benutzername |
pass | String | API Passwort |
start | int | Start-Wert bei Block-Abfragen Beispiel: start 0 size 50 liefert die ersten 50 Einträge (gleichzusetzen mit SQL LIMIT 0,50) start 50 size 50 liefert Einträge 51-100 (LIMIT 50,100) |
size | int | Blockgröße |
Response
Bei fehlerhaften Zugangsdaten erfolgt ein Response mit HTTP Status 401
{ "result": false, "message": "LOGIN FAILED" }
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.xt-commerce.com/services#xtconnect"> <SOAP-ENV:Body> <ns1:getManufacturersResponse xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/"> <result xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="tns:manufacturerListItem[0]"/> <message xsi:type="xsd:string">LOGIN FAILED</message> </ns1:getManufacturersResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
WSDL
Eine WSDL Datei der xt:Commerce API können Sie unter http://YOUR-SHOP.com/index.php?page=xt_api&wsdl abrufen.
Setzen Sie hierzu in den API Plugin-Einstellungen die Option "JSON anstatt SOAP XML verwenden (Standard: true):" auf false um den XML Modus zu aktivieren.