Skip to content

Campaigns

The campaign node

Method Type Description
pk Int
id ID!
merchant UserNode
stores StoreNodeConnection!
storeGroups StoreGroupNodeConnection!
name String!
start DateTime!
end DateTime!
status CampaignStatus!
images CampaignImageNodeConnection!
offers OfferNodeConnection!
loyaltyCards LoyaltyCardNodeConnection!
activities ActivityNodeConnection
extraInfo JSONString
createdAt DateTime!
updatedAt DateTime!

Create a campaign

mutation (
  $name: String!
  $start: Date!
  $end: Date!
  $status: String
  $stores: [ID]
  $storeGroups: [ID]
  $images: [ImageInput]!
){
  createCampaign(
    input: {
      name: $name
      start: $start
      end: $end
      status: $status
      stores: $stores
      storeGroups: $storeGroups
      images: $images
    }
  ) {
    success
    errors
    campaign {
      pk
      id
    }
  }
}
{
    "name": "Summer campaign",
    "start": "2022-07-21",
    "end": "2022-07-30",
    "status": "SCHEDULED",
    "stores": [4, 5, 6]
}
{
    "data": {
        "createCampaign": {
            "success": true,
            "errors": null,
            "campaign": {
                "id": "U3RvcmVOb2RlOjEzMQ=="
            }
        }
    }
}

Update a campaign

mutation (
  $id: ID!
  $name: String
  $start: Date
  $end: Date
  $status: String
  $stores: [ID]
  $storeGroups: [ID]
  $images: [ImageInput]
){
  updateCampaign(
    input: {
      id: $id
      name: $name
      start: $start
      end: $end
      status: $status
      stores: $stores
      storeGroups: $storeGroups
      images: $images
    }
  ) {
    success
    errors
    campaign {
      pk
      id
    }
  }
}
{
    "name": "Editd - Summer campaign"
}
{
    "data": {
        "updateCampaign": {
            "success": true,
            "errors": null,
            "campaign": {
                "id": "U3RvcmVOb2RlOjEzMQ=="
            }
        }
    }
}

Delete a campaign

mutation (
  $id: ID!
){
  deleteCampaign(
    input: {
      id: $id
    }
  ) {
    success
    errors
  }
}
{
    "id": 5
}
{
    "data": {
        "deleteCampaign": {
            "success": true,
            "errors": null
        }
    }
}

List Campaigns

query {
    campaigns{
        edges {
            node {
                pk
                id
            }
        }
    }
}

Get a single campaign

query {
    campaign(id: "U3RvcmVOb2RlOjE5"){
        pk
        id
        name
    }
}