Skip to content

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.

FieldLabelTypeRules
namenametextrequired; max 200 characters
subjectsubjecttextrequired; max 500 characters
portalportallink → omnichannel.portal
templatetemplatelink → omnichannel.template
from_emailfrom emailtextmax 190 characters
reply_toreply totextmax 190 characters
body_htmlbody htmllongtextrequired
custom_varscustom varsjson
audience_fileaudience filefile
email_columnemail columntextmax 80 characters
total_recipientstotal recipientsnumberdefault 0; min 0
rejected_recipientsrejected recipientsnumberdefault 0; min 0
statusstatusselectone of: Draft, Scheduled, Sending, Paused, Completed, Cancelled, Failed; default "Draft"
track_openstrack openscheckdefault true
track_clickstrack clickscheckdefault true
include_unsubscribeinclude unsubscribecheckdefault true
chunk_sizechunk sizenumberdefault 100; min 1
scheduled_atscheduled atdatetime
started_atstarted atdatetime
paused_atpaused atdatetime
completed_atcompleted atdatetime
cancelled_atcancelled atdatetime
last_errorlast errortextmax 1000 characters
created_bycreated bylink → core.user

Permissions ​

RoleCan
omnichannel:adminread, create, update, delete, import, export
omnichannel:editorread, create, update
omnichannel:viewerread

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/:id

Bulk import: GET /api/_import/omnichannel/campaign/template (CSV template), then POST /api/_import/omnichannel/campaign. See REST API.

Edulab Bench developer documentation