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:

JSON Request 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:

XML Request 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

ParameterType
userStringAPI Benutzername
passStringAPI Passwort
startintStart-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)
sizeintBlockgröße

Response

Bei fehlerhaften Zugangsdaten erfolgt ein Response mit HTTP Status 401

JSON 401 Response
{
    "result": false,
    "message": "LOGIN FAILED"
}
XML 401 Response
<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.