Webhooks

Webhooks dienen dazu außerhalb vom Shop bestimmte Aktionen zu versenden. Die Formate der gesendeten Daten entsprechenden den Objekten der REST API.

Webhook-Passwort

Sie können optional ein Webhook Passwort festlegen, welches im Header mit gesendet wird. Damit können Sie prüfen ob eingehende Request vom Shop kommen.
 

Verfügbare Webhooks

Bezeichnung Aktion Beschreibung
Kunde Erstellung sendet ein Customer Objekt bei Erstellung eines Kunden
Kunde Aktualisierung sendet ein Customer Objekt bei Änderung eines Kunden
Bestellung Erstellung sendet ein Orders Objekt bei Erstellung einer Bestellung
Bestellung Statuswechsel sendet ein Orders Objekt bei Änderung der Bestellstatusstufe
Produkt/Artikel Bestandsänderung sendet ein ProductsStock Objekt bei Änderung des Bestandes (kaufbaren Bestandes)
Newsletterempfänger Erstellung sendet ein NewsletterRecipients Objekt bei Erstellung einer Newsletteranmeldung
Die Daten werden als POST Daten versendet. Folgend finden Sie eine PHP Klasse die die Webhookdaten ausliest und zur Verfügung stellt:

 

Beispiel Webhookhandler Klasse (PHP)

//API Webhook-Handler class WebhookHandler{        private $post_data=array();    // Singleton Instance of the Class    private static $instance;        private function __construct()    {        $this->post_data = $this->cleanInputs(json_decode(file_get_contents("php://input"),true));            }        /**     *     * @return WebhookManager     */    public static function &getInstance()    {        if (! isset(self::$instance)) {            $c = __CLASS__;            self::$instance = new $c();        }        return self::$instance;    }        // Permitt cloning of the Object    public function __clone()    {        trigger_error('Clone for a Singleton is permitted.', E_USER_ERROR);    }            /**     *      * @return array     */    public function getPostData()    {        return $this->post_data;    }        private function cleanInputs($data) {        $clean_input = Array();        if (is_array($data)) {            foreach ($data as $k => $v) {                $clean_input[$k] = $this->cleanInputs($v);            }        } else {            $clean_input = trim(strip_tags($data));        }        return $clean_input;    }    }$data=WebhookHandler::getInstance()->getPostData();