Skip to main content

ManualSendingCampaignRead

An operator-created bulk send. The API only creates a queued artifact; a background worker snapshots the matching leads and schedules the messages, then updates stats.

idIdrequired

Unique numeric identifier of the record.

product_idProduct Idrequired

ID of the product (workspace) that owns this record. Most endpoints scope access by product.

created_by_user_id object

ID of the user who created the campaign.

anyOf
integer
nameNamerequired

Human-readable campaign name.

source objectrequired

The message content to send to each targeted lead.

text object
anyOf
string
prompt_id object
anyOf
integer
prompt_version_id object
anyOf
integer
prepared_message_id object
anyOf
integer
waba_template_id object
anyOf
integer
file_idsinteger[]
caption object
anyOf
string
filter_config objectrequired

The lead filter used to select recipients.

product_idProduct Idrequired

ID of the product (workspace) that owns this record. Most endpoints scope access by product.

id object

Match a single lead by id.

anyOf
integer
lead_idsinteger[]

Match a specific set of lead ids.

stage_idsinteger[]

Match leads in any of these stages.

name object

Match by lead name.

anyOf
string
crm_id object

Identifier of the matching record in the connected external CRM, if any.

anyOf
string
is_active object

Match by active flag.

anyOf
boolean
is_test object

Match by test flag.

anyOf
boolean
batch_name object

Match by import batch name.

anyOf
string
tag_idsinteger[]

Match leads having any of these tags.

contact object

Match by a contact value.

anyOf
string
crm_fields_conditions object

Composite CRM-field conditions (AND/OR with per-field operators).

anyOf
operatorCRMFieldsConditionsOperator

Possible values: [AND, OR]

Default value: AND
conditions object[]
  • Array [
  • fieldFieldrequired
    operatorCRMFieldConditionOperatorrequired

    Possible values: [EQUALS, NOT_EQUALS, IN, NOT_IN, STARTS_WITH, ENDS_WITH, CONTAINS, EXISTS, NOT_EXISTS, IS_EMPTY, IS_NOT_EMPTY]

    valueValue
  • ]
  • split object

    Whether to split long messages into parts.

    anyOf
    boolean
    planned_start_at object

    Defer the campaign start until this time (UTC). While unset/past the campaign starts on the next worker tick; until it starts it stays editable.

    anyOf
    date-time
    daily_limit object

    Maximum number of leads scheduled per day (product/agent timezone); null = no daily cap.

    anyOf
    integer
    activate_leadsActivate Leads

    When true, reactivate the lead and unmute its dialogue at send time instead of skipping muted/inactive ones.

    Default value: false
    activated_leads_grace_period_hoursActivated Leads Grace Period Hours

    Reply window, in hours, granted to reactivated leads after this campaign successfully schedules at least one message. During this window stale-lead expiry is suppressed. Set to 0 to reactivate without granting a grace window.

    Default value: 72
    daily_send_from object

    Local time of day (product/agent timezone) before which leads are not sent each day; null = from midnight.

    anyOf
    time
    daily_send_until object

    Local time of day (product/agent timezone) after which leads are not sent each day; null = until end of day.

    anyOf
    time
    next_eligible_at object

    Read-only. When a campaign is paused (daily limit spent or outside the send window), the time it next becomes eligible to advance (UTC); null otherwise.

    anyOf
    date-time
    statusManualSendingCampaignStatusrequired

    Lifecycle status — queued, running, completed, failed, or cancelled.

    Possible values: [queued, running, completed, failed, cancelled]

    error object

    Failure detail if the campaign failed.

    anyOf
    string
    started_at object

    When processing started (UTC).

    anyOf
    date-time
    finished_at object

    When processing finished (UTC).

    anyOf
    date-time
    created_atdate-timerequired

    Creation time (UTC, ISO 8601).

    updated_atdate-timerequired

    Last modification time (UTC, ISO 8601).

    stats object

    Aggregate counters for the campaign.

    target_leads_countTarget Leads Count

    Distinct leads snapshotted as targets (canonical campaign size).

    Default value: 0
    dialogues_with_responses_countDialogues With Responses Count

    Number of targeted dialogues that received a reply.

    Default value: 0
    messages_received_totalMessages Received Total

    Total inbound messages received in targeted dialogues.

    Default value: 0
    messages_created_totalMessages Created Total

    Total messages created by the campaign.

    Default value: 0
    messages_failed_totalMessages Failed Total

    Messages that failed to send.

    Default value: 0
    messages_scheduled_totalMessages Scheduled Total

    Messages scheduled but not yet sent.

    Default value: 0
    messages_cancelled_totalMessages Cancelled Total

    Messages cancelled before sending.

    Default value: 0
    messages_sent_totalMessages Sent Total

    Messages sent.

    Default value: 0
    messages_delivered_totalMessages Delivered Total

    Messages delivered.

    Default value: 0
    ManualSendingCampaignRead
    {
    "id": 0,
    "product_id": 0,
    "created_by_user_id": 0,
    "name": "string",
    "source": {
    "text": "string",
    "prompt_id": 0,
    "prompt_version_id": 0,
    "prepared_message_id": 0,
    "waba_template_id": 0,
    "file_ids": [
    0
    ],
    "caption": "string"
    },
    "filter_config": {
    "product_id": 0,
    "id": 0,
    "lead_ids": [
    0
    ],
    "stage_ids": [
    0
    ],
    "name": "string",
    "crm_id": "string",
    "is_active": true,
    "is_test": true,
    "batch_name": "string",
    "tag_ids": [
    0
    ],
    "contact": "string",
    "crm_fields_conditions": {
    "operator": "AND",
    "conditions": [
    {
    "field": "string",
    "operator": "EQUALS"
    }
    ]
    }
    },
    "split": true,
    "planned_start_at": "2024-07-29T15:51:28.071Z",
    "daily_limit": 0,
    "activate_leads": false,
    "activated_leads_grace_period_hours": 72,
    "daily_send_from": "string",
    "daily_send_until": "string",
    "next_eligible_at": "2024-07-29T15:51:28.071Z",
    "status": "queued",
    "error": "string",
    "started_at": "2024-07-29T15:51:28.071Z",
    "finished_at": "2024-07-29T15:51:28.071Z",
    "created_at": "2024-07-29T15:51:28.071Z",
    "updated_at": "2024-07-29T15:51:28.071Z",
    "stats": {
    "target_leads_count": 0,
    "dialogues_with_responses_count": 0,
    "messages_received_total": 0,
    "messages_created_total": 0,
    "messages_failed_total": 0,
    "messages_scheduled_total": 0,
    "messages_cancelled_total": 0,
    "messages_sent_total": 0,
    "messages_delivered_total": 0
    }
    }