| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator, Agent, Administrator |
| GET | /v1/Products/{UserID} | ||
|---|---|---|---|
| GET,POST,PUT,DELETE,OPTIONS | /v1/Products/ |
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class Product implements IConvertible
{
int? ID;
String? ProductName;
int? ProductTypeID;
double? UnitPrice;
String? Description;
String? ImageURL;
String? ImageKey;
String? SpecialSaleText;
double? ShipPrice;
double? SalePrice;
String? UID;
int? ProductCategory;
int? ProductSubCategory;
double? ProductWeight;
double? FreightMarkupPercent;
double? FreightMarkUpAmount;
double? PointValue;
bool? IsActive;
String? StripeProductId;
Product({this.ID,this.ProductName,this.ProductTypeID,this.UnitPrice,this.Description,this.ImageURL,this.ImageKey,this.SpecialSaleText,this.ShipPrice,this.SalePrice,this.UID,this.ProductCategory,this.ProductSubCategory,this.ProductWeight,this.FreightMarkupPercent,this.FreightMarkUpAmount,this.PointValue,this.IsActive,this.StripeProductId});
Product.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
ProductName = json['ProductName'];
ProductTypeID = json['ProductTypeID'];
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
Description = json['Description'];
ImageURL = json['ImageURL'];
ImageKey = json['ImageKey'];
SpecialSaleText = json['SpecialSaleText'];
ShipPrice = JsonConverters.toDouble(json['ShipPrice']);
SalePrice = JsonConverters.toDouble(json['SalePrice']);
UID = json['UID'];
ProductCategory = json['ProductCategory'];
ProductSubCategory = json['ProductSubCategory'];
ProductWeight = JsonConverters.toDouble(json['ProductWeight']);
FreightMarkupPercent = JsonConverters.toDouble(json['FreightMarkupPercent']);
FreightMarkUpAmount = JsonConverters.toDouble(json['FreightMarkUpAmount']);
PointValue = JsonConverters.toDouble(json['PointValue']);
IsActive = json['IsActive'];
StripeProductId = json['StripeProductId'];
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'ProductName': ProductName,
'ProductTypeID': ProductTypeID,
'UnitPrice': UnitPrice,
'Description': Description,
'ImageURL': ImageURL,
'ImageKey': ImageKey,
'SpecialSaleText': SpecialSaleText,
'ShipPrice': ShipPrice,
'SalePrice': SalePrice,
'UID': UID,
'ProductCategory': ProductCategory,
'ProductSubCategory': ProductSubCategory,
'ProductWeight': ProductWeight,
'FreightMarkupPercent': FreightMarkupPercent,
'FreightMarkUpAmount': FreightMarkUpAmount,
'PointValue': PointValue,
'IsActive': IsActive,
'StripeProductId': StripeProductId
};
getTypeName() => "Product";
TypeContext? context = _ctx;
}
class ProductsResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
List<Product>? Products = [];
ProductsResponse({this.ResponseStatus,this.Products});
ProductsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Products = JsonConverters.fromJson(json['Products'],'List<Product>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Products': JsonConverters.toJson(Products,'List<Product>',context!)
};
getTypeName() => "ProductsResponse";
TypeContext? context = _ctx;
}
class ProductsRequest implements IConvertible
{
String? UserID;
List<Product>? Products = [];
ProductsRequest({this.UserID,this.Products});
ProductsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
UserID = json['UserID'];
Products = JsonConverters.fromJson(json['Products'],'List<Product>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'UserID': UserID,
'Products': JsonConverters.toJson(Products,'List<Product>',context!)
};
getTypeName() => "ProductsRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'Product': TypeInfo(TypeOf.Class, create:() => Product()),
'ProductsResponse': TypeInfo(TypeOf.Class, create:() => ProductsResponse()),
'List<Product>': TypeInfo(TypeOf.Class, create:() => <Product>[]),
'ProductsRequest': TypeInfo(TypeOf.Class, create:() => ProductsRequest()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/Products/ HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/json
Content-Type: application/json
Content-Length: length
{"UserID":"00000000000000000000000000000000","Products":[{"ID":0,"ProductName":"String","ProductTypeID":0,"UnitPrice":0,"Description":"String","ImageURL":"String","ImageKey":"String","SpecialSaleText":"String","ShipPrice":0,"SalePrice":0,"UID":"00000000000000000000000000000000","ProductCategory":0,"ProductSubCategory":0,"ProductWeight":0,"FreightMarkupPercent":0,"FreightMarkUpAmount":0,"PointValue":0,"IsActive":false,"StripeProductId":"String"}]}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Products":[{"ID":0,"ProductName":"String","ProductTypeID":0,"UnitPrice":0,"Description":"String","ImageURL":"String","ImageKey":"String","SpecialSaleText":"String","ShipPrice":0,"SalePrice":0,"UID":"00000000000000000000000000000000","ProductCategory":0,"ProductSubCategory":0,"ProductWeight":0,"FreightMarkupPercent":0,"FreightMarkUpAmount":0,"PointValue":0,"IsActive":false,"StripeProductId":"String"}]}