POST | /api/PostServiceTicket |
---|
import 'package:servicestack/servicestack.dart';
// @DataContract
class BaseRequest implements IConvertible
{
/**
* This is your AIM API Key provided by Tri-Tech
*/
// @DataMember
// @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
String? ApiKey;
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
String? OAuthToken;
BaseRequest({this.ApiKey,this.OAuthToken});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
String? Token;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseSecureRequest({this.Token,this.DeviceId,this.AppId});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token,
'DeviceId': DeviceId,
'AppId': AppId
});
getTypeName() => "BaseSecureRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponseResult implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
String? StatusCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
String? Login;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
String? ErrorCode;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
String? ErrorDisplayText;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
String? ErrorMessage;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
String? DomainName;
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
String? IpAddress;
BaseResponseResult({this.StatusCode,this.Login,this.ErrorCode,this.ErrorDisplayText,this.ErrorMessage,this.DomainName,this.IpAddress});
BaseResponseResult.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StatusCode = json['StatusCode'];
Login = json['Login'];
ErrorCode = json['ErrorCode'];
ErrorDisplayText = json['ErrorDisplayText'];
ErrorMessage = json['ErrorMessage'];
DomainName = json['DomainName'];
IpAddress = json['IpAddress'];
return this;
}
Map<String, dynamic> toJson() => {
'StatusCode': StatusCode,
'Login': Login,
'ErrorCode': ErrorCode,
'ErrorDisplayText': ErrorDisplayText,
'ErrorMessage': ErrorMessage,
'DomainName': DomainName,
'IpAddress': IpAddress
};
getTypeName() => "BaseResponseResult";
TypeContext? context = _ctx;
}
// @DataContract
class BaseResponse implements IConvertible
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
BaseResponseResult? Status;
BaseResponse({this.Status});
BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Status = JsonConverters.fromJson(json['Status'],'BaseResponseResult',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Status': JsonConverters.toJson(Status,'BaseResponseResult',context!)
};
getTypeName() => "BaseResponse";
TypeContext? context = _ctx;
}
// @DataContract
class PostServiceTicketResponse extends BaseResponse implements IConvertible
{
// @DataMember
String? WebRef;
PostServiceTicketResponse({this.WebRef});
PostServiceTicketResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
WebRef = json['WebRef'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'WebRef': WebRef
});
getTypeName() => "PostServiceTicketResponse";
TypeContext? context = _ctx;
}
// @DataContract(Name="CustomerInfo")
class CustomerInfo implements IConvertible
{
/**
* The WebId of the customer. Optional.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The WebId of the customer. Optional.", Format="int32", IsRequired=true, Name="WebId", ParameterType="query")
int? WebId;
/**
* Name of the customer.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Name of the customer.", IsRequired=true, Name="Name", ParameterType="query")
String? Name;
/**
* Address line 1 of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Address line 1 of the customer", Name="Addr1", ParameterType="query")
String? Addr1;
/**
* Address line 2 of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Address line 2 of the customer", Name="Addr2", ParameterType="query")
String? Addr2;
/**
* City of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="City of the customer", Name="City", ParameterType="query")
String? City;
/**
* State/Province of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="State/Province of the customer", Name="St", ParameterType="query")
String? St;
/**
* Zip code of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Zip code of the customer", Name="Zip", ParameterType="query")
String? Zip;
/**
* Country of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Country of the customer", Name="Country", ParameterType="query")
String? Country;
/**
* Phone number of the customer
*/
// @DataMember
// @ApiMember(DataType="string", Description="Phone number of the customer", Name="Phone", ParameterType="query")
String? Phone;
/**
* Email address of the customer. Required.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Email address of the customer. Required.", IsRequired=true, Name="Email", ParameterType="query")
String? Email;
CustomerInfo({this.WebId,this.Name,this.Addr1,this.Addr2,this.City,this.St,this.Zip,this.Country,this.Phone,this.Email});
CustomerInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
WebId = json['WebId'];
Name = json['Name'];
Addr1 = json['Addr1'];
Addr2 = json['Addr2'];
City = json['City'];
St = json['St'];
Zip = json['Zip'];
Country = json['Country'];
Phone = json['Phone'];
Email = json['Email'];
return this;
}
Map<String, dynamic> toJson() => {
'WebId': WebId,
'Name': Name,
'Addr1': Addr1,
'Addr2': Addr2,
'City': City,
'St': St,
'Zip': Zip,
'Country': Country,
'Phone': Phone,
'Email': Email
};
getTypeName() => "CustomerInfo";
TypeContext? context = _ctx;
}
// @DataContract(Name="FormInput")
class FormInput implements IConvertible
{
/**
* Field Name of the Input Field
*/
// @DataMember
// @ApiMember(DataType="string", Description="Field Name of the Input Field", IsRequired=true, Name="Key", ParameterType="query")
String? Key;
/**
* Value of the Input Field.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Value of the Input Field.", IsRequired=true, Name="Value", ParameterType="query")
String? Value;
/**
* Whether or not the field is encryped with the C2B encryption key.
*/
// @DataMember
// @ApiMember(DataType="boolean", Description="Whether or not the field is encryped with the C2B encryption key.", IsRequired=true, Name="Encrypted", ParameterType="query")
bool? Encrypted;
FormInput({this.Key,this.Value,this.Encrypted});
FormInput.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Key = json['Key'];
Value = json['Value'];
Encrypted = json['Encrypted'];
return this;
}
Map<String, dynamic> toJson() => {
'Key': Key,
'Value': Value,
'Encrypted': Encrypted
};
getTypeName() => "FormInput";
TypeContext? context = _ctx;
}
// @DataContract(Name="CCInfo")
class CcInfo implements IConvertible
{
/**
* Token returned from processor
*/
// @DataMember
// @ApiMember(DataType="string", Description="Token returned from processor", IsRequired=true, Name="TokenStr", ParameterType="query")
String? TokenStr;
/**
* Card Type (VISA, MCARD, AMEX, DSCVR)
*/
// @DataMember
// @ApiMember(DataType="string", Description="Card Type (VISA, MCARD, AMEX, DSCVR)", IsRequired=true, Name="CardType", ParameterType="query")
String? CardType;
/**
* Last four of the card
*/
// @DataMember
// @ApiMember(DataType="string", Description="Last four of the card", IsRequired=true, Name="LastFour", ParameterType="query")
String? LastFour;
/**
* Expiration Date of the Card. (MM/YY)
*/
// @DataMember
// @ApiMember(DataType="string", Description="Expiration Date of the Card. (MM/YY)", Name="Expiration", ParameterType="query")
String? Expiration;
/**
* Reason the card is on file.
*/
// @DataMember
// @ApiMember(DataType="string", Description="Reason the card is on file.", Name="ReasonOnFile", ParameterType="query")
String? ReasonOnFile;
/**
* ID of the existing Token Record in AIM, if applicable
*/
// @DataMember
// @ApiMember(DataType="integer", Description="ID of the existing Token Record in AIM, if applicable", Format="int64", Name="TokenPk", ParameterType="query")
int? TokenPk;
/**
* Is this the customer's primary card? Defaults to false.
*/
// @DataMember
// @ApiMember(DataType="boolean", Description="Is this the customer's primary card? Defaults to false.", Name="Primary", ParameterType="query")
bool? Primary;
CcInfo({this.TokenStr,this.CardType,this.LastFour,this.Expiration,this.ReasonOnFile,this.TokenPk,this.Primary});
CcInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
TokenStr = json['TokenStr'];
CardType = json['CardType'];
LastFour = json['LastFour'];
Expiration = json['Expiration'];
ReasonOnFile = json['ReasonOnFile'];
TokenPk = json['TokenPk'];
Primary = json['Primary'];
return this;
}
Map<String, dynamic> toJson() => {
'TokenStr': TokenStr,
'CardType': CardType,
'LastFour': LastFour,
'Expiration': Expiration,
'ReasonOnFile': ReasonOnFile,
'TokenPk': TokenPk,
'Primary': Primary
};
getTypeName() => "CcInfo";
TypeContext? context = _ctx;
}
/**
* PostServiceTicketRequires active-e Service Tickets Service
*/
// @DataContract
class PostServiceTicketRequest extends BaseSecureRequest implements IConvertible
{
/**
* Online reference number of this appointment
*/
// @DataMember
// @ApiMember(DataType="string", Description="Online reference number of this appointment", Name="RefNumber", ParameterType="query")
String? RefNumber;
/**
* Serial number of the item to be serviced
*/
// @DataMember
// @ApiMember(DataType="string", Description="Serial number of the item to be serviced", Name="SerialNumber", ParameterType="query")
String? SerialNumber;
/**
* The AIM customer account # of the customer. Optional.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The AIM customer account # of the customer. Optional.", Format="int32", Name="CustomerAcct", ParameterType="query")
int? CustomerAcct;
/**
* Customer Information
*/
// @DataMember
// @ApiMember(DataType="object", Description="Customer Information", Name="CustomerInfo", ParameterType="query")
CustomerInfo? CustomerInfo;
/**
* Additional Customer or Appointment info
*/
// @DataMember
// @ApiMember(DataType="array", Description="Additional Customer or Appointment info", Name="FormInputList", ParameterType="query")
List<FormInput>? FormInputList;
/**
* Credit Card info of the customer for this appointment
*/
// @DataMember
// @ApiMember(DataType="object", Description="Credit Card info of the customer for this appointment", Name="CcInfo", ParameterType="query")
CcInfo? CcInfo;
/**
* Notes on this appointment
*/
// @DataMember
// @ApiMember(DataType="string", Description="Notes on this appointment", Name="Notes", ParameterType="query")
String? Notes;
// @DataMember
String? VoiceRecording;
/**
* Description of the item to be serviced
*/
// @DataMember
// @ApiMember(DataType="string", Description="Description of the item to be serviced", Name="ItemDescription", ParameterType="query")
String? ItemDescription;
PostServiceTicketRequest({this.RefNumber,this.SerialNumber,this.CustomerAcct,this.CustomerInfo,this.FormInputList,this.CcInfo,this.Notes,this.VoiceRecording,this.ItemDescription});
PostServiceTicketRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
RefNumber = json['RefNumber'];
SerialNumber = json['SerialNumber'];
CustomerAcct = json['CustomerAcct'];
CustomerInfo = JsonConverters.fromJson(json['CustomerInfo'],'CustomerInfo',context!);
FormInputList = JsonConverters.fromJson(json['FormInputList'],'List<FormInput>',context!);
CcInfo = JsonConverters.fromJson(json['CcInfo'],'CcInfo',context!);
Notes = json['Notes'];
VoiceRecording = json['VoiceRecording'];
ItemDescription = json['ItemDescription'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'RefNumber': RefNumber,
'SerialNumber': SerialNumber,
'CustomerAcct': CustomerAcct,
'CustomerInfo': JsonConverters.toJson(CustomerInfo,'CustomerInfo',context!),
'FormInputList': JsonConverters.toJson(FormInputList,'List<FormInput>',context!),
'CcInfo': JsonConverters.toJson(CcInfo,'CcInfo',context!),
'Notes': Notes,
'VoiceRecording': VoiceRecording,
'ItemDescription': ItemDescription
});
getTypeName() => "PostServiceTicketRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'active_ewebservice.biz', types: <String, TypeInfo> {
'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()),
'BaseSecureRequest': TypeInfo(TypeOf.Class, create:() => BaseSecureRequest()),
'BaseResponseResult': TypeInfo(TypeOf.Class, create:() => BaseResponseResult()),
'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
'PostServiceTicketResponse': TypeInfo(TypeOf.Class, create:() => PostServiceTicketResponse()),
'CustomerInfo': TypeInfo(TypeOf.Class, create:() => CustomerInfo()),
'FormInput': TypeInfo(TypeOf.Class, create:() => FormInput()),
'CcInfo': TypeInfo(TypeOf.Class, create:() => CcInfo()),
'PostServiceTicketRequest': TypeInfo(TypeOf.Class, create:() => PostServiceTicketRequest()),
'List<FormInput>': TypeInfo(TypeOf.Class, create:() => <FormInput>[]),
});
Dart PostServiceTicketRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/PostServiceTicket HTTP/1.1
Host: active-ewebservice.biz
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"RefNumber":"String","SerialNumber":"String","CustomerAcct":0,"CustomerInfo":{"WebId":0,"Name":"String","Addr1":"String","Addr2":"String","City":"String","St":"String","Zip":"String","Country":"String","Phone":"String","Email":"String"},"FormInputList":[{"Key":"String","Value":"String","Encrypted":false}],"CcInfo":{"TokenStr":"String","CardType":"String","LastFour":"String","Expiration":"String","ReasonOnFile":"String","TokenPk":0,"Primary":false},"Notes":"String","VoiceRecording":"String","ItemDescription":"String","Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"WebRef":"String","Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}