<back to all web services

GetABTestVariations

The following routes are available for this service:
GET/RestApi/ab-testing/{id}/variations
import 'package:servicestack/servicestack.dart';

class GetABTestVariations implements IConvertible
{
    String? Id;

    GetABTestVariations({this.Id});
    GetABTestVariations.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id
    };

    getTypeName() => "GetABTestVariations";
    TypeContext? context = _ctx;
}

class ABTestVariationViewModel implements IConvertible
{
    String? VariatonId;
    String? VariationName;
    String? VariationLink;
    bool? IsWinner;
    int? Ordinal;

    ABTestVariationViewModel({this.VariatonId,this.VariationName,this.VariationLink,this.IsWinner,this.Ordinal});
    ABTestVariationViewModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        VariatonId = json['VariatonId'];
        VariationName = json['VariationName'];
        VariationLink = json['VariationLink'];
        IsWinner = json['IsWinner'];
        Ordinal = json['Ordinal'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'VariatonId': VariatonId,
        'VariationName': VariationName,
        'VariationLink': VariationLink,
        'IsWinner': IsWinner,
        'Ordinal': Ordinal
    };

    getTypeName() => "ABTestVariationViewModel";
    TypeContext? context = _ctx;
}

class ABTestVariationsViewModel implements IConvertible
{
    String? Id;
    String? PreviewLink;
    bool? IsPageSynced;
    List<ABTestVariationViewModel>? Variations;

    ABTestVariationsViewModel({this.Id,this.PreviewLink,this.IsPageSynced,this.Variations});
    ABTestVariationsViewModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        PreviewLink = json['PreviewLink'];
        IsPageSynced = json['IsPageSynced'];
        Variations = JsonConverters.fromJson(json['Variations'],'List<ABTestVariationViewModel>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'PreviewLink': PreviewLink,
        'IsPageSynced': IsPageSynced,
        'Variations': JsonConverters.toJson(Variations,'List<ABTestVariationViewModel>',context!)
    };

    getTypeName() => "ABTestVariationsViewModel";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'www.asg.com.au', types: <String, TypeInfo> {
    'GetABTestVariations': TypeInfo(TypeOf.Class, create:() => GetABTestVariations()),
    'ABTestVariationViewModel': TypeInfo(TypeOf.Class, create:() => ABTestVariationViewModel()),
    'ABTestVariationsViewModel': TypeInfo(TypeOf.Class, create:() => ABTestVariationsViewModel()),
    'List<ABTestVariationViewModel>': TypeInfo(TypeOf.Class, create:() => <ABTestVariationViewModel>[]),
});

Dart GetABTestVariations DTOs

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

HTTP + JSV

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

GET /RestApi/ab-testing/{id}/variations HTTP/1.1 
Host: www.asg.com.au 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	PreviewLink: String,
	IsPageSynced: False
}