1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Anbindung POS System

Dieses Thema im Forum "WooCommerce" wurde erstellt von seitz90, 23. Januar 2020.

  1. seitz90

    seitz90 Member

    Registriert seit:
    23. Januar 2020
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo liebe Wordpress/WooCommerce Profis! :)

    ich hatte in meiner Vergangenheit noch nicht sehr viel mit Wordpress zu tun und steh gerade vor der Aufgabe einen Webshop an ein POS System anzubinden. Genauer gesagt sollte der Lagerbestand aus dem externen System kommen.

    Nun habe ich keine Möglichkeit gefunden mich direkt bei der Funktion einzuhaken, die den Lagerbestand eines Artikels holt und habe dann verschiedene Hooks benutzt. Aktuell bin ich so weit, dass die Verfügbarkeit angezeigt wird, das Input-Feld zur Mengeneingabe mit der maximalen Menge begrenzt ist, Artikel ohne Verfügbarkeit ausgeblendet werden und dass keine Möglichkeit besteht mehr Artikel in den Warenkorb zu legen als auf Lager sind. Also das "gröbste" ist somit erledigt.
    Nun gibts aber diese Meldungen "Artikel wurde erfolgreich in den Warenkorb gelegt" oder "Warenkorb wurde aktualisiert" - diese Erfolgsmeldungen erscheinen immer, auch wenn ich die Aktion vorher abgebrochen habe und eine Exception oder eine Error-Notice erstelle - eh klar, ich steig ja nur per Hook ein. Das wäre jetzt auch konkret meine Frage, hat jemand schon mal sowas gemacht, wie seit ihr da vorgegangen, welche Hooks habt ihr benutzt und habt ihr das alles in den Griff bekommen?

    Ich benutze aktuell folgende Hooks:
    - woocommerce_get_stock_html -> Lagerbestand anzeigen
    - woocommerce_product_is_visible -> Prüfung ob Artikel angezeigt werden soll oder nicht
    - woocommerce_add_cart_item -> Prüfung ob neuer Artikel in den Warenkorb gelegt werden darf
    - woocommerce_after_cart_item_quantity_update -> Prüfung ob Menge des bestehenden Artikels im Warenkorb geändert werden darf
    - woocommerce_quantity_input_max -> Anpassen des max-Input Wertes im Mengenfeld
    - wc_add_to_cart_message_html -> Aktueller Versuch für das Messsage-Handling, finde aber nicht die richtigen Werte um richtig "rechnen" zu können.

    Ich würd mich sehr über hilfreiche Antworten freuen, gerne auch über Verbesserungsvorschläge ob die verwendeten Hooks richtig sind oder obs einfach viel einfacher gehen würde... Wie gesagt - noch keine Berührungspunkte mit WooCommerce bzw. Wordpress bislang ;)

    Vielen Dank schon mal fürs lesen bis hier her :)
     
  2. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    5.398
    Zustimmungen:
    189
    der Point of Sale (POS) sind bei mir Kassen. Meine Kassen haben nur eine Anbindung an das ERP System. Es reicht wenn jede Ladeneinheit, und damit jede Kasse in den Ladeneinheiten auf das ERP zugreifen kann. Dieses System pflegt die Warenwirtschaft.... Wareneingang, Lagerbestand, Bestellvorschlagswesen, Einkauf... usw. bei Abverkaufsware pflegt die Warenwirtschaft den Lagerbestand der Online Shops (Amazon Marktplatz & Co) .

    Bei mir ist es wichtig, dass die Kasse auf die Bestellungen zugreifen kann...

    Den Lagerbestand kann man in der Datenbank von mySQL einpflegen oder bequem über die WooCommcer API pflegen

    https://woocommerce.github.io/woocommerce-rest-api-docs/#update-a-product

    WooCommerce verfügt über eine Rest API.

    Durch die Bonpflicht in Deutschland ist WooCommerce als Kassensoftware am POS nicht mehr möglich...
     
  3. seitz90

    seitz90 Member

    Registriert seit:
    23. Januar 2020
    Beiträge:
    5
    Zustimmungen:
    0
    Danke für deine Antwort, das hilft mir jetzt aber auch nicht weiter.

    Das POS ist auch in dem Fall eine Kasse. Dort werden aber auch die Produkte verwaltet und auch der Lagerbestand. Details dazu habe ich nicht, das System hat aber auch eine REST API. Dass WooCommerce auch eine REST API hat, ist mir bekannt, hilft mir aber an der Stelle nicht, da ich den Lagerbestand live haben möchte, daher müsste ich ja von WP aus die REST API des POS ansprechen - funktioniert auch wunderbar.

    WooCommerce wird hier nicht als Kassensoftware benutzt.

    Ich bräuchte eig. nur noch konkret die Logik, dass die Erfolgsmeldung "Warenkorb wurde aktualisiert" und "Artikel wurde in den Warenkorb gelegt" nicht angezeigt werden, wenn an anderer Stelle verhindert wurde, dass der Artikel hinzugefügt wird, weil keine Verfügbarkeit mehr da ist.
     
  4. r23

    r23 Well-Known Member

    Registriert seit:
    9. Dezember 2006
    Beiträge:
    5.398
    Zustimmungen:
    189
    Wenn du die ReST API verwendest, warum quälst du dich mit Hocks rum?

    // Hinweis "Artikel in den Warenkorb gelegt" entfernen
    add_filter( 'wc_add_to_cart_message_html', '__return_false' );

    WooCommerce kann den Lagerbestand selber pflegen. Dafür benötigt WooCommerce nur gepflegte Datensätze in der Datenbank...
     
  5. seitz90

    seitz90 Member

    Registriert seit:
    23. Januar 2020
    Beiträge:
    5
    Zustimmungen:
    0
    Wieso ich mich mit Hooks rumquäle? Na, wie soll ich denn sonst die API ansteuern?

    Bei dem Hook "wc_add_to_cart_message_html" bekomm ich leider die bereits errechneten Mengen im Warenkorb. An der Stelle kann ich nicht mehr prüfen ob die Artikel zum Warenkorb hinzugefügt werden konnten oder nicht - siehe oben.

    Ich weiß dass WooCommerce den Lagerbestand selber pflegen kann, aber mein Lagerbestand wird in einem anderen System verwaltet, deshalb möchte ich ja die Anbindung machen. Und um die Daten live zu haben, kann ich die Daten nicht stündlich synchronisieren um die Daten in die Datenbank zu bekommen. Oder übersehe ich da gerade eine Möglichkeit?
     
  6. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.718
    Zustimmungen:
    401
    @seitz90 Ich hatte vor langer Zeit einmal eine Anfrage für eine Abfrage der Lagerbestände in einem Zentrallager. Dort wurde ein Perlscript verwendet die Bestände auszulesen. Den Abruf kann man problemlos anpassen um auf eine externe API, eine URL, eine Datenbank oder was auch immer zuzugreifen. Eventuell hilft Dir der Ansatz weiter:

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
    #6 mensmaximus, 24. Januar 2020
    Zuletzt bearbeitet: 24. Januar 2020
  7. seitz90

    seitz90 Member

    Registriert seit:
    23. Januar 2020
    Beiträge:
    5
    Zustimmungen:
    0
    @mensmaximus super, vielen dank! mit dem hook gehts schon mal schöner als mit "woocommerce_get_stock_html".
    Leider kann ich dann immer noch mehr Artikel als verfügbar in den Warenkorb legen und bestellen.
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden