danielmauerdanielmauer MitgliedKommentare: 13 Danke erhalten: 1 Mitglied seit: 10. Juli

Hallo,

 

ich habe eine kurze Frage. Ich habe ein Plugin geschrieben welches bei eine Tracking ID appended. Das funktioniert so weit auch alles ganz prima. 
Nun würde ich aber gerne noch beim Aufruf der "frontend/checkout/finish" einen API Post Request zu einer externen API machen um die Daten der Bestellung zu übergeben. 

Nun weis ich nicht wie ich am sinnvollsten an dieser Stelle meinen API Call mache.

Kann mir da evtl. jemand helfen oder Hilfestellung geben. Ich würde über den Controller meinen Curl Request aufbauen. Da ich mich aber nicht so gut mit Shopware auskenne frage ich lieber erst mal die Experten hier. 

Vielen Dank für eure Hilfe + beste Grüße
Daniel 

2 Antworten

  • brettvormkoppbrettvormkopp MitgliedKommentare: 1255 Danke erhalten: 268 Mitglied seit: März 2013

    Smarty Function in die finish.tpl einbauen und in dieser deinen PHP curl request.

    Zitieren
    Akzeptierte Antwort
  • brettvormkoppbrettvormkopp MitgliedKommentare: 1255 Danke erhalten: 268 Mitglied seit: März 2013

    ...und um es dann nicht so kommen zu lassen wie es simkli beschreibt, erstellt man sich zu seiner Shop-Domain eine Sub-Domain, z.B. https://xyzapi.shop.com und stellt die Request an die Externe Api über die Subdomain, welche die Daten weiterleiten an http://xzyapi.com . Ob man darüber auch requestbodys schicken kann oder nur /das/sind/meine/daten/urls, keine Ahnung, musste mal probieren. vll geht auch beides.

    Zitieren
    Akzeptierte Antwort
  • Akzeptierte Antworten

Antworten

  • brettvormkoppbrettvormkopp MitgliedKommentare: 1255 Danke erhalten: 268 Mitglied seit: März 2013

    Smarty Function in die finish.tpl einbauen und in dieser deinen PHP curl request.

    Zitieren
    Akzeptierte Antwort
  • danielmauerdanielmauer MitgliedKommentare: 13 Danke erhalten: 1 Mitglied seit: 10. Juli

    ganz normaler curl request oder gibt es von Shopware etwas eigenes?

  • brettvormkoppbrettvormkopp MitgliedKommentare: 1255 Danke erhalten: 268 Mitglied seit: März 2013

    genau, du kannst auch alternativ den user per ajax die daten an die externe Api übermitteln lassen wenn du kein Serverseitigen Api Request stellen willst.

  • simklisimkli MitgliedKommentare: 1237 Danke erhalten: 447 Mitglied seit: Februar 2014

    den user per ajax die daten an die externe Api übermitteln lassen wenn du kein Serverseitigen Api Request stellen willst.

    Das ist sicherheitstechnisch aber problematisch wegen der Same-Origin Policy: https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy

    Viele Grüße

  • brettvormkoppbrettvormkopp MitgliedKommentare: 1255 Danke erhalten: 268 Mitglied seit: März 2013

    ...und um es dann nicht so kommen zu lassen wie es simkli beschreibt, erstellt man sich zu seiner Shop-Domain eine Sub-Domain, z.B. https://xyzapi.shop.com und stellt die Request an die Externe Api über die Subdomain, welche die Daten weiterleiten an http://xzyapi.com . Ob man darüber auch requestbodys schicken kann oder nur /das/sind/meine/daten/urls, keine Ahnung, musste mal probieren. vll geht auch beides.

    Zitieren
    Akzeptierte Antwort
  • ShyimShyim MitgliedKommentare: 478 Danke erhalten: 206 bearbeitet 15. Juli Mitglied seit: Mai 2015

    Bitte nicht via Smarty ein curl aufruf machen. Smarty sollte nur zum rendern von Html benutzt werden und keine Logik enthalten.

    Subscribe dich z.B auf das Event wo die Mail versendet wird und mach dort dein Curl/Guzzle call. Davon abgesehen, würde bei der Smarty Lösung beim reload der call jedes mal abgefeuert werden

  • tinecttinect MitgliedKommentare: 5 Danke erhalten: 0 Mitglied seit: Mai 2015

    Warum es dem user in die hand geben, die bestellung zu exportieren? Mach dir nen cron, der die bestellungen exportiert. Aber nicht vergessen die stati der Bestellung zu ändern: beim start des exports und dann wenn es exportiert ist.

Anmelden oder Registrieren, um zu kommentieren.