TicketUserServices

<back to all web services

OutboundCampaignConversionsRequest

Requires Authentication
Required role:Admin
The following routes are available for this service:
POST/Outbound/Campaigns/{CampaignId}/Conversions
import 'package:servicestack/servicestack.dart';

class OutboundCampaignConversionsResult implements IConvertible
{
    int? campaignId;
    int? sentPeople;
    int? sentConverted;
    double? sentRate;
    int? holdoutPeople;
    int? holdoutConverted;
    double? holdoutRate;
    double? liftPoints;
    String? note;
    int? statusCode;
    String? message;

    OutboundCampaignConversionsResult({this.campaignId,this.sentPeople,this.sentConverted,this.sentRate,this.holdoutPeople,this.holdoutConverted,this.holdoutRate,this.liftPoints,this.note,this.statusCode,this.message});
    OutboundCampaignConversionsResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        campaignId = json['campaignId'];
        sentPeople = json['sentPeople'];
        sentConverted = json['sentConverted'];
        sentRate = JsonConverters.toDouble(json['sentRate']);
        holdoutPeople = json['holdoutPeople'];
        holdoutConverted = json['holdoutConverted'];
        holdoutRate = JsonConverters.toDouble(json['holdoutRate']);
        liftPoints = JsonConverters.toDouble(json['liftPoints']);
        note = json['note'];
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'campaignId': campaignId,
        'sentPeople': sentPeople,
        'sentConverted': sentConverted,
        'sentRate': sentRate,
        'holdoutPeople': holdoutPeople,
        'holdoutConverted': holdoutConverted,
        'holdoutRate': holdoutRate,
        'liftPoints': liftPoints,
        'note': note,
        'statusCode': statusCode,
        'message': message
    };

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

class OutboundCampaignConversionsRequest implements IConvertible
{
    int? campaignId;
    int? windowHours;

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

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

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

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'OutboundCampaignConversionsResult': TypeInfo(TypeOf.Class, create:() => OutboundCampaignConversionsResult()),
    'OutboundCampaignConversionsRequest': TypeInfo(TypeOf.Class, create:() => OutboundCampaignConversionsRequest()),
});

Dart OutboundCampaignConversionsRequest 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.

POST /Outbound/Campaigns/{CampaignId}/Conversions HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	campaignId: 0,
	windowHours: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	campaignId: 0,
	sentPeople: 0,
	sentConverted: 0,
	sentRate: 0,
	holdoutPeople: 0,
	holdoutConverted: 0,
	holdoutRate: 0,
	liftPoints: 0,
	note: String,
	statusCode: 0,
	message: String
}