Appearance
Email Campaign
omnichannel.campaign · every change is kept in the audit log · numbered CMP-{YYYY}-{#####}
Fields
Every record also has id, created_at and updated_at.
| Field | Label | Type | Rules |
|---|---|---|---|
name | name | text | required; max 200 characters |
subject | subject | text | required; max 500 characters |
portal | portal | link → omnichannel.portal | |
template | template | link → omnichannel.template | |
from_email | from email | text | max 190 characters |
reply_to | reply to | text | max 190 characters |
body_html | body html | longtext | required |
custom_vars | custom vars | json | |
audience_file | audience file | file | |
email_column | email column | text | max 80 characters |
total_recipients | total recipients | number | default 0; min 0 |
rejected_recipients | rejected recipients | number | default 0; min 0 |
status | status | select | one of: Draft, Scheduled, Sending, Paused, Completed, Cancelled, Failed; default "Draft" |
track_opens | track opens | check | default true |
track_clicks | track clicks | check | default true |
include_unsubscribe | include unsubscribe | check | default true |
chunk_size | chunk size | number | default 100; min 1 |
scheduled_at | scheduled at | datetime | |
started_at | started at | datetime | |
paused_at | paused at | datetime | |
completed_at | completed at | datetime | |
cancelled_at | cancelled at | datetime | |
last_error | last error | text | max 1000 characters |
created_by | created by | link → core.user |
Permissions
| Role | Can |
|---|---|
omnichannel:admin | read, create, update, delete, import, export |
omnichannel:editor | read, create, update |
omnichannel:viewer | read |
API
http
GET /api/omnichannel/campaign?<field>=<value>&limit=100&offset=0
POST /api/omnichannel/campaign
GET /api/omnichannel/campaign/:id
PATCH /api/omnichannel/campaign/:id
DELETE /api/omnichannel/campaign/:idBulk import: GET /api/_import/omnichannel/campaign/template (CSV template), then POST /api/_import/omnichannel/campaign. See REST API.