POST | /api/CustomerOrders |
---|
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 CustomerOrdersResponse extends BaseResponse implements IConvertible
{
CustomerOrdersResponse();
CustomerOrdersResponse.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "CustomerOrdersResponse";
TypeContext? context = _ctx;
}
// @DataContract
class ThirdPartyOrderItem implements IConvertible
{
// @DataMember
String? ProductName;
// @DataMember
String? Sku;
// @DataMember
String? SerialNumber;
// @DataMember
String? WebNumber;
// @DataMember
String? Location;
// @DataMember
double? Qty;
// @DataMember
double? QtyPicked;
// @DataMember
bool? UseQtyPicked;
// @DataMember
double? Price;
// @DataMember
bool? OnApproval;
// @DataMember
bool? IsECard;
// @DataMember
int? NiCat;
// @DataMember
int? NiSub;
// @DataMember
int? ExtPk;
ThirdPartyOrderItem({this.ProductName,this.Sku,this.SerialNumber,this.WebNumber,this.Location,this.Qty,this.QtyPicked,this.UseQtyPicked,this.Price,this.OnApproval,this.IsECard,this.NiCat,this.NiSub,this.ExtPk});
ThirdPartyOrderItem.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProductName = json['ProductName'];
Sku = json['Sku'];
SerialNumber = json['SerialNumber'];
WebNumber = json['WebNumber'];
Location = json['Location'];
Qty = JsonConverters.toDouble(json['Qty']);
QtyPicked = JsonConverters.toDouble(json['QtyPicked']);
UseQtyPicked = json['UseQtyPicked'];
Price = JsonConverters.toDouble(json['Price']);
OnApproval = json['OnApproval'];
IsECard = json['IsECard'];
NiCat = json['NiCat'];
NiSub = json['NiSub'];
ExtPk = json['ExtPk'];
return this;
}
Map<String, dynamic> toJson() => {
'ProductName': ProductName,
'Sku': Sku,
'SerialNumber': SerialNumber,
'WebNumber': WebNumber,
'Location': Location,
'Qty': Qty,
'QtyPicked': QtyPicked,
'UseQtyPicked': UseQtyPicked,
'Price': Price,
'OnApproval': OnApproval,
'IsECard': IsECard,
'NiCat': NiCat,
'NiSub': NiSub,
'ExtPk': ExtPk
};
getTypeName() => "ThirdPartyOrderItem";
TypeContext? context = _ctx;
}
// @DataContract
class ThirdPartyOrder implements IConvertible
{
// @DataMember
String? OrderNumber;
// @DataMember
DateTime? OrderDate;
// @DataMember
String? TransactionState;
// @DataMember
String? PaymentMethod;
// @DataMember
String? OrderNotes;
// @DataMember
String? AuthorizationCode;
// @DataMember
String? ShippingMethod;
// @DataMember
double? Total;
// @DataMember
double? SubTotal;
// @DataMember
double? TaxTotal;
// @DataMember
double? ShippingTotal;
// @DataMember
String? CardType;
// @DataMember
String? CardToken;
// @DataMember
String? CardSpan;
// @DataMember
String? CardExpirationMonth;
// @DataMember
String? CardExpirationYear;
// @DataMember
int? CustomerAcct;
// @DataMember
String? Email;
// @DataMember
String? PO;
// @DataMember
String? EmployeeUsername;
// @DataMember
double? AeOnApprovalOrderSubtotal;
// @DataMember
double? AeOnApprovalOrderShipping;
// @DataMember
String? ShippingAttn;
// @DataMember
String? ShippingName;
// @DataMember
String? ShippingFirstName;
// @DataMember
String? ShippingLastName;
// @DataMember
String? ShippingCompany;
// @DataMember
String? ShippingAddr1;
// @DataMember
String? ShippingAddr2;
// @DataMember
String? ShippingCity;
// @DataMember
String? ShippingSt;
// @DataMember
String? ShippingZip;
// @DataMember
String? ShippingCountry;
// @DataMember
String? ShippingPhone;
// @DataMember
String? BillingAttn;
// @DataMember
String? BillingName;
// @DataMember
String? BillingFirstName;
// @DataMember
String? BillingLastName;
// @DataMember
String? BillingCompany;
// @DataMember
String? BillingAddr1;
// @DataMember
String? BillingAddr2;
// @DataMember
String? BillingCity;
// @DataMember
String? BillingSt;
// @DataMember
String? BillingZip;
// @DataMember
String? BillingCountry;
// @DataMember
String? BillingPhone;
// @DataMember
String? OrderSource;
// @DataMember
String? CardName;
// @DataMember
String? PnRef;
// @DataMember
List<ThirdPartyOrderItem>? LineItems;
ThirdPartyOrder({this.OrderNumber,this.OrderDate,this.TransactionState,this.PaymentMethod,this.OrderNotes,this.AuthorizationCode,this.ShippingMethod,this.Total,this.SubTotal,this.TaxTotal,this.ShippingTotal,this.CardType,this.CardToken,this.CardSpan,this.CardExpirationMonth,this.CardExpirationYear,this.CustomerAcct,this.Email,this.PO,this.EmployeeUsername,this.AeOnApprovalOrderSubtotal,this.AeOnApprovalOrderShipping,this.ShippingAttn,this.ShippingName,this.ShippingFirstName,this.ShippingLastName,this.ShippingCompany,this.ShippingAddr1,this.ShippingAddr2,this.ShippingCity,this.ShippingSt,this.ShippingZip,this.ShippingCountry,this.ShippingPhone,this.BillingAttn,this.BillingName,this.BillingFirstName,this.BillingLastName,this.BillingCompany,this.BillingAddr1,this.BillingAddr2,this.BillingCity,this.BillingSt,this.BillingZip,this.BillingCountry,this.BillingPhone,this.OrderSource,this.CardName,this.PnRef,this.LineItems});
ThirdPartyOrder.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
OrderNumber = json['OrderNumber'];
OrderDate = JsonConverters.fromJson(json['OrderDate'],'DateTime',context!);
TransactionState = json['TransactionState'];
PaymentMethod = json['PaymentMethod'];
OrderNotes = json['OrderNotes'];
AuthorizationCode = json['AuthorizationCode'];
ShippingMethod = json['ShippingMethod'];
Total = JsonConverters.toDouble(json['Total']);
SubTotal = JsonConverters.toDouble(json['SubTotal']);
TaxTotal = JsonConverters.toDouble(json['TaxTotal']);
ShippingTotal = JsonConverters.toDouble(json['ShippingTotal']);
CardType = json['CardType'];
CardToken = json['CardToken'];
CardSpan = json['CardSpan'];
CardExpirationMonth = json['CardExpirationMonth'];
CardExpirationYear = json['CardExpirationYear'];
CustomerAcct = json['CustomerAcct'];
Email = json['Email'];
PO = json['PO'];
EmployeeUsername = json['EmployeeUsername'];
AeOnApprovalOrderSubtotal = JsonConverters.toDouble(json['AeOnApprovalOrderSubtotal']);
AeOnApprovalOrderShipping = JsonConverters.toDouble(json['AeOnApprovalOrderShipping']);
ShippingAttn = json['ShippingAttn'];
ShippingName = json['ShippingName'];
ShippingFirstName = json['ShippingFirstName'];
ShippingLastName = json['ShippingLastName'];
ShippingCompany = json['ShippingCompany'];
ShippingAddr1 = json['ShippingAddr1'];
ShippingAddr2 = json['ShippingAddr2'];
ShippingCity = json['ShippingCity'];
ShippingSt = json['ShippingSt'];
ShippingZip = json['ShippingZip'];
ShippingCountry = json['ShippingCountry'];
ShippingPhone = json['ShippingPhone'];
BillingAttn = json['BillingAttn'];
BillingName = json['BillingName'];
BillingFirstName = json['BillingFirstName'];
BillingLastName = json['BillingLastName'];
BillingCompany = json['BillingCompany'];
BillingAddr1 = json['BillingAddr1'];
BillingAddr2 = json['BillingAddr2'];
BillingCity = json['BillingCity'];
BillingSt = json['BillingSt'];
BillingZip = json['BillingZip'];
BillingCountry = json['BillingCountry'];
BillingPhone = json['BillingPhone'];
OrderSource = json['OrderSource'];
CardName = json['CardName'];
PnRef = json['PnRef'];
LineItems = JsonConverters.fromJson(json['LineItems'],'List<ThirdPartyOrderItem>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'OrderNumber': OrderNumber,
'OrderDate': JsonConverters.toJson(OrderDate,'DateTime',context!),
'TransactionState': TransactionState,
'PaymentMethod': PaymentMethod,
'OrderNotes': OrderNotes,
'AuthorizationCode': AuthorizationCode,
'ShippingMethod': ShippingMethod,
'Total': Total,
'SubTotal': SubTotal,
'TaxTotal': TaxTotal,
'ShippingTotal': ShippingTotal,
'CardType': CardType,
'CardToken': CardToken,
'CardSpan': CardSpan,
'CardExpirationMonth': CardExpirationMonth,
'CardExpirationYear': CardExpirationYear,
'CustomerAcct': CustomerAcct,
'Email': Email,
'PO': PO,
'EmployeeUsername': EmployeeUsername,
'AeOnApprovalOrderSubtotal': AeOnApprovalOrderSubtotal,
'AeOnApprovalOrderShipping': AeOnApprovalOrderShipping,
'ShippingAttn': ShippingAttn,
'ShippingName': ShippingName,
'ShippingFirstName': ShippingFirstName,
'ShippingLastName': ShippingLastName,
'ShippingCompany': ShippingCompany,
'ShippingAddr1': ShippingAddr1,
'ShippingAddr2': ShippingAddr2,
'ShippingCity': ShippingCity,
'ShippingSt': ShippingSt,
'ShippingZip': ShippingZip,
'ShippingCountry': ShippingCountry,
'ShippingPhone': ShippingPhone,
'BillingAttn': BillingAttn,
'BillingName': BillingName,
'BillingFirstName': BillingFirstName,
'BillingLastName': BillingLastName,
'BillingCompany': BillingCompany,
'BillingAddr1': BillingAddr1,
'BillingAddr2': BillingAddr2,
'BillingCity': BillingCity,
'BillingSt': BillingSt,
'BillingZip': BillingZip,
'BillingCountry': BillingCountry,
'BillingPhone': BillingPhone,
'OrderSource': OrderSource,
'CardName': CardName,
'PnRef': PnRef,
'LineItems': JsonConverters.toJson(LineItems,'List<ThirdPartyOrderItem>',context!)
};
getTypeName() => "ThirdPartyOrder";
TypeContext? context = _ctx;
}
/**
* CustomerOrdersRequires active-e 3rd Party E-Commerce or active-e Vortx E-Commerce.
*/
// @DataContract
class CustomerOrdersRequest extends BaseSecureRequest implements IConvertible
{
// @DataMember
List<ThirdPartyOrder>? Orders;
CustomerOrdersRequest({this.Orders});
CustomerOrdersRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Orders = JsonConverters.fromJson(json['Orders'],'List<ThirdPartyOrder>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Orders': JsonConverters.toJson(Orders,'List<ThirdPartyOrder>',context!)
});
getTypeName() => "CustomerOrdersRequest";
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()),
'CustomerOrdersResponse': TypeInfo(TypeOf.Class, create:() => CustomerOrdersResponse()),
'ThirdPartyOrderItem': TypeInfo(TypeOf.Class, create:() => ThirdPartyOrderItem()),
'ThirdPartyOrder': TypeInfo(TypeOf.Class, create:() => ThirdPartyOrder()),
'List<ThirdPartyOrderItem>': TypeInfo(TypeOf.Class, create:() => <ThirdPartyOrderItem>[]),
'CustomerOrdersRequest': TypeInfo(TypeOf.Class, create:() => CustomerOrdersRequest()),
'List<ThirdPartyOrder>': TypeInfo(TypeOf.Class, create:() => <ThirdPartyOrder>[]),
});
Dart CustomerOrdersRequest 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/CustomerOrders HTTP/1.1
Host: active-ewebservice.biz
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Orders":[{"OrderNumber":"String","TransactionState":"String","PaymentMethod":"String","OrderNotes":"String","AuthorizationCode":"String","ShippingMethod":"String","Total":0,"SubTotal":0,"TaxTotal":0,"ShippingTotal":0,"CardType":"String","CardToken":"String","CardSpan":"String","CardExpirationMonth":"String","CardExpirationYear":"String","CustomerAcct":0,"Email":"String","PO":"String","EmployeeUsername":"String","AeOnApprovalOrderSubtotal":0,"AeOnApprovalOrderShipping":0,"ShippingAttn":"String","ShippingName":"String","ShippingFirstName":"String","ShippingLastName":"String","ShippingCompany":"String","ShippingAddr1":"String","ShippingAddr2":"String","ShippingCity":"String","ShippingSt":"String","ShippingZip":"String","ShippingCountry":"String","ShippingPhone":"String","BillingAttn":"String","BillingName":"String","BillingFirstName":"String","BillingLastName":"String","BillingCompany":"String","BillingAddr1":"String","BillingAddr2":"String","BillingCity":"String","BillingSt":"String","BillingZip":"String","BillingCountry":"String","BillingPhone":"String","OrderSource":"String","CardName":"String","PnRef":"String","LineItems":[{"ProductName":"String","Sku":"String","SerialNumber":"String","WebNumber":"String","Location":"String","Qty":0,"QtyPicked":0,"UseQtyPicked":false,"Price":0,"OnApproval":false,"IsECard":false,"NiCat":0,"NiSub":0,"ExtPk":0}]}],"Token":"String","DeviceId":"String","AppId":"String","ApiKey":"String","OAuthToken":"String"}
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}