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
Du kannst optional ein Webhook Passwort festlegen. Ist ein Passwort gesetzt wird im Header eine Basic Authorization base64(username:password) gesendet. Der Username ist bei Webhooks apt-shop.
Damit kannst Du prüfen ob eingehende Request vom Shop kommen.
Hinweis: Bei Webhooks zu Bestellungen: Hier kannst Du über die REST APi eine eigene WebhookUrl und ein eigenes Webhookpasswort übergeben. Handelt sich um eine Dropshipper Bestellung wird als Username die DropshipperId gesendet.
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 |
| Bestellung | Löschung | sendet ein Orders Objekt bei Löschung der Bestellung |
| Newsletterempfänger | Erstellung | sendet ein NewsletterRecipients Objekt bei Erstellung einer Newsletteranmeldung |
Die Daten werden als POST Daten versendet. Folgend findest Du eine PHP Klasse die die Webhookdaten ausliest und zur Verfügung stellt:
Beispiel:
{ type:"customer", reason:"create", type:[Datenobject]}
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();Webhook-Logbuch
Im Logbuch siehst du alle Webhooks der letzten 30 Tage.
Du kannst Webhooks auch suchen. (z.B. Bestellnummer).
Du siehst den Status, sowie die Details zum Webhook!
Webhook erneut verwendet
Um einen oder mehrere Webhooks erneut zu versendet, suche oder wähle die entsprechende Seite.
Markiere die entsprechenden Webhooks mit der Checkbox und wähle unten in Stapelverarbeitung
erneut versenden aus. Beim erneuten Versenden hast Du die Möglichkeit die Webhook-URL anzupassen. Lasse den Eintrag leer, wenn der/die Webhooks an die gleiche Ziel URL gesendet werden sollen.