TicketUserServices

<back to all web services

CampaignConversionGetRequest

The following routes are available for this service:
GET/CampaignConversions/{CampaignId}
import 'package:servicestack/servicestack.dart';

class CampaignConversionSurfaceCount implements IConvertible
{
    String? key;
    int? people;
    int? count;
    double? amount;

    CampaignConversionSurfaceCount({this.key,this.people,this.count,this.amount});
    CampaignConversionSurfaceCount.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        key = json['key'];
        people = json['people'];
        count = json['count'];
        amount = JsonConverters.toDouble(json['amount']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'key': key,
        'people': people,
        'count': count,
        'amount': amount
    };

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

class CampaignConversionResult implements IConvertible
{
    String? runId;
    int? peopleMeasured;
    int? peopleConverted;
    double? totalAmount;
    List<CampaignConversionSurfaceCount>? bySurface;
    List<CampaignConversionSurfaceCount>? byChannel;
    int? headlineConversions;
    double? headlineAmount;
    int? medianHoursToConvert;
    List<String>? notes;
    int? statusCode;
    String? message;

    CampaignConversionResult({this.runId,this.peopleMeasured,this.peopleConverted,this.totalAmount,this.bySurface,this.byChannel,this.headlineConversions,this.headlineAmount,this.medianHoursToConvert,this.notes,this.statusCode,this.message});
    CampaignConversionResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        runId = json['runId'];
        peopleMeasured = json['peopleMeasured'];
        peopleConverted = json['peopleConverted'];
        totalAmount = JsonConverters.toDouble(json['totalAmount']);
        bySurface = JsonConverters.fromJson(json['bySurface'],'List<CampaignConversionSurfaceCount>',context!);
        byChannel = JsonConverters.fromJson(json['byChannel'],'List<CampaignConversionSurfaceCount>',context!);
        headlineConversions = json['headlineConversions'];
        headlineAmount = JsonConverters.toDouble(json['headlineAmount']);
        medianHoursToConvert = json['medianHoursToConvert'];
        notes = JsonConverters.fromJson(json['notes'],'List<String>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'runId': runId,
        'peopleMeasured': peopleMeasured,
        'peopleConverted': peopleConverted,
        'totalAmount': totalAmount,
        'bySurface': JsonConverters.toJson(bySurface,'List<CampaignConversionSurfaceCount>',context!),
        'byChannel': JsonConverters.toJson(byChannel,'List<CampaignConversionSurfaceCount>',context!),
        'headlineConversions': headlineConversions,
        'headlineAmount': headlineAmount,
        'medianHoursToConvert': medianHoursToConvert,
        'notes': JsonConverters.toJson(notes,'List<String>',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class CampaignConversionGetRequest implements IConvertible
{
    int? campaignId;
    String? runId;

    CampaignConversionGetRequest({this.campaignId,this.runId});
    CampaignConversionGetRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'CampaignConversionSurfaceCount': TypeInfo(TypeOf.Class, create:() => CampaignConversionSurfaceCount()),
    'CampaignConversionResult': TypeInfo(TypeOf.Class, create:() => CampaignConversionResult()),
    'List<CampaignConversionSurfaceCount>': TypeInfo(TypeOf.Class, create:() => <CampaignConversionSurfaceCount>[]),
    'CampaignConversionGetRequest': TypeInfo(TypeOf.Class, create:() => CampaignConversionGetRequest()),
});

Dart CampaignConversionGetRequest DTOs

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

HTTP + CSV

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

GET /CampaignConversions/{CampaignId} HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"runId":"String","peopleMeasured":0,"peopleConverted":0,"totalAmount":0,"bySurface":[{"key":"String","people":0,"count":0,"amount":0}],"byChannel":[{"key":"String","people":0,"count":0,"amount":0}],"headlineConversions":0,"headlineAmount":0,"medianHoursToConvert":0,"notes":["String"],"statusCode":0,"message":"String"}