| 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 .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/seal/details HTTP/1.1
Host: antel.api.dev.86degrees.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<SealDetailsRequest 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>
<SealId>0</SealId>
</SealDetailsRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<SealDetailsResponse 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>
<BucketName>String</BucketName>
<ClaimNumbers xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>String</d2p1:string>
</ClaimNumbers>
<CurrentWeight>String</CurrentWeight>
<HasWeightIssue>false</HasWeightIssue>
<MovementHistory>
<SealMovementHistoryItem>
<ActionUserName>String</ActionUserName>
<AssignedBucketName>String</AssignedBucketName>
<AssignedOperatorName>String</AssignedOperatorName>
<AssignedOrderNumber>String</AssignedOrderNumber>
<CurrentWeight>0</CurrentWeight>
<EventDateTime>String</EventDateTime>
<HadUnknownUplift>false</HadUnknownUplift>
<HadWeightIssue>false</HadWeightIssue>
<Id>0</Id>
<OrderDriverCompanyName>String</OrderDriverCompanyName>
<OrderDriverLicensePlate>String</OrderDriverLicensePlate>
<OrderDriverName>String</OrderDriverName>
<PausedWasAwaitingAuth>false</PausedWasAwaitingAuth>
<ScannedDepotName>String</ScannedDepotName>
<TargetWeight>0</TargetWeight>
<WasPaused>false</WasPaused>
</SealMovementHistoryItem>
</MovementHistory>
<OperatorName>String</OperatorName>
<OrderHistory>
<SealOrderHistoryItem>
<CreatedDate>String</CreatedDate>
<OrderId>0</OrderId>
<OrderNumber>String</OrderNumber>
<OrderRequestingOperator>String</OrderRequestingOperator>
</SealOrderHistoryItem>
</OrderHistory>
<OutletName>String</OutletName>
<PrincipalName>String</PrincipalName>
<SealImages xmlns:d2p1="http://schemas.datacontract.org/2004/07/CommonService.Api.Models.Base">
<d2p1:FileDataItem>
<d2p1:CreatedDate>0001-01-01T00:00:00</d2p1:CreatedDate>
<d2p1:FileId>00000000-0000-0000-0000-000000000000</d2p1:FileId>
<d2p1:FileName>String</d2p1:FileName>
<d2p1:FileUrl>String</d2p1:FileUrl>
<d2p1:LinkId>0</d2p1:LinkId>
<d2p1:ThumbnailId>00000000-0000-0000-0000-000000000000</d2p1:ThumbnailId>
<d2p1:ThumbnailUrl>String</d2p1:ThumbnailUrl>
</d2p1:FileDataItem>
</SealImages>
<SealNumber>String</SealNumber>
<TargetWeight>String</TargetWeight>
<UpliftDate>String</UpliftDate>
<UpliftNumber>String</UpliftNumber>
</SealDetailsResponse>