Dokumentation zur Erstellung eines JTL 1.0 Connectors

Jan Krause - Billbee

Aktives Mitglied
22. Januar 2014
8
0
Detmold
Hallo,

ich bin auf der Suche nach Informationen zum Thema Implementierung eines JTL Connectors für JTL WAWI 1.0 auf dieses Forum hingewiesen worden.

Also: Wo finde ich Informationen über die Kommunikation zwischen JTL und Shop, um einen eigenen Connector zu schreiben?

Viele Grüße, Jan Krause
 

cspoo

Aktives Mitglied
15. April 2013
145
0
AW: Dokumentation zur Erstellung eines JTL 1.0 Connectors

Hallo Jan,


wir haben ein öffentliches Git-Repository mit einer Beispielimplementierung für einen Endpoint. Du findest es hier: https://gitlab.jtl-software.de/jtlconnector/example-connector
Der Beispiel-Endpoint arbeitet auf einer kleinen SQLite-Datenbank, in der die empfangenen Daten gespeichert werden. Um das Kommunikationsprotokoll auf der untersten Schicht brauchst du dich nicht zu kümmern, das ist soweit gekapselt. Du solltest jedoch vertraut mit objektorientiertem PHP sein, sowie bereits mit Composer gearbeitet haben. Ansonsten wäre der Einstieg ziemlich schwierig.

Den Code kannst du gerne forken und als Ausgangsbasis für eigene Entwicklungen verwenden. Er steht genauso wie unsere offiziellen Endpoints unter der LGPL. Bitte bedenke, dass du in jedem Falle eine Connectorlizenz im Kundencenter benötigst, um deinen Code mit JTL-Wawi testen zu können. Hierzu wendest du dich am besten nochmals an uns, sobald du bereit für erste Tests bist.
 

Jan Krause - Billbee

Aktives Mitglied
22. Januar 2014
8
0
Detmold
AW: Dokumentation zur Erstellung eines JTL 1.0 Connectors

Vielen Dank für die schnellen Antworten.
Ich entwickel nicht mit PHP sondern auf dem Microsoft Stack, werde mir die Beispielimplementierung aber anschauen.
Gibt es keine Infos auf Netzwerkebene? Also, wann JTL welche URL mit welchen Parametern aufruft und welche Daten in welchen Formaten erwartet werden?
Ich fürchte, um das Kommunikationsprotokoll komme ich nicht herum.

Viele Grüße, Jan
 

cspoo

Aktives Mitglied
15. April 2013
145
0
AW: Dokumentation zur Erstellung eines JTL 1.0 Connectors

Alle Requests laufen auf die Connector-URL als POST-Request. Requestformat ist JSON, wir setzen es in einer Abwandung von JSON-RPC ein. Das wird auch schnell klar, wenn du die URL zu einem Connector einmal direkt aufrufst, denn auch die Exceptions werden als JSON-RPC-Messages übertragen. Das Ganze sieht in etwa so aus:

Code:
{
  "method": "...",
  "params": { ... },
  "jtlrpc": "2.0",
  "id": "..."
}

Vor dem ersten Request muss eine Authentifizierung mittels Auth-Token (den der Benutzer als Passwort in JTL-Wawi eingibt) erfolgen - ebenfalls per JSON-RPC. Diese liefert eine Session-ID zurück, die an die Client-IP-Adresse gebunden ist und die bei allen künftigen Requests als "id"-Parameter mitgeliefert werden muss. Läuft die Session ab - z.B. wegen eines Timeouts, wird eine SessionException geworfen, sodass der Client die Gelegenheit hat, erst eine neue Session anzufordern, bevor er den Request wiederholt.

Wir verwenden ein Protokoll, das RPC-Methoden der Form "<object>.<method>" kennt. Die häufigsten Methoden sind dabei "push"/"pull"/"delete" zur Übertragung bzw. zum Löschen von Daten, jeweils aus Sicht des Clients gesehen. Zusätzlich gibt es an den meisten Objekten eine Methode "statistic", die eine Information zurückliefert, wie viele Objekte zum Pull zur Verfügung stehen. Das gesamte Mapping zwischen den Primary-Keys des Servers und denen des Clients findet serverseitig statt - ebenso wie das Vorhalten der Infos, welche Objekte bereits gepulled worden sind und welche nicht.

Wenn du auf Basis des .NET-Frameworks arbeitest, könnte ich dir evtl. die C#-Schnittstellendefinitionen zukommen lassen, aus denen unsere PHP-Model-Klassen generiert werden. Wir verwenden die json.net-Bibliothek, um die Daten zwischen managed objects und JSON hin- und herzukonvertieren. Dann siehst du schon einmal, wie die Datenstrukturen aussehen, auf denen du arbeiten musst.
 

Jan Krause - Billbee

Aktives Mitglied
22. Januar 2014
8
0
Detmold
AW: Dokumentation zur Erstellung eines JTL 1.0 Connectors

Hallo,

das klingt doch schon mal interessant.
Die C#-Schnittstellendefinition würde mich sehr interessieren!

Viele Grüße, Jan
 

Jan Krause - Billbee

Aktives Mitglied
22. Januar 2014
8
0
Detmold
AW: Dokumentation zur Erstellung eines JTL 1.0 Connectors

Hallo Christian,

sind die Klassen vollständig? Den Bereich Aufträge / Orders konnte ich nicht entdecken, oder wie heißt das bei JTL?
Hast du evtl. noch Infos dazu, wie z.B. der Abruf von Bestellungen über den Connector aussieht? Also in welcher Reihenfolge welche Methode aufgerufen wird?

Sonst installier ich mir einen Shopware Testshop und schaue mir die Kommunikation da mal an.
 

Andrewbudy

Aktives Mitglied
17. Januar 2017
2
0
Hallo,
Ich arbeite auch an .Net JTL 1.0 Connector.
Können Sie mir bitte auch C # Schnittstellen und Klassen anbieten?
 

Andrewbudy

Aktives Mitglied
17. Januar 2017
2
0
Ich verstehe, aber C # -Modelle und Schnittstellen wurden an Jan Krause - Billbee gesendet. Ich bitte Sie, mir die gleichen Informationen zu schicken.
 

testjo

Sehr aktives Mitglied
Die Daten waren lediglich ein Experiment und sind seit 1 1/2 Jahren (siehe Thread-Verlauf) nicht mehr vorhanden oder aktuell.
Die aktuell kompatible Schnittstellen-Definition für Entwickler ist hier zu finden: http://docs.jtl-connector.de/en/latest/

Frage warum hier EN-en ?
http://readthedocs.org/projects/jtl-connector/downloads/
SORRY /
\ /
\ This page does /
] not exist yet

Die link steht auf dieser Seite beim linker MEnu downloads
http://docs.jtl-connector.de/en/latest/
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL-Infoschreiben "Wichtige Neuerung im Postgesetz zur Kennzeichnungspflicht" - Umsetzung auch für Österreichische Post Labels ? JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Frage zur Rechtevergabe bei eigenen Übersichten Eigene Übersichten in der JTL-Wawi 0
Neu Keine Verbindung zur Datenbank vom Terminalserver Installation von JTL-Wawi 1
Neu Frage zur Korrekturbuchung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Export von Buchungsdaten zur Differenzbesteuerung als CSV Datei Schnittstellen Import / Export 0
Neu Möglichkeit zur Selbstabmeldung bei Arbeitsplatzwechsel JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 1
Neu Artikel CSV Exporte dem Kunden zur verfügung stellen. Allgemeine Fragen zu JTL-Shop 7
Neu SQL Code zur Ausgabe des Verkaufspreis je Kundengruppe User helfen Usern 1
In Diskussion Fragen zur Rechnungserstellung via Workflow JTL-Workflows - Ideen, Lob und Kritik 2
Neu Amazon Für das Feld "Preis mit Steuern zur Anzeige eBay-Anbindung - Fehler und Bugs 2
Neu Frage zur Plugin Entwicklung Plugins für JTL-Shop 3
Angaben zur Erfüllung GPSR gebündelt bearbeiten Otto.de - Anbindung (SCX) 4
Neu Frage zur Kartonagen Verwaltung in JTL WMS 1.8 - Karton per Scan ersetzen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Amazon Rechungskorrekturen / Storno: Neu ausstellen / Es existiert kein Auftrag zur Rechnung Einrichtung und Installation von JTL-eazyAuction 8
Neu PayPal Link zur Zahlung in Angeboten / Aufträgen funktioniert aktuell nicht mehr User helfen Usern - Fragen zu JTL-Wawi 1
Neu Suche Dienstleister zur Anpassung von Rechnungsvorlagen Dienstleistung, Jobs und Ähnliches 3
eBay Angebote laden - keine Erstellung laufender Angebote + Angebotsvorlagen JTL-Wawi 1.9 1

Ähnliche Themen