IWS/Beispiele/Best Practices für Fremdsystem Integrationen
Aus ITscope GmbH - Wissensbasis
1 Einleitung
Siehe auch Übersichtsseite für Fremdsystem Integrationen
Alle Webservice-Referenzen hier beziehen sich auf die Dokumentation unter API SOAP Methoden des IWS2 und API REST Methoden des IWS3
Mit dem ITscope Web Service können Sie Produkt-Stammdaten und aktuelle Lieferantenkonditionen live in die Warenwirtschaft integrieren. Beispielsweise können Sie wie folgt vorgehen:
1. Abgleichen des existierenden Artikelstamms mit dem ITscope-Artikelstamm. Alternativ ein einmaliger Bulk-Import der ITscope-Daten, sofern ein neuer Artikelstamm aufgebaut werden soll. Dies funktioniert auch ergänzend zu bereits existierenden Artikeln.
2. Nutzung des ITscope-Katalogs als externer Artikelkatalog, der mit Schlüsselwörtern und vielen anderen Parametern durchsucht werden kann. Die gefundenen Artikel können dann übernommen werden. Alternativ kann im MarketViewer eine ITscope-ID in die Warenwirtschaft eingegeben werden und der Artikel darüber angelegt werden.
3. Aktualisieren bestehender Artikel um zusätzliche Produktdaten und Lieferanten, Preise und Verfügbarkeiten.
2 Vorbereitung: Benötigte Stammdaten
Hersteller, Lieferanten und Produktgruppen können über je eigene Webservice-Requests abgerufen werden:
- Hersteller: getManufacturers
- Lieferanten: getDistributors
- Produktgruppen: getCategories
3 Abgleichen oder Neuaufbau des Artikelstamms
Vorgehensweise bei existierendem Artikelstamm mit eigenen Beständen:
- Sie können uns Ihren Artikelstamm mit möglichst vielen Identifikatoren schicken (Herstellernummern, EAN etc.). Wir ordnen diesen unserem Katalog zu und schicken Ihnen eine Matchingliste zurück, so daß Sie die ITscope-Artikelnummer zusätzlich eintragen können. Eine Möglichkeit ist auch, daß alle folgenden Exporte Ihre bisherige Nummer enthalten, um die Artikel beim Import zu ergänzen ("Anreicherung").
- Alternativ können Sie über die productLookup-SOAP oder productLookUp-REST Methode mit bereits existierenden Nummern Abfragen schicken und den bestehenden Artikel mit dem Resultat ergänzen (ITscope-Nummer, zusätzliche Daten)
Wichtig ist der Parameter.
Er bestimmt das Rückgabeformat. Sie können im MarketViewer eigene XML-Profile definieren und die zurückgegebenen Knoten selbst auswählen.
Bauen Sie dabei auf der Vorlage "XML Developer-Profil" auf und geben Sie hier statt XMLFIND_ONLY4DEMO Ihre eigene Profil-ID an, z.B. 78242a21-0df3-11dd-8c20-778e35b016b4
Das DEMO Profil XMLFIND_ONLY4DEMO enthält nur die rudimentären Artikeldaten und ist zum Abgleichen von Artikelnummern und IDs gut zu gebrauchen.
Beispiel Requests und Responses finden Sie unter
3.1 Neuaufbau des Artikelstamms
Hier können Sie CSV- oder XML-Formate definieren, um einen initialen Import für Ihr System zu erzeugen (als Ausgangsbasis bietet sich die Vorlage "CSV-Artikel-Lieferantenstamm vollständig für Warenwirtschaften" an).
3.2 Features
- Zubehörartikel gleich mit anlegen (Auswahl möglich)
- Artikeltexte/Beschreibungen
- Lieferanten
- Preise
- Lagerbestände
- Wiederbeschaffungstermine
- Flags (Sonderaktion, Neuer Artikel, Auslaufartikel, Top-Artikel)
- Artikel-Warengruppenzuordnungen (CommerceDB, eclass, Distributor-Kategorien)
- Eigene Kreditorennummer
Beispiel-Vorgehensweise: Der Kunde möchte im Warenwirtschaftssystem einen neuen Artikel mit bekannter Hersteller-Nummer, EAN oder ITscope-GUID anlegen (den er z.B. im MarketViewer vorher gefunden hat).
Abruf diesmal mit profileId=XMLPROD_ONLY4DEMO.
Beispiel: ITscope-GUID 1277202000
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:iws="http://www.itscope.de/IWS/2006-04-20"> <soapenv:Header/> <soapenv:Body> <iws:catalogueRequest> <iws:method>productLookup</iws:method> <iws:requestHeader> <iws:customerAuthentication> <iws:iwsKey><IhrWebserviceKey></iws:iwsKey> </iws:customerAuthentication> </iws:requestHeader> <iws:qual>2 3</iws:qual> <iws:lookupRequest> <iws:itsPid>1277202000</iws:itsPid> </iws:lookupRequest> <iws:profileId>XMLPROD_ONLY4DEMO</iws:profileId> <iws:realtime>false</iws:realtime> </iws:catalogueRequest> </soapenv:Body> </soapenv:Envelope>
Folgende Daten können übernommen werden:
4 Datenfelder einer XML Antwort
4.1 Stammdaten
Beschreibung siehe Datenexportfelder
<its:product entryDate="2009-10-19T20:09:06+02:00"> <its:uid>PRO1277202000</its:uid> <its:manufacturer> <its:uid>MAN23</its:uid> <its:longName>Acer</its:longName> <its:shortName>Acer</its:shortName> </its:manufacturer> <its:productType> <its:uid>SET195</its:uid> <its:name>Notebooks</its:name> </its:productType> <its:ean>4718235264147</its:ean> <its:manufacturerId>LU.S9106.213</its:manufacturerId> <its:shortInfo> RAM 2 GB Festplatte 250 GB, GMA 950, Mobilmodem ( UMTS, HSPA ), WLAN : 802.11b/g, Bluetooth 2.0 EDR, Win XP Pro, 25.7cm/10.1" Breitbildschirm TFT 1024 x 600 ( WSVGA ), Kamera </its:shortInfo> <its:productName> Aspire ONE 531HO - 10.1" Notebook - Atom N270 / 1.6 GHz, 25.7cm-Display </its:productName> <its:description> Acer NB Aspire One Pro 531h-06k 3G Atom270/10NG/2GB/250/XPP, Prozessor: Intel® Atom™ N270 (512KB/1.6GHz/FSB533), matt Display: 25,65 cm(10,1") WSVGA CB LED, 1024x600 Farbe: Schwarz Grafikkarte: shared RAM: 2048 MB DDR2 (2.048 MB); 1 soDIMM Sockel Festplatte: 250 GB S-ATA Optisches Laufwerk: - Card-Reader: Multi-in-one MMC, RS-MMC, SD, MS, MS Pro Kommunikation: WLAN 802.11b/g, 10/100 LAN, Bluetooth 2.0 EDR+, UMTS 3G Schnittstellen: 3x USB 2.0/VGA Akku (ca. Laufzeit): 6 Zellen LiIon (bis 7,5 Std abh. v. Anw) Maße: 259 x 26,1/33,1 x 186,8/206 mm Gewicht: ab 1,27kg Betriebssystem: Win XP Prof (OEM) </its:description> <its:recRetailPrice>548.59</its:recRetailPrice> <its:weight>2.66</its:weight> <its:qualification>3</its:qualification> ... </its:product>
4.2 Bilder und Datenblattlinks
Beschreibung siehe Datenexportfelder. Wichtig sind hier der Typ ("Datenblatt" oder "Bild") und der Content-Provider (provider/displayName). Der Link gibt die URL des Bilds oder des Datenblatts an. Einige Links wie z.B. die Datenblätter von DCI, ITscope und Icecat sind auch direkt unterhalb des Produktknotens vorhanden. Es empfiehlt sich, den ITscope-Link zu verwenden, da er auch auf die DCI-Datenblätter weiterleitet, aber auch ein Datenblatt zurückgibt, falls keines von DCI vorhanden ist.
<its:product entryDate="2009-05-09T20:42:31+02:00"> ... <its:productDatasheet>true</its:productDatasheet> <its:productImage>true</its:productImage> <its:dciDatasheetLink>http://www.webdatenblatt.de/cds/de/?pid=<IhrDCIKey>_I1511923</its:dciDatasheetLink> <its:itsDatasheetLink>http://www.web-datenblatt.de/rest/getDataSheet?iwsKey=<IhrWebserviceKey>&productId=570494000&customSheet=true&pdf=false&returnAsFile=false</its:itsDatasheetLink> <its:userDefined1>http://prf.icecat.biz/index.cgi?product_id=675992;mi=start;smi=product;shopname=itscope;lang=de</its:userDefined1> <its:dciImageId>DCI72490</its:dciImageId> <its:cnetImageId>I531643</its:cnetImageId> <its:medium> <its:uid>MED648345000_1575381_DB</its:uid> <its:type>Datenblatt</its:type> <its:fileType>html</its:fileType> <its:mainDisplay>true</its:mainDisplay> <its:link>http://www.webdatenblatt.de/cds/de/?pid=<IhrDCIKey>_I1575381</its:link> <its:size>medium</its:size> <its:provider> <its:modifyDate>2008-04-23T15:26:07.602+02:00</its:modifyDate> <its:uid>PRL-2</its:uid> <its:outOfDate>false</its:outOfDate> <its:displayName>DCI Content</its:displayName> </its:provider> </its:medium> ... </its:product>
4.3 Marktinformationen, aggregiert
Beschreibung siehe Datenexportfelder. Preise und Verfügbarkeiten können aggregiert ausgegeben werden. Welche Daten dabei berücksichtigt werden, kann im selbst erstellten Profil eingestellt werden. Mehr zum Thema Preis/Status-Bestimmung.
Sie sehen hier auch eine Preiskalkulation enthalten. Sie kann über den MarketViewer eingestellt werden und im Profil angegeben werden.
<its:product entryDate="2009-05-09T20:42:31+02:00"> ... <its:sortOrder>339521.0</its:sortOrder> <its:shipping/> <its:endOfLife>false</its:endOfLife> <its:priceCalc1> <its:supplierId>PRL10000110</its:supplierId> <its:status>1</its:status> <its:stock>37</its:stock> <its:hek>415.0</its:hek> <its:calcPrice>494.0</its:calcPrice> </its:priceCalc1> <its:priceMin>414.94</its:priceMin> <its:sourcesNumber>15</its:sourcesNumber> <its:priceMax>449.0</its:priceMax> <its:priceAvg>423.3209090909091</its:priceAvg> <its:priceMinSupplier>VV Computer Vertriebs GmbH</its:priceMinSupplier> <its:status>1</its:status> <its:stock>345</its:stock> ... </its:product>
4.4 Marktinformationen, einzelne Bezugsquellen
Beschreibung siehe Datenexportfelder. Auch jeder einzelne Lieferant wird mit einem vollständigen Datensatz exportiert.Hier am Beispiel Actebis.
Wichtige Daten hier sind Zugriff auf den Preis (price/hek), das Preisdatum (price/@entryDate), der Lagerbestand (inventory) und die Statusangabe (statusText) sowie der einheitlich umgewandelte Statuscode (status).
Hier werden übrigens schon individuelle Preise berücksichtigt. Dieser Preis beispielsweise stammt aus der Actebis-Preisliste, die für den im MV hinterlegten Account d968f7b3-0d49-11dd-bf97-6f8a8ee4a15f eingelesen wurde (price/supplierAccount). Sind mehrere Accounts zu einem Lieferanten hinterlegt, würden hier mehrere Preise exportiert werden, je mit der Referenz auf den Account (diese Vorgehensweise wird sich im IWS3 ändern).
Individuelle Preise aus eigenen Preislisten oder Realtime Preise werden über das Feld <its:individual> gekennzeichnet. Der Wert true bedeutet das es sich hier um einen individuellen Preis handelt. Ist <its:accountFlag> ebenfalls gesetzt und hat den Wert 1 dann ist der indviduelle Preis ein Realtime Preis, ansonsten der Preis aus der einlesenen Preisliste. Ist <its:individual> auf false sind keine indivduellen Preise vorhanden, der Preis entstammt dann aus der allgemeinen Preisliste des Distributors.
<its:product entryDate="2009-05-09T20:42:31+02:00"> ... <its:source> ... </its:source> <its:source> <its:uid>SRC1210645</its:uid> <its:inventory>101</its:inventory> <its:pricelist> <its:modifyDate>2008-04-23T04:22:46+02:00</its:modifyDate> <its:uid>PRL10000142</its:uid> <its:outOfDate>false</its:outOfDate> <its:displayName>Actebis Peacock</its:displayName> </its:pricelist> <its:price entryDate="2008-04-22T02:27:00+02:00"> <its:uid>PRI7681851</its:uid> <its:accountFlag>1</its:accountFlagl> <its:individual>true</its:individual> <its:minScale>1</its:minScale> <its:priceChange>1</its:priceChange> <its:maxScale>0</its:maxScale> <its:purchasePrice>40.52</its:purchasePrice> <its:priceOnApplication>false</its:priceOnApplication> <its:supplierAccount>SUPd968f7b3-0d49-11dd-bf97-6f8a8ee4a15f</its:supplierAccount> <its:currency>1</its:currency> </its:price> <its:productType> <its:uid>SET114</its:uid> <its:name>Festplatten</its:name> </its:productType> <its:mappingQuality>127</its:mappingQuality> <its:statusText>101 auf Lager</its:statusText> <its:condition>1</its:condition> <its:availStatus>1</its:availStatus> <its:supplierManufacturerName>WESTERN DIGITAL</its:supplierManufacturerName> <its:supplierProductName>WD Caviar 320GB HDD 7200rpm 3.0Gb/s SATA serial ATA 16MB cache 3,5Zoll intern RoHS compliant PMR</its:supplierProductName> <its:infoText/> <its:supplierItemId>1327044</its:supplierItemId> <its:specialOffer>false</its:specialOffer> <its:newProduct>false</its:newProduct> <its:eolProduct>false</its:eolProduct> <its:topsellerRank>0</its:topsellerRank> <its:warrantDuration>36 MONATE BRING-IN GARANTIE-</its:warrantDuration> <its:supplierManufacturerId>WD3200AAKS</its:supplierManufacturerId> <its:supplierEan/> <its:manufacturer> <its:uid>MAN1278</its:uid> <its:longName>Western Digital</its:longName> <its:shortName>WD</its:shortName> </its:manufacturer> <its:recRetailPrice>0.0</its:recRetailPrice> </its:source> <its:source> ... </its:source> ... </its:product>
4.4.1 Preisstaffeln
Beschreibung siehe Datenexportfelder. Beispiele eine Bezugsquelle mit Preisstaffeln (1 bis 9, 10 bis 19, 20 bis 0=Staffel-Ende). Die Felder minScale und maxScale geben die Untergrenze und Obergrenze der Staffel an. Ein maxScale von 0 bedeutet das Ende der Staffelung.
<its:product entryDate="2009-05-09T20:42:31+02:00"> ... <its:source> ... </its:source> <its:source> <its:uid>SRC13783390</its:uid> <its:inventory>17</its:inventory> <its:pricelist> <its:modifyDate>2010-04-13T17:23:04+02:00</its:modifyDate> <its:uid>PRL10000241</its:uid> <its:outOfDate>false</its:outOfDate> <its:displayName>Telexroll</its:displayName> </its:pricelist> <its:price entryDate="2010-04-13T17:23:04+02:00"> <its:uid>PRI1457341</its:uid> <its:individual>false</its:individual> <its:minScale>20</its:minScale> <its:priceChange>0</its:priceChange> <its:maxScale>0</its:maxScale> <its:purchasePrice>20.37</its:purchasePrice> <its:priceOnApplication>false</its:priceOnApplication> <its:currency>1</its:currency> </its:price> <its:price entryDate="2010-04-13T17:23:04+02:00"> <its:uid>PRI1463221</its:uid> <its:individual>false</its:individual> <its:minScale>10</its:minScale> <its:priceChange>0</its:priceChange> <its:maxScale>19</its:maxScale> <its:purchasePrice>20.47</its:purchasePrice> <its:priceOnApplication>false</its:priceOnApplication> <its:currency>1</its:currency> </its:price> <its:price entryDate="2010-04-13T17:23:04+02:00"> <its:uid>PRI1489201</its:uid> <its:individual>false</its:individual> <its:minScale>1</its:minScale> <its:priceChange>0</its:priceChange> <its:maxScale>9</its:maxScale> <its:purchasePrice>20.57</its:purchasePrice> <its:priceOnApplication>false</its:priceOnApplication> <its:currency>1</its:currency> </its:price> </its:source> <its:source> ... </its:source> ... </its:product>
4.5 Kategoriezuordnungen
Beschreibung siehe Datenexportfelder. Die exportierten Zuordnungen können im Datenexportprofil eingestellt werden: Ändern Sie dazu den Parameter Klassifizierung.
<its:product entryDate="2009-05-09T20:42:31+02:00"> <its:category1>PC Systeme</its:category1> <its:category2>Notebooks</its:category2> <its:category3>nach Bildschirmdiagonale</its:category3> <its:category4>< 12 Zoll</its:category4> <its:catId>446751</its:catId> <its:categoryHierarchy> PC Systeme - Notebooks - nach Bildschirmdiagonale - < 12 Zoll </its:categoryHierarchy> <its:productCategory> <its:uid>CAT10478</its:uid> <its:name>PC Systeme</its:name> <its:class>CommerceDB</its:class> <its:hierarchy>PC Systeme</its:hierarchy> </its:productCategory> <its:productCategory> <its:uid>CAT10830</its:uid> <its:name>Notebooks</its:name> <its:class>CommerceDB</its:class> <its:hierarchy>PC Systeme § Notebooks</its:hierarchy> </its:productCategory> <its:productCategory> <its:uid>CAT446681</its:uid> <its:name>nach Bildschirmdiagonale</its:name> <its:class>CommerceDB</its:class> <its:hierarchy>PC Systeme § Notebooks § nach Bildschirmdiagonale</its:hierarchy> </its:productCategory> <its:productCategory> <its:uid>CAT446751</its:uid> <its:name>< 12 Zoll</its:name> <its:class>CommerceDB</its:class> <its:hierarchy>PC Systeme § Notebooks § nach Bildschirmdiagonale § < 12 Zoll</its:hierarchy> </its:productCategory> ... </its:product>
4.6 Technische Merkmale
Beschreibung siehe Datenexportfelder. Technische Merkmale bei Produkten. Siehe auch getProductTypes für Einheiten, Merkmale und Merkmalskonzepte.
<its:product entryDate="2009-05-09T20:42:31+02:00"> ... <its:techprop> <its:uid>ATT61982871</its:uid> <its:attrTypeId>ECO195101060</its:attrTypeId> <its:displayValue>Desktop-CPU</its:displayValue> <its:value>CPU_BA_CPU__</its:value> <its:attrConcept>CPU-Typ</its:attrConcept> <its:unit>TEXT</its:unit> <its:rigidity>39</its:rigidity> <its:attrName>CPU-Typ</its:attrName> <its3:sortOrder>-241</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT61982881</its:uid> <its:attrTypeId>ECO195295000</its:attrTypeId> <its:displayValue>Atom</its:displayValue> <its:value>CPU_BA_ATOM__</its:value> <its:attrConcept>Prozessor</its:attrConcept> <its:unit>TEXT</its:unit> <its:rigidity>90</its:rigidity> <its:attrName>CPU</its:attrName> <its3:sortOrder>-246</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT61982891</its:uid> <its:attrTypeId>ECO9</its:attrTypeId> <its:displayValue>2,66 kg</its:displayValue> <its:value>2660000</its:value> <its:attrConcept>GE Bruttogewicht</its:attrConcept> <its:unit>MGR</its:unit> <its:rigidity>10</its:rigidity> <its:attrName>Bruttogewicht</its:attrName> <its3:sortOrder>200</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT61982901</its:uid> <its:attrTypeId>ECO195010600</its:attrTypeId> <its:displayValue>10,1 "</its:displayValue> <its:value>10100</its:value> <its:attrConcept>(Bild-)Diagonale Zoll</its:attrConcept> <its:unit>MZOLL</its:unit> <its:rigidity>70</its:rigidity> <its:attrName>Bilddiagonale (Zoll)</its:attrName> <its3:sortOrder>-113</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT61982911</its:uid> <its:attrTypeId>ECO195010200</its:attrTypeId> <its:displayValue>250 GB</its:displayValue> <its:value>268435456000</its:value> <its:attrConcept>Speicherkapazität</its:attrConcept> <its:unit>BYTE</its:unit> <its:rigidity>80</its:rigidity> <its:attrName>Festplatte</its:attrName> <its3:sortOrder>-226</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT61982951</its:uid> <its:attrTypeId>ECO195010201</its:attrTypeId> <its:displayValue>2048 MB</its:displayValue> <its:value>2147483648</its:value> <its:attrConcept>Speicherkapazität</its:attrConcept> <its:unit>BYTE</its:unit> <its:rigidity>50</its:rigidity> <its:attrName>Hauptspeicher</its:attrName> <its3:sortOrder>-211</its3:sortOrder> </its:techprop> <its:techprop> <its:uid>ATT62196411</its:uid> <its:attrTypeId>ECO195111900</its:attrTypeId> <its:displayValue>Windows XP Professional</its:displayValue> <its:value>SW_BSYS_WIN_XP_PRO__</its:value> <its:attrConcept>Betriebssysteme</its:attrConcept> <its:unit>TEXT</its:unit> <its:rigidity>5</its:rigidity> <its:attrName>Betriebssystem</its:attrName> <its3:sortOrder>29</its3:sortOrder> </its:techprop> ... </its:product>
4.7 Zubehörartikel
Beschreibung siehe Datenexportfelder. Das DEMO Profil XMLPROD_ONLY4DEMO liefert Zubehörreferenzen. Diese werden bei dem Hauptprodukt als XML Element crossref aufgelistet und können über die ProduktId in dem XML Element refId in der gleichen Response gefunden werden. Zubehörprodukte werden auf der gleichen Ebene wie das Hauptprodukt als product mitgesendet.
<its:product entryDate="2009-10-19T20:09:06+02:00"> <its:uid>PRO1277202000</its:uid> ... <its:crossref> <its:refclass>10</its:refclass> <its:quality>100</its:quality> <its:parentId>1277202000</its:parentId> <its:refId>1150057000</its:refId> </its:crossref> <its:crossref> <its:refclass>10</its:refclass> <its:quality>100</its:quality> <its:parentId>1277202000</its:parentId> <its:refId>1443353000</its:refId> </its:crossref> ... </its:product> <its:product entryDate="2009-05-09T20:42:31+02:00"> <its:uid>PRO1150057000</its:uid> <its:manufacturer> <its:uid>MAN23</its:uid> <its:longName>Acer</its:longName> <its:shortName>Acer</its:shortName> </its:manufacturer> <its:productType> <its:uid>SET251</its:uid> <its:name>Taschen / Tragebehältnisse</its:name> </its:productType> <its:ean>4718235985967</its:ean> <its:manufacturerId>P9.0514C.A33</its:manufacturerId> <its:shortInfo>Schwarz</its:shortInfo> <its:productName>Cover Sleeve - Notebook-Tasche - 10.1"</its:productName> <its:recRetailPrice>24.89</its:recRetailPrice> <its:source> ... </its:source> <its:source> ... </its:source> ... </its:product> <its:product entryDate="2010-03-02T20:38:33+01:00"> <its:uid>PRO1443353000</its:uid> <its:manufacturer> <its:uid>MAN23</its:uid> <its:longName>Acer</its:longName> <its:shortName>Acer</its:shortName> </its:manufacturer> <its:productType> <its:uid>SET114</its:uid> <its:name>Festplatten</its:name> </its:productType> <its:ean>4712842717768</its:ean> <its:manufacturerId>LC.HDD00.073</its:manufacturerId> <its:productName>Festplatte - 500 GB - extern - USB</its:productName> <its:recRetailPrice>148.99</its:recRetailPrice> <its:source> ... </its:source> <its:source> ... </its:source> ... </its:product>
5 Artikel aktualisieren, End-of-Life-Artikel deaktivieren
Dafür können die DEMO Profile XMLSUPP_ONLY4DEMO und Datenexportfelder wie its:endOfLife verwendet werden.
6 Suche im ITscope-Katalog und Übernahme der Artikel
ITscope wird hier als externer durchsuchbarer Artikel-Pool genutzt, mit dem Unterschied, daß ein Suchergebnis nicht im MarketViewer selbst, sondern als Liste in der Warenwirtschaft angezeigt wird. Der Nutzer kann dann auswählen, welche Artikel er übernehmen möchte.
Hinweis: Nach der ITscope-Artikelnummer können Sie mit dem Präfix "puid" suchen, z.B. "puid:14129000". Siehe auch Syntax für Suche.
Beispiel: Siehe productSearch SOAP für IWS2
7 Produktlisten im MarketViewer anlegen
productListAction verwaltet die im MarketViewer sichtbaren Produktlisten. Die Methode kann verwendet werden, um automatisiert Produktlisten zu erzeugen, zu löschen, Produkte hinzuzufügen oder wieder zu entfernen.
Beispielanwendungen:
- Angebote und Bestell-Listen aus der Warenwirtschaft übernehmen
- dynamische Produktlisten aus Produktexporten erstellen
- für SOAP siehe productListAction IWS2
- für REST siehe productListAction IWS3
8 Einzelne Implementierungs-Fragen
8.1 Quick-and-Dirty-Implementierung über Weblinks mit HTML-Anzeige der Daten im Browser
Diese Vorgehensweise fügt die Daten nicht in die Wawi ein, sondern öffnet lediglich eine Informationsanzeige über Preise und Verfügbarkeiten sowie technische Daten als Weblink. Beschreibung dieser Vorgehensweise
8.2 Frontend-Entwicklung für Warenwirtschaftssysteme
Jeder Nutzer muß folgende Einstellungen in der Warenwirtschaft treffen können:
- Firmenspezifischer IWS-Key (darf nicht hartkodiert im SOAP/REST-Request sein). Der IWS-Key wird von ITscope ausgegeben und ist an einen MarketViewer-Integration-Vertrag gekoppelt.
- Links zum MarketViewer-Server bzw. SOAP-Endpoint oder REST-Request-Link. Alternativ reichen auch selbst einstellbare Profil IDs für jeden Requesttyp (voreingestellt z.B. mit XMLPROD_ONLY4DEMO für Artikelanlagen und XMLSUPP_ONLY4DEMO für Artikelupdates).
8.3 Abfragen mehrerer Artikel in einem Request (Batch-Requests)
ITscope-GUIDs und andere Nummern können mit Leerzeichen getrennt werden (SOAP) oder Komma getrennt werden (REST) und darüber abgefragt werden. Bitte beachten Sie, daß die Rückgabe von sources-Knoten (Artikel-Lieferanten) auf 10.000 pro Abfrage beschränkt ist. Die maximale Anzahl von products-Knoten beträgt derzeit 30.000.
Wichtig: Bitte verwenden Sie für Batchabfragen von Bezugsquellen für eine DEMO Anwendung das Profil XMLSUPP_ONLY4DEMO das ein kompaktes Ergebnis liefert (Preis, Status, Verfügbarkeit, Artikelnummern, Lieferanten).
Beispiel einer Abfrage mit mehreren ITscope-GUIDs in SOAP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:iws="http://www.itscope.de/IWS/2006-04-20"> <soapenv:Header/> <soapenv:Body> <iws:catalogueRequest> <iws:method>productLookup</iws:method> <iws:requestHeader> <iws:customerAuthentication> <iws:iwsKey><IhrWebserviceKey></iws:iwsKey> </iws:customerAuthentication> </iws:requestHeader> <iws:qual>2 3</iws:qual> <iws:lookupRequest> <iws:itsPid>37472000 535064000 407214000 407214001 407214002</iws:itsPid> </iws:lookupRequest> <iws:profileId>XMLSUPP_ONLY4DEMO</iws:profileId> <iws:realtime>false</iws:realtime> </iws:catalogueRequest> </soapenv:Body> </soapenv:Envelope>
Beispiel einer Abfrage mit mehreren ITscope-GUIDs in REST:
/** * mehrere Produkte * */ http://iws.itscope.de/rest/productLookup?itsPid=760287000,646976000,171054000,171052000&iwsKey=<IhrWebserviceKey>
weitere Beispiele
8.4 Ersetzen des SOAP-Webservice durch HTTP-GET Requests mit den Parameter URL-kodiert
Weitere Dokumentation zur Suche und weitere Parameter: