For Developers

Build
plugins. Not
workarounds.

Senddera is a Laravel 11+ email marketing platform that ships with full unencrypted PHP source — and a typed Hook system that lets your plugins add sending drivers, automated behaviors, AI agents, or even REST APIs. Without ever touching core.

Real plugins shipping today
# SENDDERA/AURI # ATHENA/KVS # NEWCO/SURVEY-PORTAL # SENDDERA/CONSOLE
Code Screenshot
WHY DEVELOPERS CHOOSE SENDDERA

Built on the framework you already know. Extended through patterns you already use.

Open source PHP / Laravel

Full unencrypted PHP source ships with every license. Modify any class, override any service, fork into your own namespace — your code, your rules. Built on Laravel 11+ so the framework you already know is the heavy lifting.

$ app -> registered(' analytics_provider ', function($app) {

Plugin architecture

Drop a Composer-shaped folder under storage/app/plugins/{vendor}/{name} and the app autoloads it. ServiceProvider injects routes, views, migrations, hooks — activate, deactivate, delete cleanly.

$ php artisan plugin:list myvendor/loyalty

Token-auth REST API

CRUD endpoints for campaigns, lists, subscribers, templates, webhooks. Path-based versioning. Every plugin can expose its own API endpoints to the same API client users use — no second-class endpoints.

GET /api/v1/campaigns POST /api/v1/lists

Self-hosted on your infra

Your server, your DB, your subscriber data. No vendor lock-in. Pay once for the license; pay only the underlying SMTP cost (e.g. Amazon SES at $0.10/1k). Deploy anywhere PHP runs — bare metal, Kubernetes, Forge, Laravel Vapor. Scale however your stack scales.

- PHP 8.2+ - MySQL / MariaDB - Redis (optional)

WHAT YOU CAN BUILD WITH PLUGINS

14 extension surfaces.
Every one with a real production example.

A plugin is a self-contained Laravel package that lives on disk, has its own namespace, database tables, routes, views, controllers, and models — and integrates with core through a typed Hook system instead of include hacks.

Drivers & integrations · 4

  • Sending servers · REGISTRY

    register_sending_server_driver

    Add Amazon SES alternatives, Postal MTA, or custom SMTP backends as drop-in plugins.

  • Email verification · REGISTRY + FILTER

    Deliverability subsystems

    Swap verification providers or add list-hygiene workflows without touching core.

  • Payment gateways · REGISTRY

    Stripe, PayPal, Razorpay + custom

    Built-in gateways show the pattern — ship your own billing provider in a plugin folder.

  • AI / assistants · REGISTRY + EVENT

    senddera/auri — chatbox + observability

    LLM-powered coach personas, sparkle rewrite, and admin usage dashboards.

UI & pages · 5

  • Custom UI injection · REGISTRY

    layout.head.assets, layout.body.before_close, admin.sidebar.groups

  • Page slots · REGISTRY

    page.{controller}.{action}.{slot} — inject sidebars, banners, and widgets per screen.

  • Admin & customer routes · ROUTE

    Standard Laravel routes mounted under /plugins/{vendor}/{name}/

  • Plugin REST APIs · ROUTE

    Expose /api/v1/* endpoints with the same token auth external clients use.

Data & lifecycle · 5

  • Models + migrations · BEHAVIOR

    Vendor-prefixed tables isolated from core — migrate on activate, roll back on delete.

  • Translations · REGISTRY

    add_translation_file — ship 18+ locales from your plugin folder.

  • Domain events · EVENT

    customer_added, plan_changed, subscription_terminated — react in real time.

  • Behavior overrides · BEHAVIOR

    Hook::set / perform — replace import jobs or sending logic exclusively.

  • Filter chains · FILTER

    Hook::modify / filter — sidebar items, pre-send content, redirect URLs.

A single plugin can mix any of these surfaces — senddera/auri uses 7 of 14 in one package.

Drivers & Integrations

Extend how Senddera connects to the world. A driver-based architecture means you can add any third-party service without changing core files.

SMTP

Sending Drivers

Postmark, Mailgun, SES, or your own proprietary MTA tunnel.

PAY

Billing Providers

Stripe, Paddle, LemonSqueezy, or custom bank transfer verification.

CRM

Sync Adapters

Bi-directional sync with Salesforce, HubSpot, or internal ERPs.

UI & Pages

Inject your views directly into the admin dashboard. From simple buttons to entire reporting suites, the dashboard is your canvas.

SIDEBAR
TABS
WIDGETS
MODALS
THE HOOK SYSTEM

Four typed extension patterns.

Core never imports plugin code — it only declares extension points. Plugins listen and react. Conflicts throw immediately for exclusive behaviors.

1

REGISTRY — add() + collect()

Plugin contributes to a list — sending drivers, gateways, UI slots.

2

EVENT — on() + fire()

React when something happens — customer_added, campaign.sent.

3

BEHAVIOR — set() + perform()

Replace core logic exclusively — one plugin per behavior.

4

FILTER — modify() + filter()

Transform values through a chain — menus, content, URLs.

Hook system deep-dive →
$ app -> on('campaign.sending', function($campaign) {
  // Take logic action
  if ($campaign->total > 100000) {
      Log::high_volume($campaign);
  }
});

$ app -> mutate('email.body', function($body) {
  return str_replace('!!', '!', $body);
});

A working plugin from zero in eight commands.

Scaffold creates Composer metadata, ServiceProvider, model, migration, route, and view.

  1. 1Scaffoldphp artisan plugin:init myvendor/loyalty
  2. 2composer.jsonPSR-4 namespace + ServiceProvider
  3. 3MigrationVendor-prefixed table
  4. 4ModelEloquent in your namespace
  5. 5Controller + viewloyalty::dashboard
  6. 6Routes/plugins/myvendor/loyalty
  7. 7ServiceProvider::boot()views, routes, Hook::on
  8. 8ActivateAdmin → Plugins
{
  "name": "myvendor/loyalty",
  "description": "Award points on signup",
  "version": "1.0.0",
  "provider": "MyVendor\\Loyalty\\ServiceProvider"
}
THE LIFECYCLE

Four states. Predictable transitions. No mystery.

01

Register (inactive)

Early boot. Bind any services into the container.

02

Active

The app is ready. Listen for events or define filters.

03

Inactive (paused)

Run logic during request or CLI execution.

04

Deleted

Request finishes. Clean up or log metrics.

THE API

Built for high-volume integration.

Every action you can take in the dashboard is exposed via our REST API. No "internal only" endpoints. No missing features. Pure, programmatic power.

1
OAuth 2.0 Auth Flow
2
Rate limiting by tenant
3
Webhook signatures (EdDSA)
· Lists & subscribers· Campaigns & templates · Automations & triggers· Sending servers · Webhooks & events· Reports & tracking
Terminal — POST — /v1/send
$ curl -X POST https://api.senddera.com/v1/campaigns \
  -H "Authorization: Bearer sk_live_..." \
  -d '{
    "subject": "Welcome home",
    "recipients": "segment_active",
    "delivery": "instant"
  }'
Hooks
Lifecycle events.
Drivers
Service swaps.
Blocks
UI injection.
Rules
Validation gates.
Schemas
Custom fields.
Others
Infinite.

Documentation deep-dives

Eleven guides from Hello World to payment gateways — everything you need to ship a production plugin.

REAL PLUGIN SHOWCASE

senddera/auri — a full AI subsystem in one plugin folder.

Chatbox, sparkle rewrite, coach personas, and admin observability — zero core changes.

8

Models

12+

Migrations

60+

Templates

18

Locales

View showcase →

Your code, forever.

Unencrypted source

Full PHP on your server.

Lifetime updates

Free releases for life.

Your namespace

Isolated from Senddera core.

One-time license

$74 or $199 Extended.

Developer FAQ

Can I modify core without losing updates?

Use plugins — they survive upgrades. Core edits need manual merges.

Do plugins survive upgrades?

Yes. senddera/auri is tested each release.

Regular vs Extended license?

Regular ($74) is single end-product. Extended ($199) adds SaaS resale and commercial plugin distribution.

What PHP version is required?

PHP 8.2+ with Laravel 11. Composer, MySQL 8+, and queue workers recommended for production.

Where do plugins live?

storage/app/plugins/vendor/name — discovered at boot from plugin.json manifests.

REGISTRY vs BEHAVIOR vs FILTER?

REGISTRY adds items (tools, coaches). BEHAVIOR replaces a service (one winner). FILTER transforms data. EVENT fires on lifecycle moments.

Can plugins expose REST routes?

Yes — ROUTE hooks register namespaced endpoints with the same token auth as core API.

Plugin conflicts?

BEHAVIOR is exclusive — duplicate claims throw at boot so you catch conflicts early.

Is the REST API complete?

Lists, subscribers, campaigns, automations, sending servers, templates, webhooks, and reports — same surface as the admin UI.

Forum and support?

Community forum for integration questions; CodeCanyon item support for license holders.

Ship your first plugin this afternoon.

Extended License — $199 one-time for SaaS + plugin redistribution.

Technical guides in the Knowledge Base

Installation, API workflows, deliverability, and troubleshooting.