Developer Guide

Webhook Events Reference

January 17, 2026 1 min read 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.

AcelleMail Team

Verified author
Email marketing experts · AcelleMail.com

Engineers and marketers behind AcelleMail — the self-hosted email platform powering thousands of senders. We share what we learn shipping deliverability infrastructure, automation, and analytics so you can own every step of your email program.

Related Articles

More in Developer Guide

View all →

Ready to start sending?

AcelleMail is the self-hosted email marketing platform you control end-to-end.

View Pricing