| POST, GET | /api/SerialDetail |
|---|
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;
/**
* The OAuthToken token return by AeServices30
*/
// @DataMember
// @ApiMember(DataType="string", Description="The OAuthToken token return by AeServices30", IsRequired=true, Name="OAuthToken", ParameterType="Header")
String? OAuthToken;
/**
* The Device ID of the Mobile Device. Not used for non-mobile devices.
*/
// @DataMember
// @ApiMember(DataType="string", Description="The Device ID of the Mobile Device. Not used for non-mobile devices.", Name="DeviceId", ParameterType="Header")
String? DeviceId;
/**
* An identifier for your integration
*/
// @DataMember
// @ApiMember(DataType="string", Description="An identifier for your integration", IsRequired=true, Name="AppId", ParameterType="Header")
String? AppId;
BaseRequest({this.ApiKey,this.OAuthToken,this.DeviceId,this.AppId});
BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
OAuthToken = json['OAuthToken'];
DeviceId = json['DeviceId'];
AppId = json['AppId'];
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'OAuthToken': OAuthToken,
'DeviceId': DeviceId,
'AppId': AppId
};
getTypeName() => "BaseRequest";
TypeContext? context = _ctx;
}
// @DataContract
class BaseSecureRequest extends BaseRequest implements IConvertible
{
/**
* The Login Token return by the Security API. Required for secured calls.
*/
// @DataMember
// @ApiMember(DataType="string", Description="The Login Token return by the Security API. Required for secured calls.", Name="Token", ParameterType="Header")
String? Token;
BaseSecureRequest({this.Token});
BaseSecureRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Token = json['Token'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Token': Token
});
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 InventoryDetailAttribute implements IConvertible
{
// @DataMember
String? Name;
// @DataMember
String? Value;
// @DataMember
int? Priority;
/**
* 1 is 'Don't Send to Web', 2 is 'Send To Web'
*/
// @DataMember
// @ApiMember(DataType="int", Description="1 is 'Don't Send to Web', 2 is 'Send To Web'", Name="WebType", ParameterType="query")
int? WebType;
InventoryDetailAttribute({this.Name,this.Value,this.Priority,this.WebType});
InventoryDetailAttribute.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Name = json['Name'];
Value = json['Value'];
Priority = json['Priority'];
WebType = json['WebType'];
return this;
}
Map<String, dynamic> toJson() => {
'Name': Name,
'Value': Value,
'Priority': Priority,
'WebType': WebType
};
getTypeName() => "InventoryDetailAttribute";
TypeContext? context = _ctx;
}
// @DataContract
class ImageInfo implements IConvertible
{
// @DataMember
String? Url;
// @DataMember
String? ImageStream;
// @DataMember
String? ImageSize;
// @DataMember
String? ErrorMessage;
// @DataMember
int? UriPk;
ImageInfo({this.Url,this.ImageStream,this.ImageSize,this.ErrorMessage,this.UriPk});
ImageInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Url = json['Url'];
ImageStream = json['ImageStream'];
ImageSize = json['ImageSize'];
ErrorMessage = json['ErrorMessage'];
UriPk = json['UriPk'];
return this;
}
Map<String, dynamic> toJson() => {
'Url': Url,
'ImageStream': ImageStream,
'ImageSize': ImageSize,
'ErrorMessage': ErrorMessage,
'UriPk': UriPk
};
getTypeName() => "ImageInfo";
TypeContext? context = _ctx;
}
// @DataContract
class InventoryDetailBySerial implements IConvertible
{
// @DataMember
int? SasPk;
// @DataMember
String? Serial;
// @DataMember
double? Retail;
// @DataMember
double? OurPrice;
// @DataMember
double? SalePrice;
// @DataMember
String? Status;
// @DataMember
String? SaleInfo;
// @DataMember
double? PriceA;
// @DataMember
double? PriceB;
// @DataMember
double? PriceC;
// @DataMember
double? MinPrice;
// @DataMember
double? ActiveEPrice;
// @DataMember
bool? AllowPriceChange;
// @DataMember
double? Cost;
// @DataMember
double? WeightedCost;
// @DataMember
String? Notes;
// @DataMember
List<InventoryDetailAttribute>? Attributes;
// @DataMember
List<ImageInfo>? Images;
// @DataMember
bool? HasImages;
// @DataMember
bool? IsActiveeHoldback;
// @DataMember
int? CustomerAcct;
// @DataMember
bool? AvailableForSTR;
InventoryDetailBySerial({this.SasPk,this.Serial,this.Retail,this.OurPrice,this.SalePrice,this.Status,this.SaleInfo,this.PriceA,this.PriceB,this.PriceC,this.MinPrice,this.ActiveEPrice,this.AllowPriceChange,this.Cost,this.WeightedCost,this.Notes,this.Attributes,this.Images,this.HasImages,this.IsActiveeHoldback,this.CustomerAcct,this.AvailableForSTR});
InventoryDetailBySerial.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
SasPk = json['SasPk'];
Serial = json['Serial'];
Retail = JsonConverters.toDouble(json['Retail']);
OurPrice = JsonConverters.toDouble(json['OurPrice']);
SalePrice = JsonConverters.toDouble(json['SalePrice']);
Status = json['Status'];
SaleInfo = json['SaleInfo'];
PriceA = JsonConverters.toDouble(json['PriceA']);
PriceB = JsonConverters.toDouble(json['PriceB']);
PriceC = JsonConverters.toDouble(json['PriceC']);
MinPrice = JsonConverters.toDouble(json['MinPrice']);
ActiveEPrice = JsonConverters.toDouble(json['ActiveEPrice']);
AllowPriceChange = json['AllowPriceChange'];
Cost = JsonConverters.toDouble(json['Cost']);
WeightedCost = JsonConverters.toDouble(json['WeightedCost']);
Notes = json['Notes'];
Attributes = JsonConverters.fromJson(json['Attributes'],'List<InventoryDetailAttribute>',context!);
Images = JsonConverters.fromJson(json['Images'],'List<ImageInfo>',context!);
HasImages = json['HasImages'];
IsActiveeHoldback = json['IsActiveeHoldback'];
CustomerAcct = json['CustomerAcct'];
AvailableForSTR = json['AvailableForSTR'];
return this;
}
Map<String, dynamic> toJson() => {
'SasPk': SasPk,
'Serial': Serial,
'Retail': Retail,
'OurPrice': OurPrice,
'SalePrice': SalePrice,
'Status': Status,
'SaleInfo': SaleInfo,
'PriceA': PriceA,
'PriceB': PriceB,
'PriceC': PriceC,
'MinPrice': MinPrice,
'ActiveEPrice': ActiveEPrice,
'AllowPriceChange': AllowPriceChange,
'Cost': Cost,
'WeightedCost': WeightedCost,
'Notes': Notes,
'Attributes': JsonConverters.toJson(Attributes,'List<InventoryDetailAttribute>',context!),
'Images': JsonConverters.toJson(Images,'List<ImageInfo>',context!),
'HasImages': HasImages,
'IsActiveeHoldback': IsActiveeHoldback,
'CustomerAcct': CustomerAcct,
'AvailableForSTR': AvailableForSTR
};
getTypeName() => "InventoryDetailBySerial";
TypeContext? context = _ctx;
}
// @DataContract
class SerialDetailResponse extends BaseResponse implements IConvertible
{
// @DataMember
int? SasPk;
// @DataMember
String? Serial;
// @DataMember
int? SaqPk;
// @DataMember
int? LocPk;
// @DataMember
String? Location;
// @DataMember
int? SkuPk;
// @DataMember
String? SKU;
// @DataMember
int? SadPk;
// @DataMember
String? Model;
// @DataMember
InventoryDetailBySerial? Details;
SerialDetailResponse({this.SasPk,this.Serial,this.SaqPk,this.LocPk,this.Location,this.SkuPk,this.SKU,this.SadPk,this.Model,this.Details});
SerialDetailResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
SasPk = json['SasPk'];
Serial = json['Serial'];
SaqPk = json['SaqPk'];
LocPk = json['LocPk'];
Location = json['Location'];
SkuPk = json['SkuPk'];
SKU = json['SKU'];
SadPk = json['SadPk'];
Model = json['Model'];
Details = JsonConverters.fromJson(json['Details'],'InventoryDetailBySerial',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'SasPk': SasPk,
'Serial': Serial,
'SaqPk': SaqPk,
'LocPk': LocPk,
'Location': Location,
'SkuPk': SkuPk,
'SKU': SKU,
'SadPk': SadPk,
'Model': Model,
'Details': JsonConverters.toJson(Details,'InventoryDetailBySerial',context!)
});
getTypeName() => "SerialDetailResponse";
TypeContext? context = _ctx;
}
/**
* SerialDetailRequires active-e Inventory Service
*/
// @DataContract
class SerialDetailRequest extends BaseSecureRequest implements IConvertible
{
/**
* The PK being used for lookup. Do not use if Serial is passed in.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="The PK being used for lookup. Do not use if Serial is passed in.", Format="int64", Name="Pk", ParameterType="query")
int? Pk;
/**
* The Serial# being used for lookup. Do not use if Pk is passed in.
*/
// @DataMember
// @ApiMember(DataType="string", Description="The Serial# being used for lookup. Do not use if Pk is passed in.", Name="Serial", ParameterType="query")
String? Serial;
// @DataMember
bool? SkipImages;
/**
* If sent, the Customer Acct will be used for customer specific pricing.
*/
// @DataMember
// @ApiMember(DataType="integer", Description="If sent, the Customer Acct will be used for customer specific pricing.", Format="int32", Name="CustomerAcct", ParameterType="query")
int? CustomerAcct;
SerialDetailRequest({this.Pk,this.Serial,this.SkipImages,this.CustomerAcct});
SerialDetailRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
Pk = json['Pk'];
Serial = json['Serial'];
SkipImages = json['SkipImages'];
CustomerAcct = json['CustomerAcct'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'Pk': Pk,
'Serial': Serial,
'SkipImages': SkipImages,
'CustomerAcct': CustomerAcct
});
getTypeName() => "SerialDetailRequest";
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()),
'InventoryDetailAttribute': TypeInfo(TypeOf.Class, create:() => InventoryDetailAttribute()),
'ImageInfo': TypeInfo(TypeOf.Class, create:() => ImageInfo()),
'InventoryDetailBySerial': TypeInfo(TypeOf.Class, create:() => InventoryDetailBySerial()),
'List<InventoryDetailAttribute>': TypeInfo(TypeOf.Class, create:() => <InventoryDetailAttribute>[]),
'List<ImageInfo>': TypeInfo(TypeOf.Class, create:() => <ImageInfo>[]),
'SerialDetailResponse': TypeInfo(TypeOf.Class, create:() => SerialDetailResponse()),
'SerialDetailRequest': TypeInfo(TypeOf.Class, create:() => SerialDetailRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/SerialDetail HTTP/1.1
Host: active-ewebservice.biz
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SerialDetailRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
<ApiKey>String</ApiKey>
<AppId>String</AppId>
<DeviceId>String</DeviceId>
<OAuthToken>String</OAuthToken>
<Token>String</Token>
<CustomerAcct>0</CustomerAcct>
<Pk>0</Pk>
<Serial>String</Serial>
<SkipImages>false</SkipImages>
</SerialDetailRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<SerialDetailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AIM.WebService">
<Status>
<DomainName>String</DomainName>
<ErrorCode>String</ErrorCode>
<ErrorDisplayText>String</ErrorDisplayText>
<ErrorMessage>String</ErrorMessage>
<IpAddress>String</IpAddress>
<Login>String</Login>
<StatusCode>String</StatusCode>
</Status>
<Details i:nil="true" />
<LocPk>0</LocPk>
<Location>String</Location>
<Model>String</Model>
<SKU>String</SKU>
<SadPk>0</SadPk>
<SaqPk>0</SaqPk>
<SasPk>0</SasPk>
<Serial>String</Serial>
<SkuPk>0</SkuPk>
</SerialDetailResponse>