Eigener, selbst programmierter Connector

Rolf

Aktives Mitglied
17. September 2015
28
0
Hi, ich hoffe ich bin hier völlig falsch mit meiner Frage (Vorwarnung: es wird technisch).

Ich versuche gerade, einen eigenen Connector für einen selbst geschriebenen Shop zu schreiben. Dafür habe ich mir mit einer Testlizenz und Log-Dateien mal angeschaut, was für Daten so gesendet werden und was zurückgeschickt werden muss.
Soweit so gut. Leicht verständlich und mit wenigen Zeilen Code war ein Skript geschrieben, mit dem grundlegende Daten übertragen werden konnten.

Das einzige Problem: Mein kleiner mini-Connector muss sich als ein anderes Shopsystem ausgeben, damit kein Lizenzfehler auftaucht.
Die Frage ist also: Ist das die korrekte Vorgehensweise, dass ein selbst geschriebener Connector sich als etwas anderes ausgeben muss, oder hat man hier auch andere Möglichkeiten? Oder ist das letzten Endes gar nicht vorgesehen, dass man seinen eigenen privaten Connector baut?

Beste Grüße
Rolf
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Ich hoffe, ich wirke nicht allzu ungeduldig. Wenn hier keiner die genaue Antwort weiß, kann ich das auch verstehen. Man findet ja auch keine Dokumentation zu dem Thema "Eigenen Connector programmieren" (jedenfalls nicht leicht genug, dass ich das gefunden hätte).
Hat vielleicht jemand eine Idee, wo ich ein wenig mehr zu diesem Thema erfahren könnte?
 

Thomas Lisson

Administrator
Mitarbeiter
24. März 2006
15.574
299
Köln
AW: Eigener, selbst programmierter Connector

Hi,

du nutzst die aktuelle, neue Schnittstelle?

Falls es für deinen Eigengebrauch ist, kannst du deinen Connector sich als einen anderen Connector ausgeben lassen.
Falls du den aber verkaufen möchtest, brauchst du eine eigene Kennung von uns - dann wird auch geklärt, wie du an Lizenzen kommst, die du an deine Kunden verkaufen kannst.
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Hi Thomas,
danke für die Antwort. Ja, ich nutze die aktuelle, neue Schnittstelle. Und es ist erstmal nur für den Eigengebrauch.
Dann werde ich also einfach nach dem Ablauf der Testlizenz eine echte Lizenz kaufen.

Eine günstigere Alternative gibt es nicht, wenn man die Programmierarbeit für den Connector selbst übernimmt, nehme ich an?
Wenn nicht, wäre das absolut verständlich. Das wäre wohl dann zu leicht auszunutzen *g*
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Hi,
jetzt hätte ich nur noch eine letzte Frage (wieder evtl. etwas komplexer):

Ich hab jetzt auch mal in der Wawi mit dem Konfigurator-Modul ein wenig herumgespielt. Im Export werden dann bei den Produkten auch die Zuordnungen zu den Konfigurationsgruppen übergeben. Aber die Gruppen mitsamt Inhalten an sich werden leider nicht exportiert.
Genauer: Bei der Methode "global_data.push" steht unter "params" nur " 'configGroups': [], 'configItems': [] ", also ein leerer Array. Wenn man dagegen in der Wawi unter Produktverwaltung --> Konfigurationsgruppen schaut, sind da Gruppen eingetragen und zu den Gruppen auch Komponenten. Und bei dem Connector in der Datei "config/features.json" ist auch bei allem, was mit "Config" zu tun hat, für "push" der Wert "true" eingetragen.
Ist es möglich, dass ich etwas Offensichtliches übersehe, oder fehlt beim Wawi noch die Funktion, die Konfigurationsgruppen an den Connector zu übertragen?
Ich habe übrigens die Wawi in der Version 1.0.1 installiert.

Eine weitere Idee von mit war, die Konfigurationsgruppen einfach von Hand in die Shopdatenbank einzutragen. So oft ändert man die ja nicht. Aber dafür muss man die IDs der Gruppen kennen. Immerhin werden die ja bei "product.push" an den Connector übergeben. Nur leider werden die IDs nicht in der Wawi mit angezeigt (soweit ich das sehen konnte) und über die Export-Funktion der JTL-Ameise kommt man da auch nicht dran.

Falls also der Export der Konfigurationsgruppen direkt über den Connector nicht möglich sein sollte, gibt es evtl. eine Möglichkeit, irgendwie an die IDs der Gruppen zu kommen?
Es wäre gut, wenn ich das noch irgendwie herausbekäme, bevor ich die 500€ für die Lizenz ausgebe ;)

Schonmal Danke an alle, die sich die Mühe machen, das alles zu lesen und versuchen, es nachzuvollziehen. Mehr dumme Fragen werde ich auch nicht mehr stellen.
 

cspoo

Aktives Mitglied
15. April 2013
145
0
AW: Eigener, selbst programmierter Connector

oder fehlt beim Wawi noch die Funktion, die Konfigurationsgruppen an den Connector zu übertragen?

Genau das ist es (derzeit). Es ist mittelfristig abzusehen, dass der Konfigurator nochmals komplett überarbeitet wird. Aus diesem Grund werden die entsprechenden Infos über die Schnittstelle nicht übermittelt. Dass du in dem übertragenen JSON trotzdem entsprechende Eigenschaften hast, liegt schlicht daran, dass die Struktur sich an die des JTL-Shops anlehnt. Deshalb sind diese (funktionslosen) Felder dort noch drin.
 

testjo

Sehr aktives Mitglied
AW: Eigener, selbst programmierter Connector

Eine weitere Idee von mit war, die Konfigurationsgruppen einfach von Hand in die Shopdatenbank einzutragen. So oft ändert man die ja nicht. Aber dafür muss man die IDs der Gruppen kennen. Immerhin werden die ja bei "product.push" an den Connector übergeben. Nur leider werden die IDs nicht in der Wawi mit angezeigt (soweit ich das sehen konnte) und über die Export-Funktion der JTL-Ameise kommt man da auch nicht dran.

Falls also der Export der Konfigurationsgruppen direkt über den Connector nicht möglich sein sollte, gibt es evtl. eine Möglichkeit, irgendwie an die IDs der Gruppen zu kommen?
Es wäre gut, wenn ich das noch irgendwie herausbekäme, bevor ich die 500€ für die Lizenz ausgebe ;)
.

??? noch kein Antwort auf dieser ;)
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Das wäre in der Tat noch ganz interessant zu wissen.
Aber in der Zwischenzeit habe ich mir das Programm "Microsoft SQL Server Manager Studio Express" installiert und mir die Konfigurationsgruppen und -komponenten selbst direkt aus der Datenbank geholt.

Für Interessierte: Installation kann schwierig sein (Datei auf C:\ verschieben, CMD mit Admin-Rechten öffnen, Datei aufrufen) und der eingebaute CSV-Export ist bei mir nicht allzu gut zu gebrauchen, weil ";" nicht escaped wird. Tabelle markieren, kopieren, in Texteditor einfügen und als CSV speichern (mit TAB als Trennzeichen) schien sinnvoller. Und es kann hilfreich sein, in der SQL Server Oberflächenkonfiguration auf "Neuen Administrator hinzufügen" zu klicken. Aber das alles nur nebenbei.

Das ganze auf eine etwas einfachere Art hinzubekommen wäre natürlich ein Traum.
 

testjo

Sehr aktives Mitglied
AW: Eigener, selbst programmierter Connector

Das wäre in der Tat noch ganz interessant zu wissen.
Aber in der Zwischenzeit habe ich mir das Programm "Microsoft SQL Server Manager Studio Express" installiert und mir die Konfigurationsgruppen und -komponenten selbst direkt aus der Datenbank geholt.

Für Interessierte: Installation kann schwierig sein (Datei auf C:\ verschieben, CMD mit Admin-Rechten öffnen, Datei aufrufen) und der eingebaute CSV-Export ist bei mir nicht allzu gut zu gebrauchen, weil ";" nicht escaped wird. Tabelle markieren, kopieren, in Texteditor einfügen und als CSV speichern (mit TAB als Trennzeichen) schien sinnvoller. Und es kann hilfreich sein, in der SQL Server Oberflächenkonfiguration auf "Neuen Administrator hinzufügen" zu klicken. Aber das alles nur nebenbei.

Das ganze auf eine etwas einfachere Art hinzubekommen wäre natürlich ein Traum.

Den basis install sql server soll man die datenbank aber auf ein anderer Festplatte/Partition setzen, dort kan man dan eigentlich einfach den Rechten verwalten, ist unter den c:\programm...\ nicht so ein gute idee.
Auch nicht wen man andere tools für backups benutzt, soll eigentlich nie DATEN ( dokumenten/ bilder/ datei /datenbanken und mehr) unter/in ein platte/partition wo den betriebsysteem selbe drauf ist und gar nicht ins PROGRAMM Verzeichnisse.

( habe sehr lange her mall ein Kunde gehabt wo damit alles weg war weil sein DATA festplatte war immer in den eigener backup vorgang, eher ein eigene sql datenbank dan doch eben nicht ( weil in c:\program), und die war ja richtig gross und wichtig, war ein hardware raid server, wo die den USV nicht rechtzeitig gewarted haben, und durch überspannnung gleichzeitig mehrere festplatte immer wider down gingen wegen fehler) ( ich war ja kein systemadmin dort, und auch kein datenbank admin, aber eben nur ein Lieferant, die mitten in den Nacht zum hilfe gebeten würde)

Also vorsicht und immer wissen was wo man macht und stehen hat, eben auch in Virtuele umgebungen. ( wegen Backup Restore und Rechten)
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Danke für die Hinweise, testjo. Ich werde es im hinterkopf behalten. Ein allerletztes mal möchte ich gerne noch hinterherhaken, weil es vielleicht nochmal relevant werden könnte: Gibt es eine Möglichkeit, direkt über die JTL-Wawi an die IDs der Einträge zu kommen? In diesem speziellen Fall jetzt von den Konfigurator-Gruppen, vielleicht aber auch allgemeiner, falls man es mal braucht? Ich weiß, eigentlich passt die Frage nicht mehr direkt in dieses Forum, aber als Folgefrage, die immerhin zu einem Workaround des eigentlich Problem führt, ist es mir hoffentlich gestattet :)
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Hallo nochmal,
Wenn man sich erstmal reingefunden hat in die Funktionsweise, wie und welche Daten zwischen Shop und Wawi ausgetauscht werden, ist das plötzlich alles gar nicht mehr so schwer. Hätte ich erst nicht gedacht, als ich sah, wie riesig die anderen fertigen Connectoren so sind.
Wenn ich mit allem durch bin, kann ich ja mal eine kleine Anleitung für Interessierte rausgeben.

Nur eine Kleinigkeit fehlt mir noch: Die Kundengruppen.
In der Datei "features.json" ist bei allem, was mit "CustomerGroup" zu tun hat, mindestens "push" auf true gesetzt. Trotzdem kommt von der Wawi unter "global_data.push" für "customerGroups" nur ein leeres Array. Quasi wie schon weiter oben mit "configGroups" beschrieben.

Gibt es da irgendwie eine Möglichkeit, die Kundengruppen über den Connector in den Shop zu übertragen?
Wenn nicht, kann man das natürlich auch per Hand machen. Aber automatisch wäre halt schöner.
 

Daniel B.

Moderator
17. Juni 2009
1.430
40
AW: Eigener, selbst programmierter Connector

Hey,

Kundengruppen werden nie von der Wawi geschickt. Das ist leider nicht vorgesehen.

Manche Endpoints sind mal kleiner und mal größer. Das hängt stark vom Shopsystem ab und wie kompliziert es ist, die Daten von der Wawi ins Shopsystem zu wandeln (und natürlich auch wieder zurück).

Lg,
Daniel
 

Rolf

Aktives Mitglied
17. September 2015
28
0
AW: Eigener, selbst programmierter Connector

Hey Daniel, danke für die schnelle Antwort.
Gut zu wissen, dann werde ich darauf keine weiteren Gedanken mehr verschwenden.

Somit habe ich jetzt alles zusammen, was ich brauche. Danke an alle, die mir geholfen haben. Dank Euch bin ich jetzt beinahe Experte in dem Thema :D
Falls also jemand die Idee haben sollte, mit einem eigenen Connector rumzuspielen und eine Starthilfe braucht, schreibt mich gerne an.
 

Rolf

Aktives Mitglied
17. September 2015
28
0
Hallo nochmal,
nach längerer Zeit habe ich doch mal wieder eine kleine Frage an die Experten unter euch.
Es geht um das Senden eines Kunden von der Wawi aus an den Connector. Genauer gesagt eines Kunden, der bisher nur über die Wawi angelegt wurde und im Shop noch nicht vorhanden ist.
Noch genauer: Der Kunde wurde angelegt mit Name, Anschrift und Email. Danach in der Kundenliste wurde der Kunde rausgesucht und per Doppelklick in die Details gewechselt. Dann rechts unten auf den Button "Webshop|Kd.Gruppen|Gutscheine..." geklickt, im neuen Popup eine Kundengruppe gewählt und auf "An Webshop sofort Senden" gedrückt.
Die Auswertung der POST-Daten im Connector zeigte mir, dass als ID nur ["", 0] mitgeschickt wurde. Was es schwierig macht, den Kunden in der mapping-Tabelle ("jtl_connector_link") zu speichern.

Nun frage ich mich natürlich: Muss das so sein oder bin ich da über irgendetwas gestolpert? Ich wäre für jede Hilfe äußerst dankbar.
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.921
261
Hallo,
diese Funktion ist nicht Teil des Connectors.
Dies betrifft nur den JTL- Shop, deshalb wird da andere Schnittstelle benutzt.
 

Rolf

Aktives Mitglied
17. September 2015
28
0
Ja, das leuchtet ein. Gibt es denn noch einen anderen Weg, um neue Kunden von der Wawi in den Shop zu übertragen?
Der Button "In allen Webshops aktualisieren" hat da leider nichts gesendet.
 

Rolf

Aktives Mitglied
17. September 2015
28
0
Danke für die klare Antwort.
Also müssen neue Kunden dann über den Adminbereich des Shops angelegt werden und die Wawi holt den sich dann bei der nächsten Synchronisierung.

Das habe ich jetzt soweit eingebaut und getestet. Und bin über was lustiges bei der Kundennummer gestolpert:
Egal, ob der Connector eine Kundennummer mitliefert ("customerNumber": 123) oder das Feld komplett ausgelassen wird - sobald ich von der Wawi aus den neuen Kunden übernommen habe und bei ihm in den Kundendetails auf "In allen Webshops aktualisieren" klicke, wird an den Connector die Kundennummer "\u0019" geliefert; das Unicode-Zeichen für "End of Medium".

Das macht zwar nichts kaputt und ist auch nicht weiter tragisch, ich bin nur neugierig, ob da schonmal jemand drüber gestolpert ist oder eine Idee hat, ob das so sein muss oder anders sein sollte.
Schonmal ein großes Danke an alle, die sich die Zeit nehmen, meine obskuren Probleme zu lesen und sogar zu beantworten.