| POST | /upliftrequest |
|---|
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 SaveUpliftRequestResponse extends ApiServiceResponse implements IConvertible
{
List<int>? UpliftRequestProductIds;
String? AuthRequestId;
int? UpliftRequestId;
bool? DeleteFromDevice;
List<String>? ImageIds;
SaveUpliftRequestResponse({this.UpliftRequestProductIds,this.AuthRequestId,this.UpliftRequestId,this.DeleteFromDevice,this.ImageIds});
SaveUpliftRequestResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
UpliftRequestProductIds = JsonConverters.fromJson(json['UpliftRequestProductIds'],'List<int>',context!);
AuthRequestId = json['AuthRequestId'];
UpliftRequestId = json['UpliftRequestId'];
DeleteFromDevice = json['DeleteFromDevice'];
ImageIds = JsonConverters.fromJson(json['ImageIds'],'List<String>',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'UpliftRequestProductIds': JsonConverters.toJson(UpliftRequestProductIds,'List<int>',context!),
'AuthRequestId': AuthRequestId,
'UpliftRequestId': UpliftRequestId,
'DeleteFromDevice': DeleteFromDevice,
'ImageIds': JsonConverters.toJson(ImageIds,'List<String>',context!)
});
getTypeName() => "SaveUpliftRequestResponse";
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 UpliftRequestData implements IConvertible
{
int? UpliftRequestId;
String? Id;
int? OutletId;
List<UpliftRequestProductData>? Products;
String? OutletEmailAddress;
String? OutletContactName;
String? OutletChannel;
String? OutletRegion;
String? AdditionalNotes;
dynamic? MerchandiserSignatureImage;
String? StartTime;
double? StartLatitude;
double? StartLongitude;
String? EndTime;
double? EndLatitude;
double? EndLongitude;
DateTime? LastUpdated;
DateTime? LastSynced;
String? IncompleteUpliftRequestId;
String? AuthRequestId;
bool? Authorised;
int? PrincipalId;
List<SealData>? Seals;
bool? Confirmed;
bool? Cancelled;
List<dynamic>? Images;
bool? SubmitImmediately;
UpliftRequestData({this.UpliftRequestId,this.Id,this.OutletId,this.Products,this.OutletEmailAddress,this.OutletContactName,this.OutletChannel,this.OutletRegion,this.AdditionalNotes,this.MerchandiserSignatureImage,this.StartTime,this.StartLatitude,this.StartLongitude,this.EndTime,this.EndLatitude,this.EndLongitude,this.LastUpdated,this.LastSynced,this.IncompleteUpliftRequestId,this.AuthRequestId,this.Authorised,this.PrincipalId,this.Seals,this.Confirmed,this.Cancelled,this.Images,this.SubmitImmediately});
UpliftRequestData.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UpliftRequestId = json['UpliftRequestId'];
Id = json['Id'];
OutletId = json['OutletId'];
Products = JsonConverters.fromJson(json['Products'],'List<UpliftRequestProductData>',context!);
OutletEmailAddress = json['OutletEmailAddress'];
OutletContactName = json['OutletContactName'];
OutletChannel = json['OutletChannel'];
OutletRegion = json['OutletRegion'];
AdditionalNotes = json['AdditionalNotes'];
MerchandiserSignatureImage = JsonConverters.fromJson(json['MerchandiserSignatureImage'],'dynamic',context!);
StartTime = json['StartTime'];
StartLatitude = JsonConverters.toDouble(json['StartLatitude']);
StartLongitude = JsonConverters.toDouble(json['StartLongitude']);
EndTime = json['EndTime'];
EndLatitude = JsonConverters.toDouble(json['EndLatitude']);
EndLongitude = JsonConverters.toDouble(json['EndLongitude']);
LastUpdated = JsonConverters.fromJson(json['LastUpdated'],'DateTime',context!);
LastSynced = JsonConverters.fromJson(json['LastSynced'],'DateTime',context!);
IncompleteUpliftRequestId = json['IncompleteUpliftRequestId'];
AuthRequestId = json['AuthRequestId'];
Authorised = json['Authorised'];
PrincipalId = json['PrincipalId'];
Seals = JsonConverters.fromJson(json['Seals'],'List<SealData>',context!);
Confirmed = json['Confirmed'];
Cancelled = json['Cancelled'];
Images = JsonConverters.fromJson(json['Images'],'List<dynamic>',context!);
SubmitImmediately = json['SubmitImmediately'];
return this;
}
Map<String, dynamic> toJson() => {
'UpliftRequestId': UpliftRequestId,
'Id': Id,
'OutletId': OutletId,
'Products': JsonConverters.toJson(Products,'List<UpliftRequestProductData>',context!),
'OutletEmailAddress': OutletEmailAddress,
'OutletContactName': OutletContactName,
'OutletChannel': OutletChannel,
'OutletRegion': OutletRegion,
'AdditionalNotes': AdditionalNotes,
'MerchandiserSignatureImage': JsonConverters.toJson(MerchandiserSignatureImage,'dynamic',context!),
'StartTime': StartTime,
'StartLatitude': StartLatitude,
'StartLongitude': StartLongitude,
'EndTime': EndTime,
'EndLatitude': EndLatitude,
'EndLongitude': EndLongitude,
'LastUpdated': JsonConverters.toJson(LastUpdated,'DateTime',context!),
'LastSynced': JsonConverters.toJson(LastSynced,'DateTime',context!),
'IncompleteUpliftRequestId': IncompleteUpliftRequestId,
'AuthRequestId': AuthRequestId,
'Authorised': Authorised,
'PrincipalId': PrincipalId,
'Seals': JsonConverters.toJson(Seals,'List<SealData>',context!),
'Confirmed': Confirmed,
'Cancelled': Cancelled,
'Images': JsonConverters.toJson(Images,'List<dynamic>',context!),
'SubmitImmediately': SubmitImmediately
};
getTypeName() => "UpliftRequestData";
TypeContext? context = _ctx;
}
class SaveUpliftRequest extends ApiServiceRequest implements IConvertible
{
UpliftRequestData? UpliftRequest;
SaveUpliftRequest({this.UpliftRequest});
SaveUpliftRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
UpliftRequest = JsonConverters.fromJson(json['UpliftRequest'],'UpliftRequestData',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'UpliftRequest': JsonConverters.toJson(UpliftRequest,'UpliftRequestData',context!)
});
getTypeName() => "SaveUpliftRequest";
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()),
'SaveUpliftRequestResponse': TypeInfo(TypeOf.Class, create:() => SaveUpliftRequestResponse()),
'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>[]),
'UpliftRequestData': TypeInfo(TypeOf.Class, create:() => UpliftRequestData()),
'List<UpliftRequestProductData>': TypeInfo(TypeOf.Class, create:() => <UpliftRequestProductData>[]),
'List<SealData>': TypeInfo(TypeOf.Class, create:() => <SealData>[]),
'SaveUpliftRequest': TypeInfo(TypeOf.Class, create:() => SaveUpliftRequest()),
});
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 /upliftrequest HTTP/1.1
Host: returnit-api-dev.happen.zone
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SaveUpliftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models">
<ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">String</ApiKey>
<Latitude xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">0</Latitude>
<Longitude xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">0</Longitude>
<UpliftRequest>
<AdditionalNotes>String</AdditionalNotes>
<AuthRequestId>00000000-0000-0000-0000-000000000000</AuthRequestId>
<Authorised>false</Authorised>
<Cancelled>false</Cancelled>
<Confirmed>false</Confirmed>
<EndLatitude>0</EndLatitude>
<EndLongitude>0</EndLongitude>
<EndTime>String</EndTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Images xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:anyType />
</Images>
<IncompleteUpliftRequestId>String</IncompleteUpliftRequestId>
<LastSynced>0001-01-01T00:00:00</LastSynced>
<LastUpdated>0001-01-01T00:00:00</LastUpdated>
<MerchandiserSignatureImage />
<OutletChannel>String</OutletChannel>
<OutletContactName>String</OutletContactName>
<OutletEmailAddress>String</OutletEmailAddress>
<OutletId>0</OutletId>
<OutletRegion>String</OutletRegion>
<PrincipalId>0</PrincipalId>
<Products>
<UpliftRequestProductData>
<BatchCode>String</BatchCode>
<Category>String</Category>
<Code>String</Code>
<ExpiryDate>String</ExpiryDate>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Images xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:anyType />
</Images>
<Name>String</Name>
<PrincipalId>0</PrincipalId>
<PrincipalLogoUrl>String</PrincipalLogoUrl>
<PrincipalName>String</PrincipalName>
<ProductId>0</ProductId>
<ProductionDate>String</ProductionDate>
<Quantity>0</Quantity>
<Seal>
<Number xmlns="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">String</Number>
<Weight xmlns="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">0</Weight>
</Seal>
<SerialNumber>String</SerialNumber>
<StockStatusColor>String</StockStatusColor>
<StockStatusId>0</StockStatusId>
<StockStatusName>String</StockStatusName>
<UnitBarcode>String</UnitBarcode>
<UnitOfMeasureId>0</UnitOfMeasureId>
<UnitPrice>0</UnitPrice>
<UnitSize>String</UnitSize>
<UnitWeight>0</UnitWeight>
<UpliftRequestProductId>0</UpliftRequestProductId>
<Value>0</Value>
</UpliftRequestProductData>
</Products>
<Seals>
<SealData>
<Number xmlns="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">String</Number>
<Weight xmlns="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">0</Weight>
</SealData>
</Seals>
<StartLatitude>0</StartLatitude>
<StartLongitude>0</StartLongitude>
<StartTime>String</StartTime>
<SubmitImmediately>false</SubmitImmediately>
<UpliftRequestId>0</UpliftRequestId>
</UpliftRequest>
</SaveUpliftRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<SaveUpliftRequestResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models">
<Description xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">String</Description>
<Heading xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">String</Heading>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/WebService.AppApi.Models.Base">false</WasSuccessful>
<AuthRequestId>00000000-0000-0000-0000-000000000000</AuthRequestId>
<DeleteFromDevice>false</DeleteFromDevice>
<ImageIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</ImageIds>
<UpliftRequestId>0</UpliftRequestId>
<UpliftRequestProductIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:int>0</d2p1:int>
</UpliftRequestProductIds>
</SaveUpliftRequestResponse>