Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.montereyfinancial.dev/llms.txt

Use this file to discover all available pages before exploring further.

When a campaign is sent, the API dispatches a Celery background task that orchestrates the entire delivery pipeline. This page explains the full flow.

Execution pipeline

1

Recipient resolution

The campaign’s configured MSSQL query runs against the legacy ERP database to fetch recipient records. Each record includes an email address and any merge field data needed for personalization.
2

Bounce suppression

Historical bounce records are checked against the recipient list. Any email address with a hard bounce is suppressed to protect sender reputation. Each suppression is logged with a reason.
3

Template sync

The campaign’s template (and any A/B variant templates) are synced to Campaigner via the CreativeSyncService, ensuring the latest content is available for delivery.
4

IFUR file generation

An IFUR (Individual Follow-Up Request) file is generated containing per-recipient merge data formatted for MegaSys automation.
5

MegaSys upload

The IFUR file is uploaded to MegaSys via Windows desktop automation, triggering the email send through Campaigner.
6

Run and log creation

A campaign run record is created along with individual recipient logs tracking the decision status (sent, suppressed, errored) for each recipient.

Campaign runs

Each send creates a campaign run that captures the execution metadata:
EndpointPurpose
GET /campaign-runs/List runs (filter by campaign or workspace)
GET /campaign-runs/{id}Get run details

Recipient logs

Recipient logs record the per-recipient send decision:
EndpointPurpose
GET /campaign-recipient-logs/List logs with filters for campaign, variant, run, decision status, suppression reason
GET /campaign-recipient-logs/{id}Get a single log entry
Decision statuses include sent, suppressed, and errored. Suppressed logs include a reason (e.g., hard_bounce, unsubscribed).

A/B testing

Campaigns can include multiple variants, each with its own template. The orchestrator splits recipients across variants according to the configured distribution and tracks performance per variant through engagement events.