+30.2152151245-8 abuse@cms39.com

Οι εξωτερικές υπηρεσίες (πληρωμές, courier, αποθήκες) στέλνουν ειδοποιήσεις στο https://site.gr/whook.php?provider=<όνομα>. Ο router τρέχει μόνο webhooks που έχουν δηλωθεί, και κάθε δήλωση πρέπει να ορίζει πώς ελέγχεται.

add_filter('cms39_webhooks', function (array $w) {
    $w['stock'] = [
        'verify'  => 'key', 'key' => getenv('STOCK_WEBHOOK_KEY'),   // ?key=… ή header X-Webhook-Key
        'methods' => ['POST'],
        'event'   => fn($req) => $req['json']['event_id'] ?? null,     // ίδιο event → μία εκτέλεση
    ];
    return $w;
});

function cms39_webhook_stock(array $req)
{
    foreach ($req['json']['items'] ?? [] as $item) {
        // ενημέρωση αποθέματος
    }
    return ['ok' => true];   // array → JSON
}

Έλεγχος

  • 'verify' => 'key': μυστικό κλειδί (τουλάχιστον 16 χαρακτήρες)
  • 'verify' => fn($req, $def) => …: υπογραφή / HMAC της υπηρεσίας
  • 'verify' => false: μόνο για ό,τι δεν αλλάζει δεδομένα
  • 'ips' => ['1.2.3.4']: επιπλέον όριο σε διευθύνσεις IP

Κάθε ειδοποίηση γράφεται στον πίνακα cms39_webhook_events και φαίνεται στο Settings → Webhooks log. Αν η υπηρεσία στείλει το ίδιο event ξανά, δεν εκτελείται δεύτερη φορά.

για περισσότερες πληροφορίες επικοινωνήστε μαζί μας
ΗΛΕΚΤΡΟΝΙΚΑ ή τηλεφωνικά στο +30.2152151245-8