| POST | /upliftrequest/auth |
|---|
import 'package:servicestack/servicestack.dart';
class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
String? ApiKey;
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
double? Latitude;
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
double? Longitude;
ApiServiceRequest({this.ApiKey,this.Latitude,this.Longitude});
ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ApiKey = json['ApiKey'];
Latitude = JsonConverters.toDouble(json['Latitude']);
Longitude = JsonConverters.toDouble(json['Longitude']);
return this;
}
Map<String, dynamic> toJson() => {
'ApiKey': ApiKey,
'Latitude': Latitude,
'Longitude': Longitude
};
getTypeName() => "ApiServiceRequest";
TypeContext? context = _ctx;
}
class ApiServiceResponse implements IServiceResponse, IConvertible
{
/**
* Information about the response.
*/
// @ApiMember(Description="Information about the response.", IsRequired=true)
String? Description;
/**
* Heading or summary of the response.
*/
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
String? Heading;
/**
* Did the intended operation for this response complete successfully?
*/
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
bool? WasSuccessful;
ResponseStatus? ResponseStatus;
ApiServiceResponse({this.Description,this.Heading,this.WasSuccessful,this.ResponseStatus});
ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Description = json['Description'];
Heading = json['Heading'];
WasSuccessful = json['WasSuccessful'];
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Description': Description,
'Heading': Heading,
'WasSuccessful': WasSuccessful,
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "ApiServiceResponse";
TypeContext? context = _ctx;
}
class UpliftRequestAuthRequestResponse extends ApiServiceResponse implements IConvertible
{
String? UpliftRequestAuthRequestId;
UpliftRequestAuthRequestResponse({this.UpliftRequestAuthRequestId});
UpliftRequestAuthRequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
UpliftRequestAuthRequestId = json['UpliftRequestAuthRequestId'];
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'UpliftRequestAuthRequestId': UpliftRequestAuthRequestId
});
getTypeName() => "UpliftRequestAuthRequestResponse";
TypeContext? context = _ctx;
}
class Seal implements IConvertible
{
String? Number;
double? Weight;
Seal({this.Number,this.Weight});
Seal.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Number = json['Number'];
Weight = JsonConverters.toDouble(json['Weight']);
return this;
}
Map<String, dynamic> toJson() => {
'Number': Number,
'Weight': Weight
};
getTypeName() => "Seal";
TypeContext? context = _ctx;
}
class SealData extends Seal implements IConvertible
{
SealData();
SealData.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() => "SealData";
TypeContext? context = _ctx;
}
class UpliftRequestProductData implements IConvertible
{
String? Id;
int? UpliftRequestProductId;
int? ProductId;
int? PrincipalId;
double? UnitPrice;
String? Name;
String? Category;
String? UnitBarcode;
String? UnitSize;
double? UnitWeight;
String? Code;
List<dynamic>? Images;
double? Quantity;
double? Value;
String? ProductionDate;
String? ExpiryDate;
String? BatchCode;
SealData? Seal;
String? SerialNumber;
int? StockStatusId;
String? PrincipalLogoUrl;
String? PrincipalName;
String? StockStatusName;
String? StockStatusColor;
int? UnitOfMeasureId;
UpliftRequestProductData({this.Id,this.UpliftRequestProductId,this.ProductId,this.PrincipalId,this.UnitPrice,this.Name,this.Category,this.UnitBarcode,this.UnitSize,this.UnitWeight,this.Code,this.Images,this.Quantity,this.Value,this.ProductionDate,this.ExpiryDate,this.BatchCode,this.Seal,this.SerialNumber,this.StockStatusId,this.PrincipalLogoUrl,this.PrincipalName,this.StockStatusName,this.StockStatusColor,this.UnitOfMeasureId});
UpliftRequestProductData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
UpliftRequestProductId = json['UpliftRequestProductId'];
ProductId = json['ProductId'];
PrincipalId = json['PrincipalId'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
Name = json['Name'];
Category = json['Category'];
UnitBarcode = json['UnitBarcode'];
UnitSize = json['UnitSize'];
UnitWeight = JsonConverters.toDouble(json['UnitWeight']);
Code = json['Code'];
Images = JsonConverters.fromJson(json['Images'],'List<dynamic>',context!);
Quantity = JsonConverters.toDouble(json['Quantity']);
Value = JsonConverters.toDouble(json['Value']);
ProductionDate = json['ProductionDate'];
ExpiryDate = json['ExpiryDate'];
BatchCode = json['BatchCode'];
Seal = JsonConverters.fromJson(json['Seal'],'SealData',context!);
SerialNumber = json['SerialNumber'];
StockStatusId = json['StockStatusId'];
PrincipalLogoUrl = json['PrincipalLogoUrl'];
PrincipalName = json['PrincipalName'];
StockStatusName = json['StockStatusName'];
StockStatusColor = json['StockStatusColor'];
UnitOfMeasureId = json['UnitOfMeasureId'];
return this;
}
Map<String, dynamic> toJson() => {
'Id': Id,
'UpliftRequestProductId': UpliftRequestProductId,
'ProductId': ProductId,
'PrincipalId': PrincipalId,
'UnitPrice': UnitPrice,
'Name': Name,
'Category': Category,
'UnitBarcode': UnitBarcode,
'UnitSize': UnitSize,
'UnitWeight': UnitWeight,
'Code': Code,
'Images': JsonConverters.toJson(Images,'List<dynamic>',context!),
'Quantity': Quantity,
'Value': Value,
'ProductionDate': ProductionDate,
'ExpiryDate': ExpiryDate,
'BatchCode': BatchCode,
'Seal': JsonConverters.toJson(Seal,'SealData',context!),
'SerialNumber': SerialNumber,
'StockStatusId': StockStatusId,
'PrincipalLogoUrl': PrincipalLogoUrl,
'PrincipalName': PrincipalName,
'StockStatusName': StockStatusName,
'StockStatusColor': StockStatusColor,
'UnitOfMeasureId': UnitOfMeasureId
};
getTypeName() => "UpliftRequestProductData";
TypeContext? context = _ctx;
}
class UpliftRequestAuthRequest extends ApiServiceRequest implements IConvertible
{
String? UpliftRequestOnDeviceId;
int? OutletId;
int? PrincipalId;
double? TotalValue;
double? TotalUnits;
String? Region;
String? Channel;
List<UpliftRequestProductData>? Products;
UpliftRequestAuthRequest({this.UpliftRequestOnDeviceId,this.OutletId,this.PrincipalId,this.TotalValue,this.TotalUnits,this.Region,this.Channel,this.Products});
UpliftRequestAuthRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
UpliftRequestOnDeviceId = json['UpliftRequestOnDeviceId'];
OutletId = json['OutletId'];
PrincipalId = json['PrincipalId'];
TotalValue = JsonConverters.toDouble(json['TotalValue']);
TotalUnits = JsonConverters.toDouble(json['TotalUnits']);
Region = json['Region'];
Channel = json['Channel'];
Products = JsonConverters.fromJson(json['Products'],'List<UpliftRequestProductData>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'UpliftRequestOnDeviceId': UpliftRequestOnDeviceId,
'OutletId': OutletId,
'PrincipalId': PrincipalId,
'TotalValue': TotalValue,
'TotalUnits': TotalUnits,
'Region': Region,
'Channel': Channel,
'Products': JsonConverters.toJson(Products,'List<UpliftRequestProductData>',context!)
});
getTypeName() => "UpliftRequestAuthRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'returnit_api_dev.happen.zone', types: <String, TypeInfo> {
'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
'UpliftRequestAuthRequestResponse': TypeInfo(TypeOf.Class, create:() => UpliftRequestAuthRequestResponse()),
'Seal': TypeInfo(TypeOf.Class, create:() => Seal()),
'SealData': TypeInfo(TypeOf.Class, create:() => SealData()),
'UpliftRequestProductData': TypeInfo(TypeOf.Class, create:() => UpliftRequestProductData()),
'List<dynamic>': TypeInfo(TypeOf.Class, create:() => <dynamic>[]),
'UpliftRequestAuthRequest': TypeInfo(TypeOf.Class, create:() => UpliftRequestAuthRequest()),
'List<UpliftRequestProductData>': TypeInfo(TypeOf.Class, create:() => <UpliftRequestProductData>[]),
});
Dart UpliftRequestAuthRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /upliftrequest/auth HTTP/1.1
Host: returnit-api-dev.happen.zone
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"OutletId":0,"PrincipalId":0,"TotalValue":0,"TotalUnits":0,"Region":"String","Channel":"String","Products":[{"UpliftRequestProductId":0,"ProductId":0,"PrincipalId":0,"UnitPrice":0,"Name":"String","Category":"String","UnitBarcode":"String","UnitSize":"String","UnitWeight":0,"Code":"String","Images":[{}],"Quantity":0,"Value":0,"ProductionDate":"String","ExpiryDate":"String","BatchCode":"String","Seal":{"Number":"String","Weight":0},"SerialNumber":"String","StockStatusId":0,"PrincipalLogoUrl":"String","PrincipalName":"String","StockStatusName":"String","StockStatusColor":"String","UnitOfMeasureId":0}],"ApiKey":"String","Latitude":0,"Longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Description":"String","Heading":"String","WasSuccessful":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}