Developer Guide

Webhook Events Reference

October 03, 2025 1 min read 2,910 views Reference

Overview

AcelleMail fires webhooks to your URL when key events occur. Configure endpoints at Settings → Webhooks → Add.

Event Types

Event When it fires
subscriber.created New subscriber added to a list
subscriber.unsubscribed Subscriber opts out
subscriber.bounced Hard or soft bounce recorded
subscriber.complained Spam complaint received
campaign.sent Campaign delivery completed
campaign.opened First open tracked
campaign.clicked Link click recorded

Payload Example

All events share a common envelope:

{
  "event": "subscriber.created",
  "fired_at": "2026-03-15T10:23:00Z",
  "data": {
    "subscriber": {
      "uid": "sub_abc123",
      "email": "user@example.com",
      "first_name": "Jane",
      "status": "subscribed",
      "list_uid": "list_xyz"
    }
  }
}

Verifying Webhook Signatures

AcelleMail signs each webhook with HMAC-SHA256. Verify in PHP:

$secret = 'your_webhook_secret';
$signature = $_SERVER['HTTP_X_ACELLE_SIGNATURE'] ?? '';
$payload = file_get_contents('php://input');

$expected = hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit('Invalid signature');
}

Retry Logic

If your endpoint returns a non-2xx status, AcelleMail retries up to 5 times with exponential backoff (1 min, 5 min, 30 min, 2 hrs, 8 hrs). After 5 failures the webhook is marked inactive.

A

AcelleMail Team