OmniSeller:SW6 Plugin

Aus HTK Wiki
Zur Navigation springen Zur Suche springen

das OmniSeller Plugin für Zusatzfunktionen in Shopware6

Hintergründe

Uns erreichen zunehmend Anfragen zur Ausleitung von bestimmten Sage100/ERP Daten in Richtung Shopware, um dort zusätzliche Funktionen  wie z.B. Kundenstamm-Import, kundenspezifische Preise oder Erstellungsmöglichkeiten von Verkaufsstatistiken abbilden zu können.
 
Dieses Plugin soll ein paar dieser Punkte abbilden.
Technisch erweitert dieses Plugin die von Shopware existierende REST-API.
Es werden spezifische Endpunkte zur Verfügung gestellt, die dann angesprochen werden können.
Eine Übersicht hierzu finden Sie unten.
 

Inhalte/API Endpunkte

Shopware API Authentifizierung

Route /api/oauth/token
Request-Tpye POST
Request-Json
{
    "client_id": "administration",
    "grant_type":"password",
    "username":"<username>",
    "password":"<password>"
}
 
Response-Json
{
    "token_type": "Bearer",
    "expires_in": 600,
    "access_token": "<Token>",
    "refresh_token": "<RefreshToken>"
}
 

 

Nach der erfolgreichen Authentifizierung wird dann bei den folgenden Endpunkt Requests ein Authorization Header mit "Bearer <Token>" angehängt.

 

Statistik Import

Route /api/v3/omniseller/statistik
Request-Tpye POST
Request-Json
[{
        "kunde": "D100000",
        "periode": "2002003",
        "mandant": 123,
        "menge": "10,0000",
        "umsatz": "77,7900",
        "roherloes": "77,7900"
    }
]
Response-Json
{
    "status": "FINISHED",
    "successful": 1,
    "inserts": 0,
    "updates": 1,
    "errors": 0
}

 

B2BPreise

einfacher Request für Versionserfragung und Test ob Plugin installiert/aktiv

Route /api/v3/omniseller/b2bpricesCheck
Request-Tpye GET
Request-Json  
Response-Json
{
    "Installation": "OK",
    "version": "1.0.2"
}

 

Anlegen von B2B-Preise

Route /api/v3/omniseller/b2bprices
Request-Tpye POST
Request-Json
[
     {
        "Company": "123",
        "CustID": "D12345",
        "Email":"example@htk.de",
        "Item": "08154711",
        "Variation": "0",
        "Ref": "",
        "AbMenge":"0",
        "Price": "123,45",
        "Discount": "10,00",
        "IsBruttoPrice": true,
        "AllowDiscount": true,
        "UploadID": 1234657890
    }
]
Response-Json
{
    "status": "FINISHED",
    "successful": 1,
    "inserts": 0,
    "updates": 1,
    "errors": 0
}


 

Ein Delete Request, der alle Einträge löscht, die eine alte UploadID haben. Bereinigt alte Einträge unmittelbar nach einer vollständigen B2BPrice Synchronisation

Route /api/v3/omniseller/b2bpricesdeleteold
Request-Tpye POST
Request-Json  
Response-Json
{
        "message":"Es wurden xx Einträge gelöscht",
        "success":true
}

 

Es können auch gezielt einzelne Preise gelöscht werden:

Route /api/v3/omniseller/b2bpricesDeleteSpecific
Request-Tpye POST
Request-Json
[{
        "Company": "123",
        "CustID": "D12345",
        "Item": "08154711",
        "Variation": "0"
    }
]
Response-Json
{
    "status": "FINISHED",
    "successful": 1,
    "errors": 0,
    "deleted":1
}
   

 

 

Kundenimport

Route /api/v3/omniseller/customersImport
Request-Tpye POST
Request-Json
[{
    "Kto_Aktiv":"1",
    "Kto":"D10000",
    "AdressID":"12345",
    "EUUStID":"DE 12345677",
    "EULand":"DE",
    "Sprache":"DE",
    "Rabattgruppe":"R1",
    "Rabattsatz":"20", 
    "Istgesperrt":0,
    "Zahlungskondition":"Vorkasse", 
    "Vertreter":"",
    "Adressgruppe":"",
    "Ansprechpartner_Nummer":"123546", 
    "EMail":"mh@htk.de",
    "Anrede":"Herr",
    "Ansprechpartner":"",
    "Vorname":"Marvin",
    "Nachname":"Harant",
    "Typ":"L",
    "Name1":"",
    "Name2":"",
    "Lieferstrasse":"In der Nauroth 2",
    "LieferPLZ":"67158",
    "LieferOrt":"Ellerstadt",
    "Lieferzusatz":"",
    "Lieferland":"DE",
    "Telefon":"06237 306010",
    "Telefax":""
}
]
Response-Json
{
    "status": "FINISHED",
    "successful": 1,
    "inserts":10,
    "updates":2, 
    "errors": 0
}
   

 

Installation

Da das Plugin in dieser Form (noch) nicht im Shopware Store existiert muss dieses manuell über das Shopware Backend installiert werden.
Bei neuen Shopware6 Versionen (6.4+) gibt es links ein Feld "Erweiterungen". Dort kann dann unter "meine Erweiterungen" das Zip File hochgeladen werden. Anschließend über die 3 Punkte installieren und zuletzt aktivieren.
Bei älteren Shopware6 Versionen ist das Prinzip das gleiche, nur ist die Plugin Seite links im Menü unter Einstellungen->System->Plugins zu finden.
 
 
 
Disclaimer
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen. Some pages may contain Icons by www.icons8.com.