...
Scroll ignore | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
...
General description
Die The IDS-Connect -Schnittstelle der Firma ITEK ermöglicht es, Warenkörbe zwischen den Softwaresystemen des Handwerks und den Onlineshop-Systemen bidirektional zu übertragen.
Über die Schnittstelle erfolgt eine automatische Anmeldung des Handwerkers im Onlineshop. Danach kann dieser seine Waren im Shop zusammenstellen und zurück in sein System übermitteln um z. B. ein Angebot zu erstellen. Nachdem der Kunde des Handwerkers das Angebot angenommen hat, kann direkt aus der Handwerkersoftware die Bestellung der ausgewählten Ware im Onlineshop ausgelöst werden. Die Bestelldaten werden dann wieder zum Handwerkersystem zurück übertragen.
Ein Handwerker kann
in seinem System Produkte im Shop ansehen
(Handwerker → Shop)aus dem Shop heraus Angebote in seinem System für seine Kunden erstellen
(Warenkorb: Shop → Handwerker)aus seinem System heraus Bestellungen im Shop ausführen
(Warenkorb: Handwerker → Shop)
...
interface of the company ITEK makes it possible to transfer shopping carts bidirectionally between the software systems of the craftsmen and the online store systems.
the interface automatically logs the craftsman into the online store. The craftsman can then compile his goods in the store and transfer them back to his system, for example, to create an offer. After the craftsman's customer has accepted the offer, the order for the selected goods in the online store can be triggered directly from the craftsman software. The order data is then transferred back to the craftsman's system.
A craftsman can
view products in the store in his system
(Craftsman → Shop)create offers in his system for his customers from the store
(Shopping cart: Shop → Craftsman)execute orders in the store from his system
(shopping cart: craftsman → store)
Flowchart
Inc drawio | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Schnittstellenfunktionen
Folgende Funktionen werden vom Shop implementiert:
Automatische Anmeldung im Shop
Deep-Link zum Produkt
Shop sendet Warenkorb zum Handwerker
Handwerker sendet Warenkorb zum Shop
Automatische Anmeldung im Shop
Das Handwerkersystem fügt im Shop-Aufruf die Shop-Logindaten des Handwerkers hinzu (E-Mail-Adresse oder Kundennummer und das Passwort). Der Handwerker wird dann im Shop automatisch angemeldet.
...
Interface functions
The following functions are implemented by the store:
Automatic login to the store
Deep link to the product
Store sends shopping cart to craftsman
Craftsman sends shopping cart to the store
Automatic login in the store
The craftsman system adds the craftsman's store login data (e-mail address or customer number and password) in the store call. The craftsman is then automatically logged into the store.
The prerequisite is that the craftsman already has his own customer account in the online store and the store is called up via SSL (https://...) aufgerufen wird, ansonsten wird die Anmeldung vom Shop abgelehnt.Beispiel Shop-Aufruf mit E-Mail-Adresse, otherwise the login is rejected by the store.
Example store call with e-mail address
Code Block |
---|
https://www.shopdomain.de/?name_kunde=<E-Mail>&pw_kunde=<Passwort> |
Beispiel Shop-Aufruf mit KundennummerExample store call with customer number
Code Block |
---|
https://www.shopdomain.de/?kndnr=<Kundennummer>&pw_kunde=<Passwort> |
Beispiel Shop-Aufruf mit E-Mail-Adresse und KundennummerExample store call with e-mail address and customer number
Code Block |
---|
https://www.shopdomain.de/?name_kunde=<E-Mail>&kndnr=<Kundennummer>&pw_kunde=<Passwort> |
Artikel-Deep-Link auf ein Produkt
Das Handwerkersystem verlinkt auf ein Produkt im Shop. Die Login-Daten können mit übergeben werden.
...
Article deep link to a product
The craftsman system links to a product in the store. The login data can be transferred as well.
Example store call with action parameter ADL and product number
Code Block |
---|
https://www.shopdomain.de/?name_kunde=<E-Mail>&pw_kunde=<Passwort>&action=ADL&ghnummer=<Produktnummer> |
Shop sendet Warenkorb zum Handwerkersystem
Das Handwerkersystem ruft den Shop (zusätzlich zu den Parametern für die automatischen Anmeldung) mit dem Parameter action und dem Wert WKE (Warenkorb empfangen) und mit dem hookurl-Parameter auf.
...
Store sends shopping cart to the craftsman system
The craftsman system calls the store (in addition to the parameters for automatic login) with the action parameter and the value WKE (shopping cart received) and with the hookurl parameter.
Example store call with action parameter WKE and hook-URL
Code Block |
---|
https://www.shopdomain.de/?name_kunde=<E-Mail>&pw_kunde=<Passwort>&action=WKE&hookurl=<Hook-URL> |
Im Shop wählt der Handwerker ein oder mehrere Produkte aus und legt sie in seinen Warenkorb. Im Checkout-Prozess kann der Handwerker ggf. eine abweichende Lieferadresse angeben und die Zahlungs- und Versandart auswählen.
Auf der Bestellübersichtsseite In the store, the craftsman selects one or more products and adds them to his shopping cart. In the checkout process, the craftsperson can specify a different delivery address if necessary and select the payment and shipping method.
On the order overview page (ws_place_order.htm) wird neben dem Button "Zahlungspflichtig bestellen" ein weiterer Button "Warenkorb zum Handwerkersystem per IDS senden" angeboten. Beim Klick auf diesen Button wird der Warenkorb zum Handwerkersystem über die zuvor in der Shop-Aufruf-URL übergebene HOOK-URL gesendet.Folgende Daten werden per POST vom Shop an die Hook-URL gesendet, another button "Send shopping cart to craftsman system via IDS" is offered next to the "Order subject to payment" button. When you click on this button, the shopping cart is sent to the craftsman system via the HOOK URL previously transferred in the store call-up URL.
The following data is sent via POST from the store to the hook URL:
Code Block |
---|
<?xml versionxml version="1.0" encoding encoding="ISO-8859-1"?> <Warenkorb xmlns<Warenkorb xmlns="http://www.itek.de/Shop-Anbindung/Warenkorb/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.itek.de/Shop-Anbindung/Warenkorb/ http://www.itek.de/Shop-Anbindung/Warenkorb/warenkorb_empfangen.xsd" ... > <WarenkorbInfo> <Date>2009 > <WarenkorbInfo> <Date>2009-10-29</Date> <Date> <!-- Datum Datum --> <Time>17 <Time>17:00:29</Time> <Time> <!-- Uhrzeit Uhrzeit --> <Version>2<Version>2.3</Version> <Version> <!-- Unterstützte IDS-Version --> </WarenkorbInfo> <Order> <OrderInfo> <ModeOfShipment>Lieferung</ModeOfShipment> <!-- Lieferung oder Abholung, abhängig von der gewählten Zustellung im Checkout--> <Cur>EUR</Cur> <!-- Währung --> </OrderInfo> <SupplierInfo> <!-- Adressdaten vom Shopbeteiber --> <Address> <Name1>Firma & Co. KG</Name1> <!-- Firma --> <Street>Musterweg 6</Street> <!-- Strasse und Hausnummer --> <PCode>58706</PCode> <!-- PLZ --> <City>Menden</City> <!-- Ort --> <Country>Deutschland</Country> <!-- Land --> <Phone>(0049) 02373-9296-0</Phone> <!-- Telefon --> <Email>info@shopdomain.de</Email> <!-- E-Mail --> </Address> </SupplierInfo> <CustomerInfo> <!-- Rechnungsadresse --> <IDNo>12345</IDNo> <!-- Kundennummer --> </CustomerInfo> <DeliveryPlaceInfo> <!-- Lieferadresse, falls abweichend von der Rechnungsadresse --> <Address> <Name1>Musterfirma GmbH</Name1> <!-- Firma --> <Name2></Name2> <!-- Firmenzusatz 1 --> <Name3></Name3> <!-- Firmenzusatz 2 --> <Street>Musterstrasse 1</Street> <!-- Strasse mit Hausnummer --> <PCode>12345</PCode> <!-- PLZ --> <City>Musterhausen</City> <!-- Ort --> <Country>Deutschland</Country> <!-- Land --> </Address> </DeliveryPlaceInfo> <OrderItem> <!-- Warenkorbposition --> <EAN>1234567890128</EAN> <!-- EAN, falls vorhanden --> <ArtNo>4711</ArtNo> <!-- Produktnummer --> <Qty>5</Qty> <!-- Bestellmenge als Integer --> <QU>PCE</QU> <!-- Mengeneinheit, ist immer Stück "PCE" --> <Kurztext>...</Kurztext> <!-- Produktname --> <Langtext>...</Langtext> <!-- Produktbeschreibung (max. 1000 Zeichen) --> <OfferPrice>119.00</OfferPrice> <!-- Brutto-Preis, bezogen auf die Bestellmenge --> <NetPrice>100.00</NetPrice> <!-- Netto-Preis, bezogen auf die Bestellmenge --> <PriceBasis>5</PriceBasis> <!-- Preis-Basis, bezogen auf die Bestellmenge --> <VAT>19.00</VAT> <!-- MwSt --> </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> ... </Order> </Warenkorb> |
Handwerkersystem sendet Warenkorb zum Shop
Ein im Handwerkersystem hinterlegter Warenkorb kann per POST an den Onlineshop gesendet und damit eine Bestellung ausgelöst werden.
...
Unterstützte IDS-Version -->
</WarenkorbInfo>
<Order>
<OrderInfo>
<ModeOfShipment>Lieferung</ModeOfShipment> <!-- Lieferung oder Abholung, abhängig von der gewählten Zustellung im Checkout-->
<Cur>EUR</Cur> <!-- Währung -->
</OrderInfo>
<SupplierInfo> <!-- Adressdaten vom Shopbeteiber -->
<Address>
<Name1>Firma & Co. KG</Name1> <!-- Firma -->
<Street>Musterweg 6</Street> <!-- Strasse und Hausnummer -->
<PCode>58706</PCode> <!-- PLZ -->
<City>Menden</City> <!-- Ort -->
<Country>Deutschland</Country> <!-- Land -->
<Phone>(0049) 02373-9296-0</Phone> <!-- Telefon -->
<Email>info@shopdomain.de</Email> <!-- E-Mail -->
</Address>
</SupplierInfo>
<CustomerInfo> <!-- Rechnungsadresse -->
<IDNo>12345</IDNo> <!-- Kundennummer -->
</CustomerInfo>
<DeliveryPlaceInfo> <!-- Lieferadresse, falls abweichend von der Rechnungsadresse -->
<Address>
<Name1>Musterfirma GmbH</Name1> <!-- Firma -->
<Name2></Name2> <!-- Firmenzusatz 1 -->
<Name3></Name3> <!-- Firmenzusatz 2 -->
<Street>Musterstrasse 1</Street> <!-- Strasse mit Hausnummer -->
<PCode>12345</PCode> <!-- PLZ -->
<City>Musterhausen</City> <!-- Ort -->
<Country>Deutschland</Country> <!-- Land -->
</Address>
</DeliveryPlaceInfo>
<OrderItem> <!-- Warenkorbposition -->
<EAN>1234567890128</EAN> <!-- EAN, falls vorhanden -->
<ArtNo>4711</ArtNo> <!-- Produktnummer -->
<Qty>5</Qty> <!-- Bestellmenge als Integer -->
<QU>PCE</QU> <!-- Mengeneinheit, ist immer Stück "PCE" -->
<Kurztext>...</Kurztext> <!-- Produktname -->
<Langtext>...</Langtext> <!-- Produktbeschreibung (max. 1000 Zeichen) -->
<OfferPrice>119.00</OfferPrice> <!-- Brutto-Preis, bezogen auf die Bestellmenge -->
<NetPrice>100.00</NetPrice> <!-- Netto-Preis, bezogen auf die Bestellmenge -->
<PriceBasis>5</PriceBasis> <!-- Preis-Basis, bezogen auf die Bestellmenge -->
<VAT>19.00</VAT> <!-- MwSt -->
</OrderItem>
<OrderItem> <!-- Nächste Warenkorbposition -->
...
</OrderItem>
<OrderItem> <!-- Nächste Warenkorbposition -->
...
</OrderItem>
...
</Order>
</Warenkorb> |
Craftsman system sends shopping cart to the store
A shopping cart stored in the craftsman system can be sent to the online store via POST and thus trigger an order.
Example store call with action parameter WKS, hook URL and the shopping cart data
Code Block |
---|
https://www.shopdomain.de/?name_kunde=<E-Mail>&pw_kunde=<Passwort>&action=WKS&hookurl=<Hook-URL>&warenkorb=<XML-Warenkorbdaten> |
Der Parameter hookurl muss in jedem Fall mit gesendet werden, da nur dann eine Rückübertragung möglich ist.
Folgende XML-Warenkorbdaten werden vom Shop verarbeitetThe hookurl parameter must be sent in any case, because only then a retransmission is possible.
The following XML shopping cart data is processed by the store:
Code Block |
---|
<?xml versionxml version="1.0" encoding encoding="UTF-8"?> <Warenkorb <Warenkorb xmlnsxmlns="http://www.itek.de/Shop-Anbindung/Warenkorb/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.itek.de/Shop-Anbindung/Warenkorb/ http://www.itek.de/Shop-Anbindung/Warenkorb/warenkorb_senden.xsd" ... > <Order> <OrderItem> <!-- Warenkorbposition --> <ArtNo>471211</ArtNo> <!-- Produktnummer --> <Qty>1</Qty> <!-- Bestellmenge, als Integer --> </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> ... < > <Order> <OrderItem> <!-- Warenkorbposition --> <ArtNo>471211</ArtNo> <!-- Produktnummer --> <Qty>1</Qty> <!-- Bestellmenge, als Integer --> </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> <OrderItem> <!-- Nächste Warenkorbposition --> ... </OrderItem> ... </Order> </Warenkorb> |