| Requires any of the roles: | Client, Admin, Partner |
| GET | /campaign/responses/summary/{PublicAccessGuid} | Campaign Action Summary Responses |
|---|
import 'package:servicestack/servicestack.dart';
class CampaignActionInboxResponsesView implements IConvertible
{
// @DataMember(Order=1)
int? Id;
// @DataMember(Order=2)
String? PublicAccessGuid;
// @DataMember(Order=3)
int? CampaignActionsId;
// @DataMember(Order=4)
String? CampaignActionDescription;
// @DataMember(Order=5)
String? ActionType;
// @DataMember(Order=6)
int? TotalCampaignActionRequests;
// @DataMember(Order=7)
int? TotalInboxResponses;
// @DataMember(Order=8)
int? TotalUniqueResponses;
// @DataMember(Order=9)
double? ResponsePercent;
// @DataMember(Order=10)
String? CaPublicAccessGuid;
CampaignActionInboxResponsesView({this.Id,this.PublicAccessGuid,this.CampaignActionsId,this.CampaignActionDescription,this.ActionType,this.TotalCampaignActionRequests,this.TotalInboxResponses,this.TotalUniqueResponses,this.ResponsePercent,this.CaPublicAccessGuid});
CampaignActionInboxResponsesView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
PublicAccessGuid = json['PublicAccessGuid'];
CampaignActionsId = json['CampaignActionsId'];
CampaignActionDescription = json['CampaignActionDescription'];
ActionType = json['ActionType'];
TotalCampaignActionRequests = json['TotalCampaignActionRequests'];
TotalInboxResponses = json['TotalInboxResponses'];
TotalUniqueResponses = json['TotalUniqueResponses'];
ResponsePercent = JsonConverters.toDouble(json['ResponsePercent']);
CaPublicAccessGuid = json['CaPublicAccessGuid'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'PublicAccessGuid': PublicAccessGuid,
'CampaignActionsId': CampaignActionsId,
'CampaignActionDescription': CampaignActionDescription,
'ActionType': ActionType,
'TotalCampaignActionRequests': TotalCampaignActionRequests,
'TotalInboxResponses': TotalInboxResponses,
'TotalUniqueResponses': TotalUniqueResponses,
'ResponsePercent': ResponsePercent,
'CaPublicAccessGuid': CaPublicAccessGuid
};
getTypeName() => "CampaignActionInboxResponsesView";
TypeContext? context = _ctx;
}
class CampaignActionPaymentResponsesView implements IConvertible
{
// @DataMember(Order=1)
int? Id;
// @DataMember(Order=2)
String? PublicAccessGuid;
// @DataMember(Order=4)
int? CampaignActionsId;
// @DataMember(Order=5)
String? CampaignActionDescription;
// @DataMember(Order=6)
String? ActionType;
// @DataMember(Order=7)
int? TotalCampaignActionRequests;
// @DataMember(Order=8)
int? TotalPaymentResponses;
// @DataMember(Order=9)
double? TotalPaid;
// @DataMember(Order=10)
double? TotalOutstanding;
// @DataMember(Order=11)
String? CaPublicAccessGuid;
CampaignActionPaymentResponsesView({this.Id,this.PublicAccessGuid,this.CampaignActionsId,this.CampaignActionDescription,this.ActionType,this.TotalCampaignActionRequests,this.TotalPaymentResponses,this.TotalPaid,this.TotalOutstanding,this.CaPublicAccessGuid});
CampaignActionPaymentResponsesView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
PublicAccessGuid = json['PublicAccessGuid'];
CampaignActionsId = json['CampaignActionsId'];
CampaignActionDescription = json['CampaignActionDescription'];
ActionType = json['ActionType'];
TotalCampaignActionRequests = json['TotalCampaignActionRequests'];
TotalPaymentResponses = json['TotalPaymentResponses'];
TotalPaid = JsonConverters.toDouble(json['TotalPaid']);
TotalOutstanding = JsonConverters.toDouble(json['TotalOutstanding']);
CaPublicAccessGuid = json['CaPublicAccessGuid'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'PublicAccessGuid': PublicAccessGuid,
'CampaignActionsId': CampaignActionsId,
'CampaignActionDescription': CampaignActionDescription,
'ActionType': ActionType,
'TotalCampaignActionRequests': TotalCampaignActionRequests,
'TotalPaymentResponses': TotalPaymentResponses,
'TotalPaid': TotalPaid,
'TotalOutstanding': TotalOutstanding,
'CaPublicAccessGuid': CaPublicAccessGuid
};
getTypeName() => "CampaignActionPaymentResponsesView";
TypeContext? context = _ctx;
}
class CampaignCustomerVerificationsView implements IConvertible
{
// @DataMember(Order=1)
int? Id;
// @DataMember(Order=2)
String? PublicAccessGuid;
// @DataMember(Order=3)
String? Description;
// @DataMember(Order=4)
int? TotalVerifications;
CampaignCustomerVerificationsView({this.Id,this.PublicAccessGuid,this.Description,this.TotalVerifications});
CampaignCustomerVerificationsView.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
PublicAccessGuid = json['PublicAccessGuid'];
Description = json['Description'];
TotalVerifications = json['TotalVerifications'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'PublicAccessGuid': PublicAccessGuid,
'Description': Description,
'TotalVerifications': TotalVerifications
};
getTypeName() => "CampaignCustomerVerificationsView";
TypeContext? context = _ctx;
}
class CampaignActionSummaryResponses implements IConvertible
{
List<CampaignActionInboxResponsesView>? campaignActionInboxResponses;
List<CampaignActionPaymentResponsesView>? campaignActionPaymentResponses;
List<CampaignCustomerVerificationsView>? campaignCustomerVerificationResponses;
ResponseStatus? ResponseStatus;
CampaignActionSummaryResponses({this.campaignActionInboxResponses,this.campaignActionPaymentResponses,this.campaignCustomerVerificationResponses,this.ResponseStatus});
CampaignActionSummaryResponses.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
campaignActionInboxResponses = JsonConverters.fromJson(json['campaignActionInboxResponses'],'List<CampaignActionInboxResponsesView>',context!);
campaignActionPaymentResponses = JsonConverters.fromJson(json['campaignActionPaymentResponses'],'List<CampaignActionPaymentResponsesView>',context!);
campaignCustomerVerificationResponses = JsonConverters.fromJson(json['campaignCustomerVerificationResponses'],'List<CampaignCustomerVerificationsView>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'campaignActionInboxResponses': JsonConverters.toJson(campaignActionInboxResponses,'List<CampaignActionInboxResponsesView>',context!),
'campaignActionPaymentResponses': JsonConverters.toJson(campaignActionPaymentResponses,'List<CampaignActionPaymentResponsesView>',context!),
'campaignCustomerVerificationResponses': JsonConverters.toJson(campaignCustomerVerificationResponses,'List<CampaignCustomerVerificationsView>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "CampaignActionSummaryResponses";
TypeContext? context = _ctx;
}
class CampaignActionSummaryRequest implements IConvertible
{
// @DataMember(Order=1)
// @Validate(Validator="NotNull")
String? PublicAccessGuid;
CampaignActionSummaryRequest({this.PublicAccessGuid});
CampaignActionSummaryRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PublicAccessGuid = json['PublicAccessGuid'];
return this;
}
Map<String, dynamic> toJson() => {
'PublicAccessGuid': PublicAccessGuid
};
getTypeName() => "CampaignActionSummaryRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'duengageapi.uat.scadsoftware.com', types: <String, TypeInfo> {
'CampaignActionInboxResponsesView': TypeInfo(TypeOf.Class, create:() => CampaignActionInboxResponsesView()),
'CampaignActionPaymentResponsesView': TypeInfo(TypeOf.Class, create:() => CampaignActionPaymentResponsesView()),
'CampaignCustomerVerificationsView': TypeInfo(TypeOf.Class, create:() => CampaignCustomerVerificationsView()),
'CampaignActionSummaryResponses': TypeInfo(TypeOf.Class, create:() => CampaignActionSummaryResponses()),
'List<CampaignActionInboxResponsesView>': TypeInfo(TypeOf.Class, create:() => <CampaignActionInboxResponsesView>[]),
'List<CampaignActionPaymentResponsesView>': TypeInfo(TypeOf.Class, create:() => <CampaignActionPaymentResponsesView>[]),
'List<CampaignCustomerVerificationsView>': TypeInfo(TypeOf.Class, create:() => <CampaignCustomerVerificationsView>[]),
'CampaignActionSummaryRequest': TypeInfo(TypeOf.Class, create:() => CampaignActionSummaryRequest()),
});
Dart CampaignActionSummaryRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /campaign/responses/summary/{PublicAccessGuid} HTTP/1.1
Host: duengageapi.uat.scadsoftware.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
campaignActionInboxResponses:
[
{
Id: 0,
PublicAccessGuid: 00000000000000000000000000000000,
CampaignActionsId: 0,
CampaignActionDescription: String,
ActionType: String,
TotalCampaignActionRequests: 0,
TotalInboxResponses: 0,
TotalUniqueResponses: 0,
ResponsePercent: 0,
CaPublicAccessGuid: 00000000000000000000000000000000
}
],
campaignActionPaymentResponses:
[
{
Id: 0,
PublicAccessGuid: 00000000000000000000000000000000,
CampaignActionsId: 0,
CampaignActionDescription: String,
ActionType: String,
TotalCampaignActionRequests: 0,
TotalPaymentResponses: 0,
TotalPaid: 0,
TotalOutstanding: 0,
CaPublicAccessGuid: 00000000000000000000000000000000
}
],
campaignCustomerVerificationResponses:
[
{
Id: 0,
PublicAccessGuid: 00000000000000000000000000000000,
Description: String,
TotalVerifications: 0
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}