Campaigns

Campaigns are automated sequences of messages sent to contacts to request reviews. Each campaign contains one or more steps, each tied to a message template.

The campaign model

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the campaign.

  • Name
    name
    Type
    string
    Description

    The name of the campaign.

  • Name
    description
    Type
    string
    Description

    An optional description of the campaign.

  • Name
    active
    Type
    boolean
    Description

    Whether the campaign is currently active.

  • Name
    minimum_star_rating
    Type
    integer
    Description

    Contacts are only routed to leave a public review if their rating meets this threshold.

  • Name
    feedback_title
    Type
    string
    Description

    Title shown on the feedback form for low-rated responses.

  • Name
    thank_you_title
    Type
    string
    Description

    Title shown on the thank-you page after submission.

  • Name
    thank_you_body
    Type
    string
    Description

    Body text shown on the thank-you page after submission.

  • Name
    review_routing_strategy
    Type
    string
    Description

    Strategy used to route contacts to review platforms (e.g. round_robin).

  • Name
    campaign_steps
    Type
    array
    Description

    Ordered list of steps in the campaign. See campaign steps.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the campaign was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the campaign was last updated.


GET/v1/campaigns

List all campaigns

Returns all campaigns for your account, ordered by most recently created.

Request

GET
/v1/campaigns
curl https://dashboard.reviewrover.co/api/v1/campaigns \
  -H "Authorization: Bearer {token}"

Response

{
  "campaigns": [
    {
      "id": "camp_Kd93lftgZXGRbxqoj",
      "name": "Post-Visit Follow-Up",
      "description": "Sent after a completed service visit",
      "active": true,
      "minimum_star_rating": 4,
      "review_routing_strategy": "round_robin",
      "campaign_steps": [],
      "created_at": "2025-02-17T02:00:34Z",
      "updated_at": "2025-02-17T02:00:34Z"
    }
  ]
}

POST/v1/campaigns

Create a campaign

Required attributes

  • Name
    name
    Type
    string
    Description

    The name of the campaign.

Optional attributes

  • Name
    description
    Type
    string
    Description

    A description of the campaign.

  • Name
    active
    Type
    boolean
    Description

    Whether the campaign is active. Defaults to false.

  • Name
    minimum_star_rating
    Type
    integer
    Description

    Minimum rating (1–5) to route to a public review. Defaults to 4.

  • Name
    feedback_title
    Type
    string
    Description

    Title shown on the feedback form.

  • Name
    thank_you_title
    Type
    string
    Description

    Title shown on the thank-you page.

  • Name
    thank_you_body
    Type
    string
    Description

    Body text on the thank-you page.

  • Name
    review_routing_strategy
    Type
    string
    Description

    Platform routing strategy. One of round_robin.

Request

POST
/v1/campaigns
curl https://dashboard.reviewrover.co/api/v1/campaigns \
  -H "Authorization: Bearer {token}" \
  -d name="Post-Visit Follow-Up" \
  -d active=true \
  -d minimum_star_rating=4

Response

{
  "id": "camp_Kd93lftgZXGRbxqoj",
  "name": "Post-Visit Follow-Up",
  "active": true,
  "minimum_star_rating": 4,
  "campaign_steps": [],
  "created_at": "2025-02-17T02:00:34Z",
  "updated_at": "2025-02-17T02:00:34Z"
}

GET/v1/campaigns/:id

Retrieve a campaign

Retrieve a campaign by its ID.

Request

GET
/v1/campaigns/camp_Kd93lftgZXGRbxqoj
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
  -H "Authorization: Bearer {token}"

Response

{
  "id": "camp_Kd93lftgZXGRbxqoj",
  "name": "Post-Visit Follow-Up",
  "active": true,
  "minimum_star_rating": 4,
  "campaign_steps": [],
  "created_at": "2025-02-17T02:00:34Z",
  "updated_at": "2025-02-17T02:00:34Z"
}

PUT/v1/campaigns/:id

Update a campaign

Optional attributes

  • Name
    name
    Type
    string
    Description
    The campaign name.
  • Name
    description
    Type
    string
    Description
    The campaign description.
  • Name
    active
    Type
    boolean
    Description
    Whether the campaign is active.
  • Name
    minimum_star_rating
    Type
    integer
    Description
    Minimum rating to route to a public review.

Request

PUT
/v1/campaigns/camp_Kd93lftgZXGRbxqoj
curl -X PUT https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
  -H "Authorization: Bearer {token}" \
  -d active=false

Response

{
  "id": "camp_Kd93lftgZXGRbxqoj",
  "name": "Post-Visit Follow-Up",
  "active": false,
  "updated_at": "2025-03-01T10:00:00Z"
}

DELETE/v1/campaigns/:id

Delete a campaign

Permanently deletes a campaign and all its steps.

Request

DELETE
/v1/campaigns/camp_Kd93lftgZXGRbxqoj
curl -X DELETE https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj \
  -H "Authorization: Bearer {token}"

Campaign Steps

Campaign steps are the individual messages within a campaign. Each step has a delay, an order, and a message template.

The campaign step model

  • Name
    id
    Type
    integer
    Description

    Unique identifier for the step.

  • Name
    campaign_id
    Type
    integer
    Description

    ID of the campaign this step belongs to.

  • Name
    order
    Type
    integer
    Description

    Position of this step in the campaign sequence.

  • Name
    delay_in_minutes
    Type
    integer
    Description

    Minutes to wait after the previous step (or enrollment) before sending.

  • Name
    active
    Type
    boolean
    Description

    Whether this step is active.

  • Name
    template
    Type
    object
    Description

    The message template for this step, including template_type (email or sms), subject, body, and call_to_action.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the step was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the step was last updated.


GET/v1/campaigns/:campaign_id/steps

List campaign steps

Returns all steps for a campaign in their ordered sequence.

Request

GET
/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps \
  -H "Authorization: Bearer {token}"

Response

{
  "campaign_steps": [
    {
      "id": 1,
      "order": 1,
      "delay_in_minutes": 1440,
      "active": true,
      "template": {
        "id": 10,
        "template_type": "email",
        "subject": "How was your visit?",
        "call_to_action": "Leave a Review"
      },
      "created_at": "2025-02-17T02:00:34Z",
      "updated_at": "2025-02-17T02:00:34Z"
    }
  ]
}

POST/v1/campaigns/:campaign_id/steps

Create a campaign step

Creates a new step and its associated message template.

Optional attributes

  • Name
    template_type
    Type
    string
    Description

    email or sms. Defaults to email.

  • Name
    subject
    Type
    string
    Description

    Email subject line (email steps only).

  • Name
    body
    Type
    string
    Description

    Message body.

  • Name
    call_to_action
    Type
    string
    Description

    Button text for the review link.

  • Name
    delay_in_minutes
    Type
    integer
    Description

    Minutes to wait before sending. Defaults to 0.

  • Name
    active
    Type
    boolean
    Description

    Whether the step is active. Defaults to true.

  • Name
    insert_after_order
    Type
    integer
    Description

    Insert the step after this position, shifting later steps up.

Request

POST
/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps
curl https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps \
  -H "Authorization: Bearer {token}" \
  -d template_type="email" \
  -d subject="How was your visit?" \
  -d delay_in_minutes=1440

Response

{
  "id": 1,
  "order": 1,
  "delay_in_minutes": 1440,
  "active": true,
  "template": {
    "id": 10,
    "template_type": "email",
    "subject": "How was your visit?",
    "body": "",
    "call_to_action": ""
  },
  "created_at": "2025-02-17T02:00:34Z",
  "updated_at": "2025-02-17T02:00:34Z"
}

PUT/v1/campaigns/:campaign_id/steps/:id

Update a campaign step

Optional attributes

  • Name
    order
    Type
    integer
    Description
    New position in the sequence.
  • Name
    delay_in_minutes
    Type
    integer
    Description
    Minutes to wait before sending.
  • Name
    active
    Type
    boolean
    Description
    Whether the step is active.

Request

PUT
/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1
curl -X PUT https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1 \
  -H "Authorization: Bearer {token}" \
  -d delay_in_minutes=2880

DELETE/v1/campaigns/:campaign_id/steps/:id

Delete a campaign step

Permanently deletes a campaign step.

Request

DELETE
/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1
curl -X DELETE https://dashboard.reviewrover.co/api/v1/campaigns/camp_Kd93lftgZXGRbxqoj/steps/1 \
  -H "Authorization: Bearer {token}"