DealSleek API · Marketing
PreviewEvaluate Campaign Goal
/api/v1/marketing/dispatchHeaders
AuthorizationstringRequiredAccess token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.
X-CQRS-ActionstringRequiredNames the command to run. Must be
EVALUATE_CAMPAIGN_GOALfor this endpoint.Content-TypestringRequiredAlways
application/json.X-Idempotency-KeystringOptionalA key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.
X-Correlation-IdstringOptionalYour own identifier for the request. Returned in the
x-correlation-idresponse header; generated when you leave it out.
Request body
campaign_iduuidRequiredNo description yet.
tenant_iduuidRequiredNo description yet.
clicksnumberOptionalNo description yet.
- Default
- 0
conversionsnumberOptionalNo description yet.
- Default
- 0
current_goal_statusenumOptionalDerived goal-tracking status for a campaign, recomputed on each metrics ingest by the goal patrol.
AchievedandMissedare terminal (sticky) — once hit, lumpy metric dips never downgrade them. This overlay is INDEPENDENT ofMarketingCampaignStatus: reaching the goal marks the goal Achieved but does NOT auto-complete the campaign (operator-driven).- Allowed values
- PENDING
- ON_TRACK
- AT_RISK
- ACHIEVED
- MISSED
- Default
- PENDING
- PENDING
- No target set, or no actuals yet — nothing to assess.
- ON_TRACK
- Actuals are keeping pace with the campaign window.
- AT_RISK
- Behind schedule — pace below the at-risk threshold.
- ACHIEVED
- Target met (terminal).
- MISSED
- Window closed without hitting target (terminal).
goal_kindenum or nullOptionalThe measure this campaign is judged by. Absent → nothing to track.
- Allowed values
- REVENUE
- LEADS
- MQLS
- SQLS
- CONVERSIONS
- PIPELINE
- ROAS
- IMPRESSIONS
- REACH
- CPM
- CLICKS
- SESSIONS
- CTR
- CPC
- ENGAGEMENT_RATE
- INTERACTIONS
- VIDEO_VIEWS
- CHURN_RATE
- LTV
- REPEAT_RATE
goal_target_valuenumber or nullOptionalNo description yet.
reachnumberOptionalNo description yet.
- Default
- 0
revenuenumberOptionalNo description yet.
- Default
- 0
scheduled_end_atdate-time or nullOptionalNo description yet.
spendnumberOptionalNo description yet.
- Default
- 0
started_atdate-time or nullOptionalCampaign window, for pacing / miss detection. Both optional.
Response
Status 202. The command was applied. The body reports the outcome and, where the command changes a record, that record's new state.
successbooleanRequiredtruewhen the command was applied.error_messagestringRequiredEmpty when the command was applied.
projected_stateobjectOptionalThe record as it stands after the command.
event_payloadobjectOptionalThe event the command recorded.
insightsarray of objectOptionalAdvisory notes about the result. Each has a
code, amessageand animpactnumber.
Errors
Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.
- 400
X-CQRS-Actionis missing or names a command this route does not accept. SendEVALUATE_CAMPAIGN_GOAL. - 400
DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types. - 401The access token is missing, expired or not valid.
- 401
L1_AUTHThe caller's role is belowmanageror the caller has no access to this record. - 403
L1_POLICYA business rule refused the command. The message names the rule. - 409
L1_IDEMPOTENCYA command with this idempotency key was already applied. - 409
CONFLICTThe command would duplicate a record that must be unique. - 500
L3_COMMITThe command was valid but could not be saved.