Skip to content
View as Markdown
Enter your site to enable Send. Requests are sent from your browser, so the site must allow cross-origin calls (CORS).

POST Create Messaging Campaign​

POST
/messaging/campaigns

Create a campaign in draft status. title and message_content are required. message_content is passed through wp_kses, so only <a href title target> tags survive. The channel is taken from channel (sms or whatsapp; any other value or none falls back to sms) and cannot be changed afterwards. Counters and status come from model defaults; if settings is omitted it is initialised to a list/tag audience of everyone with sending_filter = list_tag. For a WhatsApp template campaign put template_id and template_variables inside settings. Fires fluent_crm/whatsapp_campaign_created or fluent_crm/sms_campaign_created. PRO — requires the FluentCampaign Pro Messaging module with at least one channel (SMS or WhatsApp) active.

Required capability: fcrm_read_emails or fcrm_manage_emails — which one applies depends on the action being performed.

Enforced by MessagePolicy::verifyRequest(), the policy default for this route group.

Requires: FluentCampaign Pro with the Messaging module enabled. While no messaging channel (SMS or WhatsApp) is switched on the route is not registered at all and returns a 404.

Authorizations​

ApplicationPasswords

WordPress Application Passwords — use Basic auth with your WordPress username and an application password in the format: username:application_password

Type
API Key (header: Authorization)

Request Body​

application/json
JSON
{
"title": "string",
"message_content": "string",
"channel": "sms",
"sender_number": "string",
"delay": 0,
"scheduled_at": "string",
"settings": {
"sending_filter": "string",
"sending_type": "string",
"is_transactional": "string",
"subscribers": [
{
"list": "string",
"tag": "string"
}
],
"excludedSubscribers": [
{
"list": "string",
"tag": "string"
}
],
"dynamic_segment": {
"id": "string",
"slug": "string"
},
"advanced_filters": [
[
]
],
"template_id": 0,
"template_variables": {
"additionalProperties": "string"
},
"one_time_audience": {
"active_batch_id": "string",
"accepted_count": 0,
"default_country": "string",
"consent_user_id": 0,
"consent_channel": "string",
"consent_confirmed": "string"
}
}
}

Responses​

Campaign created.

application/json
JSON
{
"campaign": {
"id": 0,
"parent_id": 0,
"type": "string",
"title": "string",
"slug": "string",
"status": "string",
"message_content": "string",
"sender_number": "string",
"recipients_count": 0,
"sent_count": 0,
"failed_count": 0,
"delay": 0,
"scheduled_at": "string",
"settings": {
"sending_filter": "string",
"sending_type": "string",
"is_transactional": "string",
"subscribers": [
{
"list": "string",
"tag": "string"
}
],
"excludedSubscribers": [
{
"list": "string",
"tag": "string"
}
],
"dynamic_segment": {
"id": "string",
"slug": "string"
},
"advanced_filters": [
[
]
],
"template_id": 0,
"template_variables": {
"additionalProperties": "string"
},
"one_time_audience": {
"active_batch_id": "string",
"accepted_count": 0,
"default_country": "string",
"consent_user_id": 0,
"consent_channel": "string",
"consent_confirmed": "string"
}
},
"channel": "string",
"created_by": 0,
"created_at": "string",
"updated_at": "string",
"next_step": "string",
"labels": [
{
"id": 0,
"slug": "string",
"title": "string",
"color": "string"
}
],
"server_time": "string"
},
"message": "string"
}

Playground​

Authorization
Body

Samples​

Powered by VitePress OpenAPI