Hallo Rolf, danke und für Antwort und stimmt, mit einem Workflow geht es besser. Ich versuche es mal und hoffe Du kommst damit zurecht.
Workflow:
- Ich habe eine Softwarelösung die z.B. ein Angebot erstellt.
- Mit dieser Software kann ich vom Großhandel Artikel importieren.
- Für den Aufruf beim Großhandel öffne ich in meiner Software ein Webbrowser Form und starte meine HTML Seite z.B. www.meineseite.de/Grosshandel.html
Code meiner HTML Seite für den Shopaufruf:
<!doctype html public "-//W3C//DTD HTML 3.2 //EN">
<html><head><title>Schnittstelle WKS</title></head>
<body onload="document.forms['wks'].submit();">
<form id="wks" name="wks" action="https://meingrosshandel.de/ids" method="post">
<input type="hidden" name="kndnr" value="..." size="50" maxlength="50">
<input type="hidden" name="name_kunde" value="..." size="50" maxlength="50">
<input type="hidden" name="pw_kunde" value="...." size="50" maxlength="50">
<input type="hidden" name="version" value="1.3" size="5" maxlength="5">
<input type="hidden" name="action" value="WKS" size="3" maxlength="3">
<input type="hidden" name="hookurl" value="https://www.meineseite.de/idsconnect.php" size="256" maxlength="256">
</form></body></html>
-
Im WebShop vom Grosshandel kann der Anwender seine Artikel in den Warenkorb legen. Dann kann er dort den Button „Warenkorb übertragen“ anklicken. Der Grosshandel ruft dann die HookUrl aus dem von mir übertragenen Formular auf und Schreibt seinen Warenkorb in ein Feld „Textarea“. Dieses Feld muss die id=“Warenkorb“ haben.
-
Ich erhalte dann in dem Feld den Warenkorb: Muster Warenkorb Rückübertragung:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Warenkorb xmlns="http://www.muster.de/Shop-Anbindung/Warenkorb/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.muster.de/Shop-Anbindung/Warenkorb/warenkorb_empfangen.xsd">
<WarenkorbInfo>
<Date>2020-07-14</Date>
<Time>17:22:39</Time>
<RueckgabeKZ>Warenkorbrückgabe</RueckgabeKZ>
<Version>2.0</Version>
</WarenkorbInfo>
<Order>
<OrderInfo>
<InquiryNo></InquiryNo>
<OfferNo>1988783</OfferNo>
<PartNo>TEST</PartNo>
- Ich lese dann mit meiner Software das Feld aus. Alle Großhändler, die das Encoding ISO verwenden gehen auch, hier stimmen die Umlaute. Bei den andere die das <?xml version="1.0" encoding="utf-8"?> senden, stimmen in meiner Textarea die Umlaute dann nicht mehr.
Hier noch ein Auszug aus der Schnittstelle: 4.1 Warenkorbübernahme Shop zur Handwerkssoftware Über diese Funktion soll die Übernahme eines Warenkorbs aus dem Shop-System in die Handwerkssoftware realisiert werden. Für den Prozess wurden folgende Prozessschritte abgestimmt. a) Starten des GH-Shops aus der Handwerkssoftware in einem Browserfenster Beim Aufruf des GH-Shops soll eine automatische Anmeldung erfolgen. Hierfür werden bei der Anfrage die Parameter „Kundennummer“, „Benutzername“ und „Passwort“ übertragen. Zusätzlich ist der Parameter „Version“ zur Angabe der Version der Schnittstelle (ab Version 1.3) möglich. Die Zugangsdaten sollen den beim Anwender bereits bekannten Zugangsdaten im Shop-System entsprechen. Bei der Übertragung der Parameter soll die POST Variante (komplexere Implementierung aber unbegrenzte Parameterlänge) möglich sein. Die GET Variante wird auf Grund der nicht ausreichenden Länge der Parameter nicht unterstützt. ITEK GmbH 10.09.2013 Seite 10/29 IDS Schnittstelle Beim Aufruf der Shop-Anbindung muss im HTTP-Header der Content "text/html" angegeben werden. Weiterhin muss der Zeichensatz angegeben werden, um eine eindeutige Interpretation zu ermöglichen. Für die Formulardaten muss der enctype "multipart/form-data" angegeben werden. Die gleichen Festlegungen gelten auch beim Aufruf der Hook-URL. Der Zeichensatz der xml Struktur für den Warenkorb soll in der xml Deklaration angegeben werden. Wird nichts angegeben, so wird utf-8 genutzt. Es kann in jeder Anfrage nur ein Warenkorb übermittelt werden. Für die Übertragung wird die Nutzung von HTTPS empfohlen, grundsätzlich soll aber auch HTTP möglich sein. Die Rück-Kommunikation zur Handwerkssoftware soll über eine HOOK-URL erfolgen. Diese wird als Parameter beim Aufruf des GH-Shops übertragen. Zusätzlich kann der Parameter „Target“ angegeben werden. Hier wird das Target angegeben welches durch die Handwerkssoftware überwacht wird, um den Abschluss der RückKommunikation festzustellen. Das Target muss, nach Abschluss der Rück-Kommunikation, durch den Shop aktualisiert werden. Wird der Parameter nicht übertragen wird „TOP“ als StandardTarget genutzt. Die Festlegung, welche Aktion im GH-Shop aufgerufen werden soll, erfolgt über einen Aktionsparameter. Sollten für andere Aktionen weitere Parameter erforderlich sein, so werden diese in Abhängigkeit von der Aktion definiert. Falls beim Aufruf Fehler auftreten, sollen diese im Browserfenster angezeigt werden. Das genaue Fehlerhandling obliegt den einzelnen GH-Shops und wird hier nicht weiter betrachtet. Falls der GH-Shop ein Weiterarbeiten z. B. über eine manuelle Anmeldung ermöglicht, müssen die Aufrufparameter aus der Handwerkssoftware erhalten bleiben um den Abschluss des Prozesses zu ermöglichen. Hinweis: Beim Zugriff auf die Shop-Systeme ist zu beachten, dass es zu Problemen kommen kann, wenn in einem Shop-System mehrere Funktionen parallel gestartet werden.
b) Übernahme des Warenkorbs Der übertragenen Warenkorb muss dem Schema „Warenkorb_empfangen.xsd“ entsprechen. Die Übernahme der Daten erfolgt als Übertragung eines Formulars an die HOOK-URL analog der OCI Schnittstelle.
c) Schließen des GH-Shops Nach Abschluss der Verarbeitung muss das Browserfenster geschlossen werden und der Prozess ist abgeschlossen.
Jetzt stellt sich für mich die Frage wie ich die unterschiedlichen Encoding in den Griff bekommen kann.