| POST | /stock/seal/details |
|---|
import Foundation
import ServiceStack
public class SealDetailsRequest : ApiServiceRequest
{
public var sealId:Int
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case sealId
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
sealId = try container.decodeIfPresent(Int.self, forKey: .sealId)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if sealId != nil { try container.encode(sealId, forKey: .sealId) }
}
}
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 SealDetailsResponse : ApiServiceResponse
{
public var principalName:String
public var upliftNumber:String
public var operatorName:String
public var outletName:String
public var upliftDate:String
public var sealNumber:String
public var currentWeight:String
public var targetWeight:String
public var hasWeightIssue:Bool
public var bucketName:String
public var claimNumbers:[String] = []
public var joinedClaimNumbers:String
public var sealImages:[FileDataItem] = []
public var orderHistory:[SealOrderHistoryItem] = []
public var movementHistory:[SealMovementHistoryItem] = []
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case principalName
case upliftNumber
case operatorName
case outletName
case upliftDate
case sealNumber
case currentWeight
case targetWeight
case hasWeightIssue
case bucketName
case claimNumbers
case joinedClaimNumbers
case sealImages
case orderHistory
case movementHistory
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
principalName = try container.decodeIfPresent(String.self, forKey: .principalName)
upliftNumber = try container.decodeIfPresent(String.self, forKey: .upliftNumber)
operatorName = try container.decodeIfPresent(String.self, forKey: .operatorName)
outletName = try container.decodeIfPresent(String.self, forKey: .outletName)
upliftDate = try container.decodeIfPresent(String.self, forKey: .upliftDate)
sealNumber = try container.decodeIfPresent(String.self, forKey: .sealNumber)
currentWeight = try container.decodeIfPresent(String.self, forKey: .currentWeight)
targetWeight = try container.decodeIfPresent(String.self, forKey: .targetWeight)
hasWeightIssue = try container.decodeIfPresent(Bool.self, forKey: .hasWeightIssue)
bucketName = try container.decodeIfPresent(String.self, forKey: .bucketName)
claimNumbers = try container.decodeIfPresent([String].self, forKey: .claimNumbers) ?? []
joinedClaimNumbers = try container.decodeIfPresent(String.self, forKey: .joinedClaimNumbers)
sealImages = try container.decodeIfPresent([FileDataItem].self, forKey: .sealImages) ?? []
orderHistory = try container.decodeIfPresent([SealOrderHistoryItem].self, forKey: .orderHistory) ?? []
movementHistory = try container.decodeIfPresent([SealMovementHistoryItem].self, forKey: .movementHistory) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if principalName != nil { try container.encode(principalName, forKey: .principalName) }
if upliftNumber != nil { try container.encode(upliftNumber, forKey: .upliftNumber) }
if operatorName != nil { try container.encode(operatorName, forKey: .operatorName) }
if outletName != nil { try container.encode(outletName, forKey: .outletName) }
if upliftDate != nil { try container.encode(upliftDate, forKey: .upliftDate) }
if sealNumber != nil { try container.encode(sealNumber, forKey: .sealNumber) }
if currentWeight != nil { try container.encode(currentWeight, forKey: .currentWeight) }
if targetWeight != nil { try container.encode(targetWeight, forKey: .targetWeight) }
if hasWeightIssue != nil { try container.encode(hasWeightIssue, forKey: .hasWeightIssue) }
if bucketName != nil { try container.encode(bucketName, forKey: .bucketName) }
if claimNumbers.count > 0 { try container.encode(claimNumbers, forKey: .claimNumbers) }
if joinedClaimNumbers != nil { try container.encode(joinedClaimNumbers, forKey: .joinedClaimNumbers) }
if sealImages.count > 0 { try container.encode(sealImages, forKey: .sealImages) }
if orderHistory.count > 0 { try container.encode(orderHistory, forKey: .orderHistory) }
if movementHistory.count > 0 { try container.encode(movementHistory, forKey: .movementHistory) }
}
}
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 FileDataItem : Codable
{
public var fileName:String
public var fileUrl:String
public var thumbnailUrl:String
public var fileId:String
public var thumbnailId:String
public var linkId:Int
public var createdDate:Date
required public init(){}
}
public class SealOrderHistoryItem : Codable
{
public var createdDate:String
public var orderId:Int
public var orderNumber:String
public var orderRequestingOperator:String
required public init(){}
}
public class SealMovementHistoryItem : Codable
{
public var id:Int
public var eventDateTime:String
public var actionUserName:String
public var scannedDepotName:String
public var assignedBucketName:String
public var assignedOrderNumber:String
public var assignedOperatorName:String
public var orderDriverName:String
public var orderDriverCompanyName:String
public var orderDriverLicensePlate:String
public var targetWeight:Double
public var currentWeight:Double
public var hadWeightIssue:Bool
public var hadUnknownUplift:Bool
public var wasPaused:Bool
public var pausedWasAwaitingAuth:Bool
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/seal/details HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"sealId":0,"apiKey":"String","latitude":0,"longitude":0}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"principalName":"String","upliftNumber":"String","operatorName":"String","outletName":"String","upliftDate":"String","sealNumber":"String","currentWeight":"String","targetWeight":"String","hasWeightIssue":false,"bucketName":"String","claimNumbers":["String"],"joinedClaimNumbers":"String","sealImages":[{"fileName":"String","fileUrl":"String","thumbnailUrl":"String","linkId":0,"createdDate":"0001-01-01T00:00:00.0000000"}],"orderHistory":[{"createdDate":"String","orderId":0,"orderNumber":"String","orderRequestingOperator":"String"}],"movementHistory":[{"id":0,"eventDateTime":"String","actionUserName":"String","scannedDepotName":"String","assignedBucketName":"String","assignedOrderNumber":"String","assignedOperatorName":"String","orderDriverName":"String","orderDriverCompanyName":"String","orderDriverLicensePlate":"String","targetWeight":0,"currentWeight":0,"hadWeightIssue":false,"hadUnknownUplift":false,"wasPaused":false,"pausedWasAwaitingAuth":false}],"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"}}}