| POST | /stock/orderDetail |
|---|
import Foundation
import ServiceStack
public class OrderDetail : ApiServiceRequest
{
public var orderNumber:String
public var forOperator:Bool
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case orderNumber
case forOperator
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
orderNumber = try container.decodeIfPresent(String.self, forKey: .orderNumber)
forOperator = try container.decodeIfPresent(Bool.self, forKey: .forOperator)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if orderNumber != nil { try container.encode(orderNumber, forKey: .orderNumber) }
if forOperator != nil { try container.encode(forOperator, forKey: .forOperator) }
}
}
public class ApiServiceRequest : IServiceRequest, IHasApiKey, IHasDeviceInfo, Codable
{
/**
* The API Key required for authentication
*/
// @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
public var apiKey:String
/**
* Latitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Latitude of the user making this request")
public var latitude:Double
/**
* Longitude of the user making this request
*/
// @ApiMember(DataType="double", Description="Longitude of the user making this request")
public var longitude:Double
required public init(){}
}
public class OrderDetailResponse : ApiServiceResponse
{
public var orderId:Int
public var operatorName:String
public var driverName:String
public var companyName:String
public var licensePlate:String
public var orderNumber:String
public var destinationDepot:String
public var canClose:Bool
public var canScan:Bool
public var estimatedSeals:Int
public var scannedSeals:Int
public var status:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case orderId
case operatorName
case driverName
case companyName
case licensePlate
case orderNumber
case destinationDepot
case canClose
case canScan
case estimatedSeals
case scannedSeals
case status
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
orderId = try container.decodeIfPresent(Int.self, forKey: .orderId)
operatorName = try container.decodeIfPresent(String.self, forKey: .operatorName)
driverName = try container.decodeIfPresent(String.self, forKey: .driverName)
companyName = try container.decodeIfPresent(String.self, forKey: .companyName)
licensePlate = try container.decodeIfPresent(String.self, forKey: .licensePlate)
orderNumber = try container.decodeIfPresent(String.self, forKey: .orderNumber)
destinationDepot = try container.decodeIfPresent(String.self, forKey: .destinationDepot)
canClose = try container.decodeIfPresent(Bool.self, forKey: .canClose)
canScan = try container.decodeIfPresent(Bool.self, forKey: .canScan)
estimatedSeals = try container.decodeIfPresent(Int.self, forKey: .estimatedSeals)
scannedSeals = try container.decodeIfPresent(Int.self, forKey: .scannedSeals)
status = try container.decodeIfPresent(String.self, forKey: .status)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if orderId != nil { try container.encode(orderId, forKey: .orderId) }
if operatorName != nil { try container.encode(operatorName, forKey: .operatorName) }
if driverName != nil { try container.encode(driverName, forKey: .driverName) }
if companyName != nil { try container.encode(companyName, forKey: .companyName) }
if licensePlate != nil { try container.encode(licensePlate, forKey: .licensePlate) }
if orderNumber != nil { try container.encode(orderNumber, forKey: .orderNumber) }
if destinationDepot != nil { try container.encode(destinationDepot, forKey: .destinationDepot) }
if canClose != nil { try container.encode(canClose, forKey: .canClose) }
if canScan != nil { try container.encode(canScan, forKey: .canScan) }
if estimatedSeals != nil { try container.encode(estimatedSeals, forKey: .estimatedSeals) }
if scannedSeals != nil { try container.encode(scannedSeals, forKey: .scannedSeals) }
if status != nil { try container.encode(status, forKey: .status) }
}
}
public class ApiServiceResponse : IServiceResponse, Codable
{
/**
* Information about the response.
*/
// @ApiMember(Description="Information about the response.", IsRequired=true)
public var Description:String
/**
* Heading or summary of the response.
*/
// @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
public var heading:String
/**
* Did the intended operation for this response complete successfully?
*/
// @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
public var wasSuccessful:Bool
public var responseStatus:ResponseStatus
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /stock/orderDetail HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"orderNumber":"String","forOperator":false,"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"orderId":0,"operatorName":"String","driverName":"String","companyName":"String","licensePlate":"String","orderNumber":"String","destinationDepot":"String","canClose":false,"canScan":false,"estimatedSeals":0,"scannedSeals":0,"status":"String","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"}}}