OmniSeller:SW6 Plugin: Unterschied zwischen den Versionen

Aus HTK Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 56: Zeile 56:


<div class="mw-parser-output">
<div class="mw-parser-output">
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
==== B2BPreise ====
==== B2BPreise ====


&nbsp;
Anlegen von B2B-Preise


{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
Zeile 76: Zeile 77:


&nbsp;
&nbsp;
Ein Delete Request, der alle Einträge löscht, die seit mindestens&nbsp;24 Stunden&nbsp;nicht mehr geupdated wurden. Bereinigt alte Einträge unmittelbar nach einer vollständigen B2BPrice Synchronisation


{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
|-
| style="width: 102px;" | Route
| style="width: 102px;" | Route
| style="width: 385px;" | /api/v3/omniseller/b2bpricesDelete
| style="width: 385px;" | /api/v3/omniseller/b2bpricesDeleteOld
|-
|-
| style="width: 102px;" | Request-Tpye
| style="width: 102px;" | Request-Tpye
Zeile 89: Zeile 92:
|-
|-
| style="width: 102px;" | Response-Json
| style="width: 102px;" | Response-Json
| style="width: 385px;" | <div>&nbsp;</div>  
| style="width: 385px;" | <div><div>{</div> <div>&nbsp; &nbsp; &nbsp; &nbsp; "message":"Es wurden xx Einträge gelöscht",</div> <div>&nbsp; &nbsp; &nbsp; &nbsp; "success":true</div> <div>}</div> </div>
|}
 
&nbsp;
 
Es können auch gezielt einzelne Preise gelöscht werden:
 
{| border="1" cellpadding="1" cellspacing="1" style="width: 500px;"
|-
| style="width: 102px;" | Route
| style="width: 385px;" | /api/v3/omniseller/b2bpricesDeleteSpecific
|-
| style="width: 102px;" | Request-Tpye
| style="width: 385px;" | POST
|-
| style="width: 102px;" | Request-Json
| style="width: 385px;" | <div>[{<br/> &nbsp; &nbsp; &nbsp; &nbsp; "Company": "123",<br/> &nbsp; &nbsp; &nbsp; &nbsp; "CustID": "D12345",<br/> &nbsp; &nbsp; &nbsp; &nbsp; "Item": "08154711",<br/> &nbsp; &nbsp; &nbsp; &nbsp; "Variation": "0"<br/> &nbsp; &nbsp; }</div> <div>]</div>
|-
| style="width: 102px;" | Response-Json
| style="width: 385px;" | <div>{</div> <div>&nbsp;&nbsp;&nbsp;&nbsp;"status":&nbsp;"FINISHED",</div> <div>&nbsp;&nbsp;&nbsp;&nbsp;"successful":&nbsp;1,</div> <div>&nbsp;&nbsp;&nbsp;&nbsp;"errors":&nbsp;0,</div> <div>&nbsp; &nbsp; "deleted":1</div> <div>}</div>
|-
| style="width: 102px;" | &nbsp;
| style="width: 385px;" | &nbsp;
|}
|}
</div>
</div> </div> </div>

Version vom 21. April 2021, 09:10 Uhr

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

Anlegen von B2B-Preise

Route /api/v3/omniseller/b2bprices
Request-Tpye POST
Request-Json
[{
        "Company": "123",
        "CustID": "D12345",
        "Item": "08154711",
        "Variation": "0",
        "Ref": "",
        "Price": "123,45",
        "Discount": "10,00",
    }
]
Response-Json
{
    "status": "FINISHED",
    "successful": 1,
    "inserts": 0,
    "updates": 1,
    "errors": 0
}

 

Ein Delete Request, der alle Einträge löscht, die seit mindestens 24 Stunden nicht mehr geupdated wurden. 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
}