Hallo
Um einem externen System (einer der Warenwirtschaft vorgeschalteten Software) mitzuteilen daß eine neue Bestellung eingegangen ist, möchte ich ein PUSH-Modul bauen. Dieses soll bei abgeschlossener Bestellung einfach nur eine URL mit ein paar Parametern (oder einem JSON-Array) aufrufen.
Dazu habe ich mir gedacht ich könnte thankyou.php erweitern:
Wird das so funktionieren oder bin ich komplett falsch?
Danke.
Johannes
Um einem externen System (einer der Warenwirtschaft vorgeschalteten Software) mitzuteilen daß eine neue Bestellung eingegangen ist, möchte ich ein PUSH-Modul bauen. Dieses soll bei abgeschlossener Bestellung einfach nur eine URL mit ein paar Parametern (oder einem JSON-Array) aufrufen.
Dazu habe ich mir gedacht ich könnte thankyou.php erweitern:
Code:
<?php
class enzThank extends enzThank_parent{
public function init(){
[...]hier der Code der originalen init-Methode[...]
pushOrderToTheDing();
}
private function pushOrderToTheDing(){
$url = 'http://subdomain.domain.tld:PORT';
$fields = array('orderid' => $this->_oOrder->getOrderId(),
'oderdate' => $this->_oOrder->getOrderDate(),
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
}
}
?>
Danke.
Johannes