| 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';
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 .xml suffix or ?format=xml
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/xml
Content-Type: application/xml
Content-Length: length
<ProductsRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Products>
<Product>
<Description>String</Description>
<FreightMarkUpAmount>0</FreightMarkUpAmount>
<FreightMarkupPercent>0</FreightMarkupPercent>
<ID>0</ID>
<ImageKey>String</ImageKey>
<ImageURL>String</ImageURL>
<IsActive>false</IsActive>
<PointValue>0</PointValue>
<ProductCategory>0</ProductCategory>
<ProductName>String</ProductName>
<ProductSubCategory>0</ProductSubCategory>
<ProductTypeID>0</ProductTypeID>
<ProductWeight>0</ProductWeight>
<SalePrice>0</SalePrice>
<ShipPrice>0</ShipPrice>
<SpecialSaleText>String</SpecialSaleText>
<StripeProductId>String</StripeProductId>
<UID>00000000-0000-0000-0000-000000000000</UID>
<UnitPrice>0</UnitPrice>
</Product>
</Products>
<UserID>00000000-0000-0000-0000-000000000000</UserID>
</ProductsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ProductsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Products>
<Product>
<Description>String</Description>
<FreightMarkUpAmount>0</FreightMarkUpAmount>
<FreightMarkupPercent>0</FreightMarkupPercent>
<ID>0</ID>
<ImageKey>String</ImageKey>
<ImageURL>String</ImageURL>
<IsActive>false</IsActive>
<PointValue>0</PointValue>
<ProductCategory>0</ProductCategory>
<ProductName>String</ProductName>
<ProductSubCategory>0</ProductSubCategory>
<ProductTypeID>0</ProductTypeID>
<ProductWeight>0</ProductWeight>
<SalePrice>0</SalePrice>
<ShipPrice>0</ShipPrice>
<SpecialSaleText>String</SpecialSaleText>
<StripeProductId>String</StripeProductId>
<UID>00000000-0000-0000-0000-000000000000</UID>
<UnitPrice>0</UnitPrice>
</Product>
</Products>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<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>
</ProductsResponse>