Create or update an "A/B test" node of a Smart Campaign
1 min
POST
https://api.campaign.episerver.net/rest/{clientId}/smartcampaigns/{campaignId}/abtest
Path Parameters
- clientIdstringrequiredDescription
- campaignIdinteger<int64>requiredDescriptionFormatint64
Header Parameters
- acceptstringDescriptionDefaultapplication/jsonAllowedapplication/jsonapplication/vnd.optivo.broadmail.v1+json
Form Parameters
- optimization.scheduledAtstring<date-time>DescriptionFormatdate-time
- optimization.sto.enabledbooleanDescription
- optimization.sto.typestring<DAY | WEEK>DescriptionAllowedDAYWEEK
- optimization.sto.fallbackAtstring<date-time>DescriptionFormatdate-time
- optimization.sto.optimizationEndsAtstring<date-time>DescriptionFormatdate-time
- optimization.enabledbooleanDescription
- optimization.scheduledWithDelaystringExampleDescription
- optimization.scheduledManuallybooleanDescription
- optimization.modestring<bestOpenRate | bestUniqueClickRate | bestClickRate | lowestUniqueUnsubscribe | lowestBounceRate | byPostClickValue>DescriptionAllowedbestOpenRatebestUniqueClickRatebestClickRatelowestUniqueUnsubscribelowestBounceRatebyPostClickValue
- optimization.sto.periodstringExampleDescription
- predecessorNodeIdstringDescription
- successorNodeIdstringDescription
Responses
200
- RestSplitNode
- nodeIdstringDescription
- optimizationRestSplitOptimization
- enabledbooleanDescription
- modestring<bestOpenRate | bestUniqueClickRate | bestClickRate | lowestUniqueUnsubscribe | lowestBounceRate | byPostClickValue>DescriptionAllowedbestOpenRatebestUniqueClickRatebestClickRatelowestUniqueUnsubscribelowestBounceRatebyPostClickValue
- scheduledAtstring<date-time>DescriptionFormatdate-time
- stoRestPersonalizedScheduleDescription
- enabledbooleanDescription
- typestring<DAY | WEEK>DescriptionAllowedDAYWEEK
- fallbackAtstring<date-time>DescriptionFormatdate-time
- optimizationEndsAtstring<date-time>DescriptionFormatdate-time
- periodRestDelayDescription
- daysinteger<int32>Formatint32
- hoursinteger<int32>Formatint32
- minutesinteger<int32>Formatint32
- scheduledWithDelayRestDelayDescription
- daysinteger<int32>Formatint32
- hoursinteger<int32>Formatint32
- minutesinteger<int32>Formatint32
- scheduledManuallybooleanDescription
- successorsRestSplitSuccessor[]
- nodeIdstringDescription
- namestringDescription
- targetGroupFilter
- namestring
- relativenumber<float>DescriptionFormatfloat
- absoluteinteger<int32>DescriptionFormatint32
- linksobject[]
- uriBuilderobject
- relsstring[]
- relstring
- typestring
- paramsmap<string, string>
- titlestring
- uristring<uri>Formaturi
- linksobject[]Description
- uriBuilderobject
- relsstring[]
- relstring
- typestring
- paramsmap<string, string>
- titlestring
- uristring<uri>Formaturi
- gridLocationPointDescription
- xinteger<int32>Formatint32
- yinteger<int32>Formatint32
201
- RestSplitNode
- nodeIdstringDescription
- optimizationRestSplitOptimization
- enabledbooleanDescription
- modestring<bestOpenRate | bestUniqueClickRate | bestClickRate | lowestUniqueUnsubscribe | lowestBounceRate | byPostClickValue>DescriptionAllowedbestOpenRatebestUniqueClickRatebestClickRatelowestUniqueUnsubscribelowestBounceRatebyPostClickValue
- scheduledAtstring<date-time>DescriptionFormatdate-time
- stoRestPersonalizedScheduleDescription
- enabledbooleanDescription
- typestring<DAY | WEEK>DescriptionAllowedDAYWEEK
- fallbackAtstring<date-time>DescriptionFormatdate-time
- optimizationEndsAtstring<date-time>DescriptionFormatdate-time
- periodRestDelayDescription
- daysinteger<int32>Formatint32
- hoursinteger<int32>Formatint32
- minutesinteger<int32>Formatint32
- scheduledWithDelayRestDelayDescription
- daysinteger<int32>Formatint32
- hoursinteger<int32>Formatint32
- minutesinteger<int32>Formatint32
- scheduledManuallybooleanDescription
- successorsRestSplitSuccessor[]
- nodeIdstringDescription
- namestringDescription
- targetGroupFilter
- namestring
- relativenumber<float>DescriptionFormatfloat
- absoluteinteger<int32>DescriptionFormatint32
- linksobject[]
- uriBuilderobject
- relsstring[]
- relstring
- typestring
- paramsmap<string, string>
- titlestring
- uristring<uri>Formaturi
- linksobject[]Description
- uriBuilderobject
- relsstring[]
- relstring
- typestring
- paramsmap<string, string>
- titlestring
- uristring<uri>Formaturi
- gridLocationPointDescription
- xinteger<int32>Formatint32
- yinteger<int32>Formatint32
curl
curl --request POST \
--url https://api.campaign.episerver.net/rest/{clientId}/smartcampaigns/{campaignId}/abtest \
--header 'accept: application/json'javascript
var myHeaders = new Headers();
myHeaders.append("accept", "application/json");
myHeaders.append("content-type", "application/x-www-form-urlencoded");
var requestOptions = {
method: 'POST',
headers: myHeaders,
redirect: 'follow'
};
fetch("https://api.campaign.episerver.net/rest/{clientId}/smartcampaigns/{campaignId}/abtest", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));ruby
require "uri"
require "net/http"
url = URI("https://api.campaign.episerver.net/rest/{clientId}/smartcampaigns/{campaignId}/abtest")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["accept"] = "application/json"
request["content-type"] = "application/x-www-form-urlencoded"
response = https.request(request)
puts response.read_body
python
import requests
url = "https://api.campaign.episerver.net/rest/{clientId}/smartcampaigns/{campaignId}/abtest"
payload = {}
headers = {
'accept': 'application/json',
'content-type': 'application/x-www-form-urlencoded'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
200
// The "A/B test" node was updated successfully.
{
"nodeId": "",
"optimization": {
"enabled": false,
"mode": "",
"scheduledAt": "",
"sto": {
"enabled": false,
"type": "",
"fallbackAt": "",
"optimizationEndsAt": "",
"period": {
"days": "",
"hours": "",
"minutes": ""
}
},
"scheduledWithDelay": {
"days": "",
"hours": "",
"minutes": ""
},
"scheduledManually": false
},
"successors": [
{
"nodeId": "",
"name": "",
"targetGroup": {
"name": ""
},
"relative": "",
"absolute": "",
"links": [
{
"uriBuilder": {},
"rels": [
""
],
"rel": "",
"type": "",
"params": "",
"title": "",
"uri": ""
}
]
}
],
"links": [
{
"uriBuilder": {},
"rels": [
""
],
"rel": "",
"type": "",
"params": "",
"title": "",
"uri": ""
}
],
"gridLocation": {
"x": "",
"y": ""
}
}201
// The "A/B test" node was created successfully.
{
"nodeId": "",
"optimization": {
"enabled": false,
"mode": "",
"scheduledAt": "",
"sto": {
"enabled": false,
"type": "",
"fallbackAt": "",
"optimizationEndsAt": "",
"period": {
"days": "",
"hours": "",
"minutes": ""
}
},
"scheduledWithDelay": {
"days": "",
"hours": "",
"minutes": ""
},
"scheduledManually": false
},
"successors": [
{
"nodeId": "",
"name": "",
"targetGroup": {
"name": ""
},
"relative": "",
"absolute": "",
"links": [
{
"uriBuilder": {},
"rels": [
""
],
"rel": "",
"type": "",
"params": "",
"title": "",
"uri": ""
}
]
}
],
"links": [
{
"uriBuilder": {},
"rels": [
""
],
"rel": "",
"type": "",
"params": "",
"title": "",
"uri": ""
}
],
"gridLocation": {
"x": "",
"y": ""
}
}