| POST | /stock/closeArrival/order |
|---|
import Foundation
import ServiceStack
public class CloseOrderArrival : ApiServiceRequest
{
public var orderNumber:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case orderNumber
}
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)
}
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) }
}
}
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 CloseOrderArrivalResponse : ApiServiceResponse
{
public var orderNumber:String
public var requestingOperatorName:String
public var operatorName:String
public var destinationDepot:String
public var driverName:String
public var companyName:String
public var licensePlate:String
public var orderId:Int
public var estimatedSeals:Int
public var operationSummary:StockOperationSummary
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case orderNumber
case requestingOperatorName
case operatorName
case destinationDepot
case driverName
case companyName
case licensePlate
case orderId
case estimatedSeals
case operationSummary
}
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)
requestingOperatorName = try container.decodeIfPresent(String.self, forKey: .requestingOperatorName)
operatorName = try container.decodeIfPresent(String.self, forKey: .operatorName)
destinationDepot = try container.decodeIfPresent(String.self, forKey: .destinationDepot)
driverName = try container.decodeIfPresent(String.self, forKey: .driverName)
companyName = try container.decodeIfPresent(String.self, forKey: .companyName)
licensePlate = try container.decodeIfPresent(String.self, forKey: .licensePlate)
orderId = try container.decodeIfPresent(Int.self, forKey: .orderId)
estimatedSeals = try container.decodeIfPresent(Int.self, forKey: .estimatedSeals)
operationSummary = try container.decodeIfPresent(StockOperationSummary.self, forKey: .operationSummary)
}
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 requestingOperatorName != nil { try container.encode(requestingOperatorName, forKey: .requestingOperatorName) }
if operatorName != nil { try container.encode(operatorName, forKey: .operatorName) }
if destinationDepot != nil { try container.encode(destinationDepot, forKey: .destinationDepot) }
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 orderId != nil { try container.encode(orderId, forKey: .orderId) }
if estimatedSeals != nil { try container.encode(estimatedSeals, forKey: .estimatedSeals) }
if operationSummary != nil { try container.encode(operationSummary, forKey: .operationSummary) }
}
}
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(){}
}
public class StockOperationSummary : Codable
{
public var scannedSeals:[StockOperationSealItem] = []
public var missingSeals:[StockOperationSealItem] = []
public var unknownUpliftSeals:[StockOperationSealItem] = []
public var pausedSeals:[StockOperationSealItem] = []
public var weightDifferenceSeals:[StockOperationSealItem] = []
public var hasScannedSeals:Bool
public var hasMissingSeals:Bool
public var hasWeightDifferenceSeals:Bool
public var hasUnknownUpliftSeals:Bool
public var hasPausedSeals:Bool
public var hasException:Bool
public var totalSealsCount:Int
public var totalSealsWeight:Double
required public init(){}
}
public class StockOperationSealItem : Codable
{
public var upliftNumber:String
public var sealNumber:String
public var principalName:String
public var currentWeight:Double
public var weightDifference:Double
public var operatorName:String
public var outletName:String
public var upliftDate:String
public var pausedAwaitingAuth:Bool
public var upliftPdfLink:String
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /stock/closeArrival/order HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
orderNumber: String,
apiKey: String,
latitude: 0,
longitude: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
orderNumber: String,
requestingOperatorName: String,
operatorName: String,
destinationDepot: String,
driverName: String,
companyName: String,
licensePlate: String,
orderId: 0,
estimatedSeals: 0,
operationSummary:
{
scannedSeals:
[
{
upliftNumber: String,
sealNumber: String,
principalName: String,
currentWeight: 0,
weightDifference: 0,
operatorName: String,
outletName: String,
upliftDate: String,
pausedAwaitingAuth: False,
upliftPdfLink: String
}
],
missingSeals:
[
{
upliftNumber: String,
sealNumber: String,
principalName: String,
currentWeight: 0,
weightDifference: 0,
operatorName: String,
outletName: String,
upliftDate: String,
pausedAwaitingAuth: False,
upliftPdfLink: String
}
],
unknownUpliftSeals:
[
{
upliftNumber: String,
sealNumber: String,
principalName: String,
currentWeight: 0,
weightDifference: 0,
operatorName: String,
outletName: String,
upliftDate: String,
pausedAwaitingAuth: False,
upliftPdfLink: String
}
],
pausedSeals:
[
{
upliftNumber: String,
sealNumber: String,
principalName: String,
currentWeight: 0,
weightDifference: 0,
operatorName: String,
outletName: String,
upliftDate: String,
pausedAwaitingAuth: False,
upliftPdfLink: String
}
],
weightDifferenceSeals:
[
{
upliftNumber: String,
sealNumber: String,
principalName: String,
currentWeight: 0,
weightDifference: 0,
operatorName: String,
outletName: String,
upliftDate: String,
pausedAwaitingAuth: False,
upliftPdfLink: String
}
],
hasScannedSeals: True,
hasMissingSeals: True,
hasWeightDifferenceSeals: True,
hasUnknownUpliftSeals: True,
hasPausedSeals: True,
hasException: True,
totalSealsCount: 4,
totalSealsWeight: 0
},
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
}
}
}