GET | /api/InventoryAutoPrice |
---|
import Foundation
import ServiceStack
/**
* InventoryAutoPriceRequires active-e Inventory Service
*/
// @DataContract
public class InventoryAutoPriceRequest : BaseSecureRequest
{
// @DataMember
public var category:Int?
// @DataMember
public var subCategory:Int?
// @DataMember
public var vendor:Int?
// @DataMember
public var autoPriceId:Int?
// @DataMember
public var minimumPrice:Double
// @DataMember
public var priceA:Double
// @DataMember
public var priceB:Double
// @DataMember
public var priceC:Double
// @DataMember
public var ourPrice:Double
// @DataMember
public var retailPrice:Double
// @DataMember
public var cost:Double
// @DataMember
public var weightedCost:Double
// @DataMember
public var vendorNormalCost:Double
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case category
case subCategory
case vendor
case autoPriceId
case minimumPrice
case priceA
case priceB
case priceC
case ourPrice
case retailPrice
case cost
case weightedCost
case vendorNormalCost
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
category = try container.decodeIfPresent(Int.self, forKey: .category)
subCategory = try container.decodeIfPresent(Int.self, forKey: .subCategory)
vendor = try container.decodeIfPresent(Int.self, forKey: .vendor)
autoPriceId = try container.decodeIfPresent(Int.self, forKey: .autoPriceId)
minimumPrice = try container.decodeIfPresent(Double.self, forKey: .minimumPrice)
priceA = try container.decodeIfPresent(Double.self, forKey: .priceA)
priceB = try container.decodeIfPresent(Double.self, forKey: .priceB)
priceC = try container.decodeIfPresent(Double.self, forKey: .priceC)
ourPrice = try container.decodeIfPresent(Double.self, forKey: .ourPrice)
retailPrice = try container.decodeIfPresent(Double.self, forKey: .retailPrice)
cost = try container.decodeIfPresent(Double.self, forKey: .cost)
weightedCost = try container.decodeIfPresent(Double.self, forKey: .weightedCost)
vendorNormalCost = try container.decodeIfPresent(Double.self, forKey: .vendorNormalCost)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if category != nil { try container.encode(category, forKey: .category) }
if subCategory != nil { try container.encode(subCategory, forKey: .subCategory) }
if vendor != nil { try container.encode(vendor, forKey: .vendor) }
if autoPriceId != nil { try container.encode(autoPriceId, forKey: .autoPriceId) }
if minimumPrice != nil { try container.encode(minimumPrice, forKey: .minimumPrice) }
if priceA != nil { try container.encode(priceA, forKey: .priceA) }
if priceB != nil { try container.encode(priceB, forKey: .priceB) }
if priceC != nil { try container.encode(priceC, forKey: .priceC) }
if ourPrice != nil { try container.encode(ourPrice, forKey: .ourPrice) }
if retailPrice != nil { try container.encode(retailPrice, forKey: .retailPrice) }
if cost != nil { try container.encode(cost, forKey: .cost) }
if weightedCost != nil { try container.encode(weightedCost, forKey: .weightedCost) }
if vendorNormalCost != nil { try container.encode(vendorNormalCost, forKey: .vendorNormalCost) }
}
}
// @DataContract
public class BaseSecureRequest : BaseRequest
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Token", ParameterType="Header")
public var token:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="DeviceId", ParameterType="Header")
public var deviceId:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", IsRequired=true, Name="AppId", ParameterType="Header")
public var appId:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case token
case deviceId
case appId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
token = try container.decodeIfPresent(String.self, forKey: .token)
deviceId = try container.decodeIfPresent(String.self, forKey: .deviceId)
appId = try container.decodeIfPresent(String.self, forKey: .appId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if token != nil { try container.encode(token, forKey: .token) }
if deviceId != nil { try container.encode(deviceId, forKey: .deviceId) }
if appId != nil { try container.encode(appId, forKey: .appId) }
}
}
// @DataContract
public class BaseRequest : Codable
{
/**
* This is your AIM API Key provided by Tri-Tech
*/
// @DataMember
// @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
public var apiKey:String
// @DataMember
// @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
public var oAuthToken:String
required public init(){}
}
// @DataContract
public class InventoryAutoPriceResponse : BaseResponse
{
// @DataMember
public var autoPriceRecords:[AutoPriceRecord] = []
// @DataMember
public var minimumPrice:Double?
// @DataMember
public var priceA:Double?
// @DataMember
public var priceB:Double?
// @DataMember
public var priceC:Double?
// @DataMember
public var ourPrice:Double?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case autoPriceRecords
case minimumPrice
case priceA
case priceB
case priceC
case ourPrice
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
autoPriceRecords = try container.decodeIfPresent([AutoPriceRecord].self, forKey: .autoPriceRecords) ?? []
minimumPrice = try container.decodeIfPresent(Double.self, forKey: .minimumPrice)
priceA = try container.decodeIfPresent(Double.self, forKey: .priceA)
priceB = try container.decodeIfPresent(Double.self, forKey: .priceB)
priceC = try container.decodeIfPresent(Double.self, forKey: .priceC)
ourPrice = try container.decodeIfPresent(Double.self, forKey: .ourPrice)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if autoPriceRecords.count > 0 { try container.encode(autoPriceRecords, forKey: .autoPriceRecords) }
if minimumPrice != nil { try container.encode(minimumPrice, forKey: .minimumPrice) }
if priceA != nil { try container.encode(priceA, forKey: .priceA) }
if priceB != nil { try container.encode(priceB, forKey: .priceB) }
if priceC != nil { try container.encode(priceC, forKey: .priceC) }
if ourPrice != nil { try container.encode(ourPrice, forKey: .ourPrice) }
}
}
// @DataContract
public class BaseResponse : Codable
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
public var status:BaseResponseResult
required public init(){}
}
// @DataContract
public class BaseResponseResult : Codable
{
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="StatusCode", ParameterType="body")
public var statusCode:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="Login", ParameterType="body")
public var login:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorCode", ParameterType="body")
public var errorCode:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorDisplayText", ParameterType="body")
public var errorDisplayText:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", Name="ErrorMessage", ParameterType="body")
public var errorMessage:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="DomainName", ParameterType="body")
public var domainName:String
/**
*
*/
// @DataMember
// @ApiMember(DataType="string", Description="", ExcludeInSchema=true, Name="IPAddress", ParameterType="body")
public var ipAddress:String
required public init(){}
}
// @DataContract
public class AutoPriceRecord : Codable
{
// @DataMember
public var id:Int
// @DataMember
public var Description:String
// @DataMember
public var category:Int?
// @DataMember
public var categoryDescription:String
// @DataMember
public var subCategory:Int?
// @DataMember
public var subCategoryDescription:String
// @DataMember
public var vendor:Int?
// @DataMember
public var vendorName:String
required public init(){}
}
Swift InventoryAutoPriceRequest DTOs
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.
GET /api/InventoryAutoPrice HTTP/1.1 Host: active-ewebservice.biz Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"AutoPriceRecords":[{"Id":0,"Description":"String","Category":0,"CategoryDescription":"String","SubCategory":0,"SubCategoryDescription":"String","Vendor":0,"VendorName":"String"}],"MinimumPrice":0,"PriceA":0,"PriceB":0,"PriceC":0,"OurPrice":0,"Status":{"StatusCode":"String","Login":"String","ErrorCode":"String","ErrorDisplayText":"String","ErrorMessage":"String","DomainName":"String","IpAddress":"String"}}