Update an email campaign
Request body which must comply to the following JSON Schema:
{
"type" : "object",
"properties" : {
"tag" : {
"type" : "string",
"description" : "Tag of the campaign",
"example" : "Newsletter"
},
"sender" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Sender Name from which the campaign emails are sent",
"example" : "Mary from MyShop"
},
"email" : {
"type" : "string",
"description" : "Sender email from which the campaign emails are sent",
"format" : "email",
"example" : "newsletter@myshop.com"
},
"id" : {
"type" : "integer",
"description" : "Select the sender for the campaign on the basis of sender id. **In order to select a sender with specific pool of IP’s, dedicated ip users shall pass id (instead of email)**.\n",
"format" : "int64",
"example" : 3
}
},
"description" : "Sender details including id or email and name (optional). Only one of either Sender's email or Sender's ID shall be passed in one request at a time. For example:\n**{\"name\":\"xyz\", \"email\":\"example@abc.com\"}**\n**{\"name\":\"xyz\", \"id\":123}**\n"
},
"name" : {
"type" : "string",
"description" : "Name of the campaign",
"example" : "Newsletter - May 2017"
},
"htmlContent" : {
"type" : "string",
"description" : "Body of the message (HTML version). If the campaign is designed using Drag & Drop editor via HTML content, then the design page will not have Drag & Drop editor access for that campaign. **REQUIRED if htmlUrl is empty**\n",
"example" : "<!DOCTYPE html> <html> <body> <h1>Confirm you email</h1> <p>Please confirm your email address by clicking on the link below</p> </body> </html>"
},
"htmlUrl" : {
"type" : "string",
"description" : "Url which contents the body of the email message. **REQUIRED if htmlContent is empty**\n",
"format" : "url",
"example" : "https://html.domain.com"
},
"scheduledAt" : {
"type" : "string",
"description" : "UTC date-time on which the campaign has to run (YYYY-MM-DDTHH:mm:ss.SSSZ).\n**Prefer to pass your timezone in date-time format for accurate result.**\nIf sendAtBestTime is set to true, your campaign will be sent according\nto the date passed (ignoring the time part).\n",
"example" : "2017-06-01T12:30:00+02:00"
},
"subject" : {
"type" : "string",
"description" : "Subject of the campaign",
"example" : "Discover the New Collection !"
},
"previewText" : {
"type" : "string",
"description" : "Preview text or preheader of the email campaign",
"example" : "Thanks for your order!"
},
"replyTo" : {
"type" : "string",
"description" : "Email on which campaign recipients will be able to reply to",
"format" : "email",
"example" : "support@myshop.com"
},
"toField" : {
"type" : "string",
"description" : "To personalize the **To** Field. If you want to include the first\nname and last name of your recipient, add **{FNAME} {LNAME}**. These contact\nattributes must already exist in your Brevo account. If input parameter\n**params** used please use **{{contact.FNAME}} {{contact.LNAME}}** for personalization\n",
"example" : "{FNAME} {LNAME}"
},
"recipients" : {
"type" : "object",
"properties" : {
"exclusionListIds" : {
"type" : "array",
"description" : "List ids which have to be excluded from a campaign",
"items" : {
"type" : "integer",
"format" : "int64",
"example" : 8
}
},
"listIds" : {
"type" : "array",
"description" : "Lists Ids to send the campaign to. **Campaign should only be updated with listIds if listIds were used to create it. REQUIRED if already not present in campaign and scheduledAt is not empty**\n",
"items" : {
"type" : "integer",
"format" : "int64",
"example" : 32
}
},
"segmentIds" : {
"type" : "array",
"description" : "**Mandatory if listIds are not used. Campaign should only be updated with segmentIds if segmentIds were used to create it.** Segment ids to send the campaign to.\n",
"items" : {
"type" : "integer",
"format" : "int64",
"example" : 23
}
}
},
"description" : "Segment ids and List ids to include/exclude from campaign"
},
"attachmentUrl" : {
"type" : "string",
"description" : "Absolute url of the attachment (no local file).\nExtension allowed:\n#### xlsx, xls, ods, docx, docm, doc, csv, pdf, txt, gif, jpg, jpeg, png, tif, tiff, rtf, bmp, cgm, css, shtml, html, htm, zip, xml, ppt, pptx, tar, ez, ics, mobi, msg, pub and eps'\n",
"format" : "url",
"example" : "https://attachment.domain.com"
},
"inlineImageActivation" : {
"type" : "boolean",
"description" : "Status of inline image. inlineImageActivation = false means image can’t be embedded, & inlineImageActivation = true means image can be embedded, in the email.\nYou cannot send a campaign of more than **4MB** with images embedded in the email. Campaigns with the images embedded in the email _must be sent to less than 5000 contacts_.\n",
"example" : true,
"default" : false
},
"mirrorActive" : {
"type" : "boolean",
"description" : "Status of mirror links in campaign. mirrorActive = false means mirror links are deactivated, & mirrorActive = true means mirror links are activated, in the campaign",
"example" : true
},
"recurring" : {
"type" : "boolean",
"description" : "**FOR TRIGGER ONLY !** Type of trigger campaign.recurring = false means contact can receive the same Trigger campaign only once, & recurring = true means contact can receive the same Trigger campaign several times\n",
"example" : false,
"default" : false
},
"footer" : {
"type" : "string",
"description" : "Footer of the email campaign",
"example" : "[DEFAULT_FOOTER]"
},
"header" : {
"type" : "string",
"description" : "Header of the email campaign",
"example" : "[DEFAULT_HEADER]"
},
"utmCampaign" : {
"type" : "string",
"description" : "Customize the utm_campaign value. If this field is empty, the campaign name will be used. Only alphanumeric characters and spaces are allowed",
"example" : "NL_05_2017"
},
"params" : {
"type" : "object",
"additionalProperties" : { },
"description" : "Pass the set of attributes to customize the type classic campaign. For example: **{\"FNAME\":\"Joe\", \"LNAME\":\"Doe\"}**. Only available if **type** is **classic**. It's considered only if campaign is in _New Template Language format_. The New Template Language is dependent on the values of **subject, htmlContent/htmlUrl, sender.name & toField**\n",
"example" : {
"FNAME" : "Joe",
"LNAME" : "Doe"
}
},
"sendAtBestTime" : {
"type" : "boolean",
"description" : "Set this to true if you want to send your campaign at best time.\nNote:- **if true, warmup ip will be disabled.**\n",
"example" : true
},
"abTesting" : {
"type" : "boolean",
"description" : "Status of A/B Test. abTesting = false means it is disabled & abTesting = true means it is enabled. **subjectA, subjectB, splitRule, winnerCriteria & winnerDelay** will be considered when abTesting is set to true.\nsubjectA & subjectB are mandatory together & subject if passed is ignored. **Can be set to true only if sendAtBestTime is false**.\nYou will be able to set up two subject lines for your campaign and send them to a random sample of your total recipients. Half of the test group will receive version A, and the other half will receive version B\n",
"example" : true,
"default" : false
},
"subjectA" : {
"type" : "string",
"description" : "Subject A of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n",
"example" : "Discover the New Collection!"
},
"subjectB" : {
"type" : "string",
"description" : "Subject B of the campaign. **Mandatory if abTesting = true**.\nsubjectA & subjectB should have unique value\n",
"example" : "Want to discover the New Collection?"
},
"splitRule" : {
"maximum" : 50.0,
"minimum" : 1,
"type" : "integer",
"description" : "Add the size of your test groups. **Mandatory if abTesting = true & 'recipients' is passed**. We'll send version A and B to a random sample of recipients, and then the winning version to everyone else\n",
"format" : "int64",
"example" : 50
},
"winnerCriteria" : {
"type" : "string",
"description" : "Choose the metrics that will determinate the winning version. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerCriteria` is ignored if passed\n",
"example" : "open",
"enum" : [ "open", "click" ]
},
"winnerDelay" : {
"maximum" : 168,
"minimum" : 1,
"type" : "integer",
"description" : "Choose the duration of the test in hours. Maximum is 7 days, pass 24*7 = 168 hours. The winning version will be sent at the end of the test. **Mandatory if _splitRule_ >= 1 and < 50**. If splitRule = 50, `winnerDelay` is ignored if passed\n",
"format" : "int64",
"example" : 50
},
"ipWarmupEnable" : {
"type" : "boolean",
"description" : "**Available for dedicated ip clients**. Set this to true if you wish to warm up your ip.\n",
"example" : true,
"default" : false
},
"initialQuota" : {
"type" : "integer",
"description" : "Set an initial quota greater than 1 for warming up your ip. We recommend you set a value of 3000.\n",
"format" : "int64",
"example" : 3000
},
"increaseRate" : {
"maximum" : 100.0,
"minimum" : 0,
"type" : "integer",
"description" : "Set a percentage increase rate for warming up your ip. We recommend you set the increase rate to 30% per day. If you want to send the same number of emails every day, set the daily increase value to 0%.\n",
"format" : "int64",
"example" : 70
},
"unsubscriptionPageId" : {
"type" : "string",
"description" : "Enter an unsubscription page id. The page id is a 24 digit alphanumeric id that can be found in the URL when editing the page.\n",
"example" : "62cbb7fabbe85021021aac52"
},
"updateFormId" : {
"type" : "string",
"description" : "**Mandatory if templateId is used containing the {{ update_profile }} tag**. Enter an update profile form id. The form id is a 24 digit alphanumeric id that can be found in the URL when editing the form.\n",
"example" : "6313436b9ad40e23b371d095"
}
}
}Specify how the response should be mapped to the table output. The following formats are available:
Raw Response: Returns the raw response in a single row with the following columns:
You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.
To use this node in KNIME, install the extension Brevo from the below update site following our NodePit Product and Node Installation Guide:
A zipped version of the software site can be downloaded here.
Deploy, schedule, execute, and monitor your KNIME workflows locally, in the cloud or on-premises – with our brand new NodePit Runner.
Try NodePit Runner!