post
https://production-api.shoutaboutus.com/api/v1/campaign/create
Create or advances a review-solicitation campaign through the 4-step setup wizard, branching on the step field. Step 1 updateOrCreates a draft campaign (owner = authenticated user, company_id = user's company). Step 2 toggles the SMS/Email channels (only when the store's active plan enables the matching solicitation feature). Step 3 stores the scheduling config; step 4 finalizes the campaign to scheduled and computes next_execution_time. Side effects: writes to rs_campaigns and campaign_channels (soft-delete/restore on channel toggles).
Auth
- Account — authentication, ACCOUNT-scope group.
store_idmust sit inside your own account tree (must belong to the caller's company); the campaign recordsuser_idand the caller'sperson.company_id.
Rate limit
- No rate limit.
Body
| Field | Type | Required | Notes |
|---|---|---|---|
store_id | integer | Required | an ownership check — must belong to the caller's company. |
step | integer | Required | Wizard step; one of 1,2,3,4. Controls which other fields are required. |
campaign_id | integer | Conditional | Nullable on step 1 (create-new); required on steps 2–4. Must be an existing campaign. |
name | string | Required (step 1) | max 255. |
channel_sms | boolean | Required (step 2) | required_without_all:channel_email. Creates/restores or soft-deletes the SMS channel (only applied when the plan enables review_solicitation_sms). |
channel_email | boolean | Required (step 2) | required_without_all:channel_sms. Creates/restores or soft-deletes the Email channel (only applied when the plan enables review_solicitation_email). |
per_day_request | integer | Required (step 3) | 1–50. |
request_frequency | integer | Required (step 3) | one of 0,1,2,3,4. |
delay_request | integer | Required (step 3) | 0–60 (days). |
request_after_time_pst | string | Optional (step 3) | H:i:s; defaults 14:00:00. |
send_immediately | boolean | Optional (step 3) | nullable. When true, step 4 sets next_execution_time to now. |
type | string | Optional (step 3) | one of bulk_upload, automation, kiosk. |
Behaviour
- 200 on every successful step. The response envelope carries
status,message,campaign_id, and the full re-loaded campaign underdata. - 400 (
badRequestResponse) for invalid state transitions: editing a non-draftcampaign on step 2. Missing solicitation feature on the plan; audience/automation not set up on steps 3–4; file still processing on step 4. - 404 when you supply
campaign_idon steps ≥2 but does not resolve. - 422 on validation failure.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
