Browse the DealSleek API

DealSleek API · Marketing

Preview

Evaluate Campaign Goal

POST/api/v1/marketing/dispatch

Authorization

Minimum role
ManagerThe caller must hold this role or a higher one.
Action
EVALUATE_CAMPAIGN_GOAL

Headers

  • AuthorizationstringRequired

    Access token of the signed-in user, as a Bearer token. It identifies the user, their role and the workspace.

  • X-CQRS-ActionstringRequired

    Names the command to run. Must be EVALUATE_CAMPAIGN_GOAL for this endpoint.

  • Content-TypestringRequired

    Always application/json.

  • X-Idempotency-KeystringOptional

    A key you choose that is unique to this attempt. A command repeated with the same key is not applied a second time.

  • X-Correlation-IdstringOptional

    Your own identifier for the request. Returned in the x-correlation-id response header; generated when you leave it out.

Request body

  • campaign_iduuidRequired

    No description yet.

  • tenant_iduuidRequired

    No description yet.

  • clicksnumberOptional

    No description yet.

    Default
    0
  • conversionsnumberOptional

    No description yet.

    Default
    0
  • current_goal_statusenumOptional

    Derived goal-tracking status for a campaign, recomputed on each metrics ingest by the goal patrol. Achieved and Missed are terminal (sticky) — once hit, lumpy metric dips never downgrade them. This overlay is INDEPENDENT of MarketingCampaignStatus: 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 nullOptional

    The 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 nullOptional

    No description yet.

  • reachnumberOptional

    No description yet.

    Default
    0
  • revenuenumberOptional

    No description yet.

    Default
    0
  • scheduled_end_atdate-time or nullOptional

    No description yet.

  • spendnumberOptional

    No description yet.

    Default
    0
  • started_atdate-time or nullOptional

    Campaign 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.

  • successbooleanRequired

    true when the command was applied.

  • error_messagestringRequired

    Empty when the command was applied.

  • projected_stateobjectOptional

    The record as it stands after the command.

  • event_payloadobjectOptional

    The event the command recorded.

  • insightsarray of objectOptional

    Advisory notes about the result. Each has a code, a message and an impact number.

Errors

Every error carries an HTTP status. Where it also carries a code, branch on the code, not on the message.

  • 400X-CQRS-Action is missing or names a command this route does not accept. Send EVALUATE_CAMPAIGN_GOAL.
  • 400DOMAIN_ROUTINGThe body is not a valid command. Check the required fields and their types.
  • 401The access token is missing, expired or not valid.
  • 401L1_AUTHThe caller's role is below manager or the caller has no access to this record.
  • 403L1_POLICYA business rule refused the command. The message names the rule.
  • 409L1_IDEMPOTENCYA command with this idempotency key was already applied.
  • 409CONFLICTThe command would duplicate a record that must be unique.
  • 500L3_COMMITThe command was valid but could not be saved.
Generated from the API contract · revision 3f0c9f31a24e6a1b