Billbee einfach an Wemalo anbinden

Billbee Setup zur Anbindung an Wemalo

Die Voraussetzung für diese Schnittstelle ist ein aktiver API Zugang bei Billbee.
Dafür muss im Bereich 
Billbee->Einstellungen->Billbee API ein API-Passwort erzeugt und aktiviert werden.

https://app.billbee.io/app_v2/settings/api/general

 

Nachdem dieser erste wichtige Schritt abgeschlossen ist, musst du jetzt dem Wemalo Support deine Daten mitteilen. Zusätzlich noch ein paar mehr Infos was wir dort von dir benötigen.

  1. username (Email)
  2. password, nenne uns hier dein API-Passwort (Nicht dein User-Passwort)
  3. OrderStateId (3 ist bezahlt)
  4. storageLocationId (0 Standard, dies ist nur im Falle von Multilagernutzung zu ändern)
  5. ordersTag (hier ist wemalo Standard)

Sobald die Verbindung auch von seiten Wemalos konfiguriert wurde wird die Synchronisierung gestartet.

Danach können die Produkte sofort, der Bestand dann nach Vereinnahmung in Wemalo sowie die Aufträge synchronisiert werden.

 

Anlegen von Produkten / Änderungen von Produktdaten

Nach dem Anlegen eines Produktes wird dieses mit WEMALO synchronisiert. nach einer Änderung erkennt die Schnittstelle die Änderung an einem Zeitstempel und das Produkt wird in WEMALO aktualisiert.

 

Abrufen von Aufträgen aus billbee

Nachdem der Auftrag entsprechend des konfigurierten OrderTags und Orderstatus aus billbee synchronisiert wurde, wird der Tag “order_received_by_OrdersTag” an den Auftrag gesetzt. Falls der Auftrag nach einer Änderung erneut einlesen lassen möchte, so kann dieser Tag entfernt werden, der Auftrag wird dann neu zu WEMALO überspielt. Sobald der Auftrag in WEMALO in den Status Bearbeitung gewechselt hat, ist eine Änderung nicht mehr möglich. 

Der OrderTag kann über eine Regel automatisiert in billbee erzeugt werden.

 

Abbrechen von Aufträgen in billbee

Wird ein Auftrag in Billbee storniert, wird er mit WEMALO synchronisiert und danach mit einem Tag “order_cancelled_received_by_wemalo” versehen




Setup in plentymarkets

Wie sich Plentymarkets für die Anbindung mit der YouSellWeSend-Software am besten einrichten lässt, kann dem Folgenden entnommen werden.

1. User-Setup

WEMALO verwendet die REST-API von Plentymarkets, um den Datenaustausch herzustellen. Um dies zu gewährleisten, müssen diverse Berechtigungen auf Seiten von Plentymarkets eingerichtet werden, damit der WEMALO-Nutzer Zugriff auf die benötigten Ressourcen erhält.

Lege einen neuen Benutzer mit erforderlichen Rechten an.

Einrichtung->Einstellungen->Benutzer->Konten 

Wir empfehlen eine Vergabe von Eigner-Rechten, insbesondere für die Punkte Auftrag, Item und Wareneingang. Somit können Vorgänge im Anschluss eindeutig dem auslösenden Benutzerkonto zugewiesen werden.

Nachzulesen hier:
https://knowledge.plentymarkets.com/schnelleinstieg/schnelleinstieg-basiseinstellungen#200
https://knowledge.plentymarkets.com/basics/admin-aufgaben/benutzer-verwalten#40

2. Lager-Setup

Um einen Fulfillment-Bereich für unsere Lagerhaltung zu definieren, lege ein neues Lager für das “YSWS-Fulfillment” an.
Als Lagertyp empfehlen wir Vertrieb, da nicht auszuschließen ist, dass ansonsten Auswirkungen auf die Verfügbarkeit und den Netto-Warenbestand die Folge ist.

Einrichtung->Waren->Lager->Neues Lager

-BEACHTE-

Bei “Logistik-Typ” muss zwingend “Eigenes Lager” ausgewählt werden.
Wenn mehrere Läger in plentymarkets angelegt werden oder bereits vorhanden sind, beachte bitte den Abschnitt 3.6 Automatische Lagerauswahl in Aufträgen.

Das neu angelegte Lager erscheint automatisch in der Lagerliste der Navigation. Dort findet sich die Lager-ID, die wir im Setup benötigen.

Nachzulesen hier:
https://knowledge.plentymarkets.com/schnelleinstieg/schnelleinstieg-warenwirtschaft

 

3. Artikel-Setup

Nach der Erstellung eines Artikels, kann in den Artikel-Einstellungen eine Hauptlager Zuordnung vorgenommen werden. Hier empfehlen wir, das soeben neu angelegte Lager auszuwählen.

Folgende Felder der Artikeldetails sind für YSWS erforderlich:

  • Variantenname (der Name bei YSWS setzt sich aus Name1 und Variantenname zusammen)
  • Varianten Nummer (entspricht der SKU und muss eindeutig sein)
  • GTIN 13 (einmalig und eindeutig zu vergeben. Dient dem Lager als Barcode)
  • Verfügbarkeit: aktiv
  • Maße: Gewicht brutto, Länge/Breite/Höhe

-FEATURE- 

Auf Wunsch, lassen sich mit Hilfe von Tags auch nur ausgewählte Produkte übertragen. Dafür muss zunächst ein Tag für den Bereich “Variante” angelegt und anschließend entsprechende Produkte mit dem Tag gekennzeichnet werden. 

Einrichtung->Einstellungen->Tags

-BEACHTE-

Artikel haben im neu angelegten Lager zunächst keinen Warenbestand. Nach Wareneingang werden die gebuchten Positionen an das Plenty-Lager übermittelt. Sie sind nun in der Lage Aufträge durch das YSWS Fullfillment Lager erfüllen zu lassen.

Wenn plentymarkets nicht ebenfalls zur eigenen Lagerhaltung verwendet wird, überträgt YSWS Artikelbestände an plentymarkets standardmäßig auf Stellplatz 0.

 

Nachzulesen hier:
https://knowledge.plentymarkets.com/schnelleinstieg/schnelleinstieg-artikelkatalog
https://knowledge.plentymarkets.com/basics/arbeiten-mit-plentymarkets/tags#preamble

4. Ereignis-Setup

“Ereignisse” in Plenty können mit einer “Wenn-Dann-Funktion” verglichen werden, bei der eine Aktion einem Ereignis zugeordnet ist.
Diese sind notwendig, um zu gewährleisten dass beispielsweise eine versendete Bestellung automatisiert in den Status “Versendet” gesetzt und der Bestand somit korrekt ausgebucht wird.

Einrichtung->Aufträge->Ereignisse

Wählen Sie im unteren Bereich “Neues Ereignis” aus und anschließend “Neue Ereignis-Aktion erstellen”. Wählen Sie als Ereignis “Auftragsänderung->Paketnummer” aus und vergeben Sie einen beliebigen Namen, der später lediglich der besseren Zuordnung im System dient. Wenn sich dieses Ereignis ausschließlich auf Aufträge des YouSellWeSend-Lagers beziehen soll, definieren Sie bitte einen Filter Senderlager” und wählen das entsprechende Lager aus.

Nachdem ein Ereignis erstellt wurde, muss dieses einer Aktion zugeordnet werden.

Klicken Sie dafür auf “Aktion +” und wählen “Auftrag->Warenausgang buchen” aus.

Sobald eine Sendungsnummer im Auftrag hinterlegt ist, setzt plentymarkets den Status nun automatisch auf 7.0 und bucht einen Warenausgang.

 

Nachzulesen hier:
https://knowledge.plentymarkets.com/automatisierung/ereignisaktionen

5. Automatische Wahl des Lagers in Aufträgen

Wenn mehrere Läger in plentymarkets angelegt sind, ist eine Einstellung für die automatische Lagerauswahl in Aufträgen notwendig.   

Einrichtung->Aufträge->Einstellungen

Wir empfehlen die Einstellung b) in Abhängigkeit des Hauptlagers des Artikels, um das Lager anhand der Einstellung des Artikels zuzuordnen. Aufträge mit Artikeln, dessen Hauptlager das angelegte YSWS-Fulfillment-Lager ist, werden somit automatisch dem richtigen Lager zugeordnet, wodurch eine korrekte Reservierung und das Ausbuchen von Beständen gewährleistet ist.

 

 




Anbindung an plentymarkets

Die Rest-Schnittstelle von Plentymarkets kann über wemalo-connect angebunden werden. Im Folgenden werden die dazu notwendigen Schritte und Informationen aufgelistet, die für die Einrichtung benötigt werden.

Informationen, die YouSellWeSend bereitgestellt werden müssen

username – Backend-User mit entsprechenden Rechten (siehe Setup in plentymarkets)

password – Passwort zum entsprechenden User

URL – URL zum Backend-Shop

plentyID – Kann oben rechts neben dem Profilbild entnommen werden

warehouseID – ID des angelegten (YSWS-)Lagers

storageLocationID – ID des Standard-Lagerplatzes in plentymarkets

 

Wo sich diese Informationen finden lassen

Wie du plentymarkets für die Anbindung mit der YouSellWeSend-Software am besten einrichtest, kannst du hier nachlesen.

 

Status Definitionen

Der Prozess-Fortschritt einer Bestellung wird in plentymarkets nach Status gegliedert. Für die Synchronisation ist es notwendig, dass die entsprechenden Status in plentymarkets und wemalo übereinstimmend sind.

  1. Offene Aufträge
    Standardmäßig wird der Status 5 (Freigabe Versand) abgerufen. Es kann jedoch alternativ auch ein eigener Status definiert werden. Nach erfolgter Übermittlung des Auftrags an wemalo, wird der Status auf 5.1 (Abwicklung extern) gesetzt. Ab diesem Zeitpunkt (Status 5.1) werden im Auftrag gemachte Änderungen derzeit nicht zu wemalo übertragen.
  2. Fehlerhafte Aufträge
    Führen Aufträge aufgrund von fehlerhaften Eingaben o.ä. zu einer Fehlermeldung, werden diese durch einen entsprechenden Status gekennzeichnet:
    Sollten Adressdaten fehlerhaft sein, wird der Status 6.2 gesetzt.
    Bei nicht genügend Ware wird der Status 6.3 gesetzt.
  3. Stornierte Aufträge
    Standardmäßig werden stornierte Aufträge in plentymarkets in den Status 8.0 gesetzt. Nach erfolgreicher Übermittlung an unser System setzt wemalo den Status auf 8.8.
    Falls die entsprechende Bestellung noch nicht im Lager bearbeitet wurde, wird der Auftrag storniert und die bestellten Artikel wieder dem Bestand zugeführt. Sollte sich die Bestellung allerdings bereits in Bearbeitung befinden, ist eine Stornierung nicht mehr möglich. (Achtung: Status 8.8 wird derzeit trotzdem gesetzt…)
  4. Retournierte Aufträge
    Wemalo ist in der Lage, Retouren auf einem vom Kunden vordefinierten Feld zu übermitteln. Standardmäßig werden bei plentymarkets der Status 9.0 für Retouren verwendet. Aufgrund dessen empfehlen wir für Retouren, die über YouSellWeSend abgewickelt werden, den Status 9.0.1 zu verwenden um besser differenzieren zu können welche Plattform/Dienstleister die entsprechende Buchung getätigt hat.
  5. Versendete Aufträge
    Sobald YouSellWeSend einen Auftrag versandfertig bearbeitet hat, wird dieser in plentymarkets mit der Trackingnummer des Dienstleisters gekennzeichnet. Dabei wird sowohl die Trackingnummer als auch der Versanddienstleister übermittelt.
    Soll ein Warenausgang zudem über plentymarkets gesteuert werden, muss eine “Ereignis-Aktion” definiert werden (siehe 3.4)




weclapp

Die Rest-Schnittstelle von weclapp kann über wemalo-connect angebunden werden. Im Folgenden werden die dazu notwendigen Schritte und Informationen aufgelistet, die für die Einrichtung benötigt werden.

Mandant in wemalo anlegen 

Der Mandant wird in wemalo in gewohnter Weise angelegt. Für die weitere Einrichtungen des Mandanten in wemalo-connect müssen die Mandanten-ID und die Lager-ID bekannt sein.

User in wemalo-connect anlegen

Ein neuer Shop-User wird in wemalo-connect angelegt und mit dem zuvor angelegten Mandanten in wemalo anhand der Mandanten-ID verknüpft. Zusätzlich wird die Lager-ID hinterlegt.

Die Anlage eines REST-Keys ist notwendig!

weclapp-Schnittstelle einrichten

Die weclapp-Schnittstelle wird im Bereich „Generic REST Interfaces“ angelegt. Diese Interfaces benutzen die REST-Schnittstelle von wemalo, um mit dem Backend zu kommunizieren. Die Anlage eines Rest-Tokens ist allerdings nicht notwendig.

Durch Klick auf den Button „Neuer Eintrag“ kann eine neue Schnittstelle definiert werden. Nach Auswahl des Systems, kann über den Button „System-Template“ die Konfiguration des Systems geladen werden. Am Beispiel weclapp werden Key-Value-Paare für das Hinterlegen der benötigten Einstellungen (URL, Token, weclapp-ID etc.) geladen. Eine Übersicht der benötigten Einstellungen folgt im nächsten Unterkapitel.

Darüber hinaus können die wemalo-Instanz (zuvor durch Verlinkung von wemalo und der Mandanten-ID eingerichtet) und das Synchronisationsintervall gewählt werden.

Es muss über Einstellungen->Grundeinstellungen->Lager, ein Lager angelegt werden.
Sobald dies geschehen ist können sie über die Bearbeiten Funktion (Stift-Symbol) das Lager öffnen und die Warehouse-ID in der Browserleiste am ende sehen (entityId=XXXX).
Diese wird in den weclapp-Einstellungen benötigt.

 

weclapp-Einstellungen

Folgende Einstellungen müssen vom Kunden bereitgestellt werden:

  • Token: hier muss der Token aus dem weclapp Shop eingetragen werden, (Meine Einstellungen->API Token) der erstellt werden muss.
  • url: die URL zur API Schnittstelle von weclapp. (Shop-URL/webapp/api/v1)
    Beispiel: https://<kunde>.weclapp.com/webapp/api/v1
  • (weclappId: 1)
  • (storageLocationId: 1)
  • warehouseId: die ID des Lagers in weclapp.

 

Folgende Einstellung werden von uns vorgenommen:

  • extendedLog: hier muss true eingetragen werden, um ein erweitertes Logging zu aktivieren.

 

Abos

Die folgenden Abos können aktiviert/deaktiviert werden:

  • serviceLoadProducts: laden von Produktstammdaten aus weclapp und Übermittlung an wemalo.
  • serviceLoadGoodsOrders: laden von WA-Aufträgen von weclapp und Übermittlung an wemalo.
  • servicePushPackages: zurückmelden von versendeten Paketen von wemalo an weclapp.
  • servicePushInventoryBookings: Übermittlung von Inventurbuchungen (Ein- und Ausbuchungen).
  • servicePushIncomingBookings: Übermittlung von Wareneingangsbuchungen
  • servicePushSentBookings: Übermittlung von Warenausgangsbuchungen.
  • servicePushReturnBookings: Übermittlung von Retourenbuchungen.

Produktstammdaten

Die Felder Gewichte in weclapp sind in Kilogramm (kg) anzugeben.
Die Produktmaße und Dimensionen sind in Meter (m) anzugeben.
Produktgruppen aus weclapp werden übernommen, ansonsten wird eine Standardgruppe in Wemalo definiert.

Anmerkungen

Folgende Tätigkeiten müssen manuell im weclapp erledigt werden um dort den Auftrag zum Abruf bereitstellen zu können.

Um eine Lieferung eines Auftrages erfolgreich zu erstellen, muss der Auftrag durch manuelles klicken bestätigt werden. Die Auftragsbestätigung im Status ORDER_CONFIRMATION_PRINTED kann der Kunde manuell oder über eine Massenaktion erstellen. Wenden Sie sich für Rückfragen bitte an den weclapp Support.

Die Versendung der Lieferung und die Erstellung der Rechnung muss auch hier durch ein manuelles klicken bestätigt werden. Der Bestand wird erst aktualisiert, wenn die Lieferung versendet wurde.

Die Retoure des Auftrages kann erst generiert werden, wenn die Lieferung versendet wurde.

Die Waren aus den Retouren kann man in das Lager zurückbuchen, indem man in weclapp unter dem Punkt Wareneingänge und Workflow “Alle Positionen ins Lager buchen” auswählt.

 




Buchungsgründe

Bei Berichten zur Buchungshistorie oder über die REST-API werden Buchungsgründe mit einer internen ID ausgegeben.

Die IDs umfassen:

  • 1: versendeter Artikel
  • 2: Reservierung aufgehoben
  • 3: Reserviert
  • 4: Wareneingang
  • 5: Retoure
  • 6: Umlagerung
  • 7: Gepackt
  • 8: Inventur Eingang
  • 9: Inventur Ausgang
  • 10: Inventur Umlagerung



Bestandsdaten in WooCommerce exportieren

Um Produktdaten samt Bestand zu exportieren, sind die nachfolgenden Schritte notwendig.

  • Im Menü über Produkte und dann über den Link oben „Exportieren“. (Befindet sich neben „Erstellen“ und „Importieren“.)
  • Spalten auswählen und Export von Metadaten markieren.
  • Auf den Button „CSV generieren“ klicken, um eine CSV-Datei als Download zu erhalten.

 

 




wemalo connect rest api

Die Dokumention zur Schnittstelle wemalo connect REST API befindet sich hier: connect-api.wemalo.com




Gebinde-Management über REST

Anlegen/bearbeiten von Gebinden: http://connect-api.wemalo.com/#api-Product-addUnit
Laden der verfügbaren Gebinde-Einheiten: http://connect-api.wemalo.com/#api-Product-getUnits

Außerdem: beim Anlegen eines WE-Auftrages kann in der Position die ID der Gebinde-Einheit eingetragen werden: http://connect-api.wemalo.com/#api-GoodsReceipt-addGoodsReceipt
Dort gibt es jetzt den Parameter „productUnitId“.

Beispiel:

Für ein Produkt wird eine Gebinde-Einheit „Vorteilspack 5 Stück“ angelegt. Diese Gebindeeinheit beinhaltet 5 Stück des besagten Produktes.
Bei der Übermittlung des Wareneinganges kann diese Gebinde-Einheit mit einer Stückzahl angegeben werden, z.B. 2 Stück.
In dem Fall erwartet wemalo 10 Stück des Produktes (2 mal das Gebinde mit 5 Stück => 2*5=10).




REST API workflow

Is using wemalos rest api, at least the following calls might be used for interacting with wemalo.

First of all, an account needs to be set up for you. You’ll get a rest api token that is being used for authorization. Please see header information: Authorization

Product master data

Orders




Trackingnummer E-Mail bei WooCommerce einfügen

Unser WooCommerce-Plugin schreibt die Trackingnummer in das Order-Feld tracking_number. Dabei kann es sein, dass ein Auftrag aus mehreren Paketen besteht und in dem Feld die Trackingnummern mit Komma getrennt erscheinen.

Zusätzlich wird in das Feld carrier eingetragen, mit welchem Versanddienstleister (z.B. DHL, DPD o.ä.) das Paket versendet worden ist.

Über das Template customer-completed-order.php kann die Vorlage beim E-Mail-Versand eingestellt werden. Über das Admin-Menü WooCommerce->Einstellungen->E-Mails kann die Vorlagendatei in das Template und darüber anschließend angepasst werden.

Die Trackingnummern könnten in der Datei z.B. oberhalb des Footers angezeigt werden, also direkt oberhalb von:

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );

Der folgende Code-Ausschnitt ließt die Trackingnummern aus und gibt sie als DHL-Link in der E-Mail wieder. Für den Produktionseinsatz müsste man an dieser Stelle zusätzlich noch den Carrier auslesen und je nach Carrier den Link entsprechend zusammenstellen.

$post_id = $order->ID;
echo "tracking number for $post_id ";
$tn = get_post_meta($post_id, "tracking_number");
if ($tn) {
 $numbers = explode(',', $tn[0]);
 if ($numbers) {
 foreach ($numbers as $code) {
 echo '<a href="https://nolp.dhl.de/nextt-online-public/de/search?piececode="'.$code.'>'.$code.'</a><br/>';
 }
 }
}

/**
 * @hooked WC_Emails::email_footer() Output the email footer
 */
do_action( 'woocommerce_email_footer', $email );