| 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 .jsv suffix or ?format=jsv
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/jsv
Content-Type: text/jsv
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/jsv
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
}
}
}