<back to all web services

ABTestViewModel

The following routes are available for this service:
PUT/RestApi/ab-testing
import java.math.*
import java.util.*
import net.servicestack.client.*


open class ABTestViewModel
{
    var Id:UUID? = null
    var Title:String? = null
    var Description:String? = null
    var StartDate:Date? = null
    var StopDate:Date? = null
    var Page:UUID? = null
    var SiteId:UUID? = null
    var Culture:String? = null
    var Variations:ArrayList<VariationViewModel> = ArrayList<VariationViewModel>()
    var Goals:ArrayList<GoalViewModel> = ArrayList<GoalViewModel>()
    var ReportUrl:String? = null
    var LastModified:Date? = null
    var Status:ABTestStatus? = null
    var Owner:String? = null
    var WinnerVariationId:UUID? = null
    var SelectedVariationId:UUID? = null
    var PageNodeErrorMessage:String? = null
    var WarningMessage:String? = null
    var ApiKey:String? = null
    var UserSegmentId:UUID? = null
}

open class VariationViewModel
{
    var Id:UUID? = null
    var Name:String? = null
    var Distribution:Int? = null
    var IsOriginal:Boolean? = null
    var Ordinal:Int? = null
    var PageDataId:UUID? = null
    var IsWinner:Boolean? = null
}

open class GoalViewModel
{
    var Id:UUID? = null
    var GoalType:GoalType? = null
    var GoalNameResourceKey:String? = null
    var PredicateOperator:String? = null
    var ObjectId:String? = null
    var ObjectName:String? = null
    var ObjectCulture:String? = null
    var IsPrimary:Boolean? = null
    var Ordinal:Int? = null
}

enum class GoalType
{
    NextPageView,
    FormSubmission,
    DecConversion,
}

enum class ABTestStatus
{
    NotStarted,
    Scheduled,
    Active,
    Stopped,
    Ended,
}

Kotlin ABTestViewModel DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /RestApi/ab-testing HTTP/1.1 
Host: www.asg.com.au 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Title":"String","Description":"String","StartDate":"\/Date(-62135596800000)\/","StopDate":"\/Date(-62135596800000)\/","Culture":"String","ReportUrl":"String","LastModified":"\/Date(-62135596800000-0000)\/","Status":"NotStarted","Owner":"String","WinnerVariationId":"00000000-0000-0000-0000-000000000000","SelectedVariationId":"00000000-0000-0000-0000-000000000000","PageNodeErrorMessage":"String","WarningMessage":"String","ApiKey":"String","UserSegmentId":"00000000-0000-0000-0000-000000000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Title":"String","Description":"String","StartDate":"\/Date(-62135596800000)\/","StopDate":"\/Date(-62135596800000)\/","Culture":"String","ReportUrl":"String","LastModified":"\/Date(-62135596800000-0000)\/","Status":"NotStarted","Owner":"String","WinnerVariationId":"00000000-0000-0000-0000-000000000000","SelectedVariationId":"00000000-0000-0000-0000-000000000000","PageNodeErrorMessage":"String","WarningMessage":"String","ApiKey":"String","UserSegmentId":"00000000-0000-0000-0000-000000000000"}