# API Request zu einer externen API

**URL:** <https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027>\
**Category:** Programmierung\
**Created:** [11. Juli 2018 um 17:33 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027 "2018-07-11T17:33:11Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielmauer](https://avatars.discourse-cdn.com/v4/letter/d/bc8723/32.png) [@danielmauer](https://forum.shopware.com/u/danielmauer)\
**Post date:** [11. Juli 2018 um 17:33 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/1 "2018-07-11T17:33:11Z")

</div>

Hallo,

&nbsp;

ich habe eine kurze Frage. Ich habe ein Plugin geschrieben welches bei eine Tracking ID appended. Das funktioniert so weit auch alles ganz prima.&nbsp;  
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.&nbsp;

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.&nbsp;

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

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [11. Juli 2018 um 17:38 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/2 "2018-07-11T17:38:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![danielmauer](https://avatars.discourse-cdn.com/v4/letter/d/bc8723/32.png) [@danielmauer](https://forum.shopware.com/u/danielmauer)\
**Post date:** [11. Juli 2018 um 19:56 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/3 "2018-07-11T19:56:22Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [11. Juli 2018 um 21:06 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/4 "2018-07-11T21:06:55Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![simkli](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/simkli/32/13124_2.png) [@simkli](https://forum.shopware.com/u/simkli)\
**Post date:** [12. Juli 2018 um 04:10 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/5 "2018-07-12T04:10:25Z")

</div>

> den user per ajax die daten an die externe Api&nbsp;ü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](https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin%5C_policy)

Viele Grüße

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [12. Juli 2018 um 06:52 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/6 "2018-07-12T06:52:58Z")

</div>

…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](https://xyzapi.shop.com) und stellt die&nbsp;Request an die Externe Api über die Subdomain, welche die Daten weiterleiten an [http://xzyapi.com](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.

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [15. Juli 2018 um 11:44 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/7 "2018-07-15T11:44:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tinect](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/tinect/32/7704_2.png) [@tinect](https://forum.shopware.com/u/tinect)\
**Post date:** [15. Juli 2018 um 11:50 UTC](https://forum.shopware.com/t/api-request-zu-einer-externen-api/54027/8 "2018-07-15T11:50:01Z")

</div>

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.
