Antel API

<back to all web services

CloseOrderArrival

Requires Authentication
The following routes are available for this service:
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(){}
}


Swift CloseOrderArrival DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + 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
		}
	}
}