Met deze koppeling van Shopware 6 ondersteunen we de volgende gegevensstromen:
- Inlezen verkooporders
- Inlezen producten
- Exporteren voorraadmutaties
- Exporteren shipmentberichten (leveringen)
Om de koppeling te kunnen leggen dien je de volgende gegevens te hebben:
- URL webshop - bijvoorbeeld https://www.bedrijfsnaam.nl/
-
API sleutel - Deze kun je aanmaken zoals beschreven op https://docs.shopware.com/en/shopware-6-en/settings/system/integrationen
Gegevensstromen
Hieronder staat per gegevensstroom welke velden wij automatisch verwerken bij een import. Mocht je addons of andere velden willen gebruiken dan dient dit afgestemd te worden. Wij ondersteunen alleen velden welke beschikbaar zijn in de basis feeds.
Verkooporders:
Voor de verkooporders halen we iedere 5 minuten recent gemuteerde orders op en lezen deze in in het WMS. Hierbij kijken we maximaal 24 uur terug in het verleden.
In het bericht wat we hiervan ophalen gebruiken we standaard de volgende set gegevens:
- Order
- Order ID/REF
- Technisch Order ID
- Order beschrijving
- Leverdatum en tijd
- update_code ("cancelled"="CANCELLED", anders "INSERT_AND_UPDATE")
- Order status ("completed"="OPEN", "cancelled"="CLOSED")
- In de wacht ("paid"="0", anders "1")
- Eigenschappen (optioneel)
Afleveradres (POD) - Adres ID/referentie
- Naam (voor- en achternaam)
- Adres (straat + huisnummer)
- Postcode
- Plaats
- Land referentie (NL, BE, etc.)
- Eigenschappen (optioneel)
Factuuradres (INV) - Adres ID/referentie
- Naam (voor- en achternaam)
- Adres (straat + huisnummer)
- Postcode
- Plaats
- Land referentie (NL, BE, etc.)
- Eigenschappen (optioneel)
Verzendmethode/Verzendwijze classificatie - referentie
- beschrijving
- technische waardes (st_agent_shipping_code>,<st_agent_shipping_service_code>,<pod_country_reference>,<st_sender_reference>)
zie ook Inrichten Verzendklassificaties
Orderregels - Orderregel ID/referentie (hier is het product ed. aangekoppeld)
- Aantal stuks
- Eigenschappen (optioneel)
Bijzonderheden
- Order ID met prefix gebaseerd op Sales Channel
- Als het factuuradres leeg is, dan wordt daar het afleveradres ingevuld.
- Als een order nog niet betaald is, dan komt de order in de wacht
- Een order wordt aangemaakt of bijgewerkt OF bij "cancelled" wordt de order verwijderd/gesloten
Producten:
Producten worden eenmalig allemaal geimporteerd en daarna halen we alleen nieuwe producten op of wijzigingen. Dit wordt 1x per dag uitgevoerd.
In het bericht wat we hiervan ophalen gebruiken we standaard de volgende set gegevens:
- Product ID/REF
- Technisch product ID
- Product titel
- Product beschrijving
- Product EAN
- Sales Channel
Bijzonderheden:
Indien de Product titel leeg is, wordt deze gevuld met "unknown".
Stock update:
Voorraad updates zijn optioneel maar worden standaard aangezet bij het leggen van de koppeling. Hierbij sturen wij een stock update terug naar Shopware bij iedere voorraad wijziging in het WMS.
In dit bericht sturen we dus alleen de volgende gegevens door per stock update:
- Technisch Product ID
- Werkelijk hoeveelheid voorraad (available_quantity)
Bijzonderheden
De beschikbare voorraad wordt altijd afgerond op gehele getallen.
Voorbeeldbericht:
{
"product_reference": "SKU",
"stock": -6
}
Shipment bericht:
Via het shipment bericht worden geleverde goederen teruggekoppeld aan de webshop. Indien de verzendeenheid wordt verzonden middels een carrierkoppeling, waarbij het verzendlabel door het WMS wordt afgedrukt, dan wordt de tracking code van het pakket automatisch teruggekoppeld aan de webshop middels het shipment bericht.
In dit bericht sturen we dus alleen de volgende gegevens door per verzendeenheid:
- Technisch Order ID
- Status 'shipped'
- Custom status. Als de standaard order delivery ship statussen niet genoeg zijn, kunnen de volgende twee velden worden gegeven op order niveau:
- deliveryStateId: Het id van een state-machine-state in Shopware waar de order delivery naartoe gezet moet worden.
- deliveryTransitionName: De naam (action_name) van de state-machine-transition die gebruikt moet worden om naar de nieuwe state te gaan.
Het deliveryStateId veld is optioneel, maar het maakt alles wel stabieler omdat dan niet getransitioned wordt van een state naar dezelfde state. Als deelleveringen toegestaan zijn is het dus verplicht om dit veld mee te geven.
Voorwaarde om deze hele functionaliteit te gebruiken is dat transitions met dezelfde action_name altijd naar dezelfde state id gaan. Dit moet in Shopware ingericht zijn.
- Custom fields (zoals shipped quantity en remaining quantity) per order line. Dit wordt geactiveerd wanneer er een "delivery" veld zit in het doelbericht met behulp van de DSL.
Voorbeeldbericht:
{
"orders": [
{
"reference": "332981",
"status": "complete",
"deliveryStateId": "",
"delivery": {
"trackingCodes": [
"JVGZ06079263000865591666"
],
"positions": [
{
"orderLineItemId": "642439",
"customFields": {
"shipped_datetime": "2023-01-22T13:01:02.502Z",
"shipped": 1,
"remaining": 0,
"trackingcodes": [
"JVGZ06079263000865591666"
]
}
}
]
}
}
]
}