| 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<OrderDetail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
<ApiKey xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</ApiKey>
<Latitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Latitude>
<Longitude xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">0</Longitude>
<ForOperator>false</ForOperator>
<OrderNumber>String</OrderNumber>
</OrderDetail>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<OrderDetailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
<Description xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</Description>
<Heading xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</Heading>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.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.ServiceModel.Base">false</WasSuccessful>
<CanClose>false</CanClose>
<CanScan>false</CanScan>
<CompanyName>String</CompanyName>
<DestinationDepot>String</DestinationDepot>
<DriverName>String</DriverName>
<EstimatedSeals>0</EstimatedSeals>
<LicensePlate>String</LicensePlate>
<OperatorName>String</OperatorName>
<OrderId>0</OrderId>
<OrderNumber>String</OrderNumber>
<ScannedSeals>0</ScannedSeals>
<Status>String</Status>
</OrderDetailResponse>